Articles

GraalVM – Tour d’horizon

Introduction GraalVM est une machine virtuelle universelle développée par Oracle. Sortie en 2018, elle n’en reste pas moins dans une phase de développement très active et n’a d’ailleurs connu sa première version LTS (Long-Term Support) que fin 2019. Cette machine virtuelle comporte deux principales particularités : elle est polyglotte et supporte ainsi plusieurs langages en...

Publié par Kevin Archet, Lionel Guez

Il y a 1 an

Publié par Cécile Dreyfus

Il y a 1 an

Glide for Android : comprendre et gérer le cache des images

Glide: Kezako Glide est une bibliothèque de chargement d’images pour Android. Il s’agit de l’un des outils les plus répandus sur le marché avec Picasso, Fresco et Coil qui commence à gagner en visibilité. L’intérêt de Glide est de pouvoir afficher assez facilement des images et GIFs, tout en utilisant si besoin une couche réseau...

Il y a 1 an

Attaquer des modèles de machine learning : les autres menaces et les contre-mesures – PARTIE 3

Dans les articles précédents nous avons présenté la problématique de la vulnérabilité des modèles de machine learning et nous avons présenté la confidentialité différentielle et le membership inference attack. Comme ce type d’attaque n’est pas le seul, nous allons en détailler une autre : le secret revealer[1]. Elle procède par inversion du modèle cible (de...

Publié par Axel Aguilar

Il y a 1 an

Une Definition Of Ready (DOR) ou une Definition of Done (DOD) en 30 minutes

Votre équipe se plaint régulièrement que l’US dans le Sprint n’est pas prête ? Vous assistez régulièrement à des redéfinitions des US en cours de Sprint ? Vous voulez remettre de l’ordre là-dedans ? Il est temps de mettre en place votre Definition Of Ready (DOR) ! Ce qui est cool, c’est que l’exercice est valable aussi pour...

Il y a 1 an

Comment nous avons migré notre frontend legacy vers NextJS

Article publié dans le cadre de la conférence FrontSide, dont leboncoin est partenaire. Au fil des années, les besoins et les attentes des internautes ont évolué. Aujourd’hui, nous attendons un site web très réactif, beau et attrayant. « Ça marche » est loin d’être suffisant. Techniquement, leboncoin.fr ne ressemble en rien à l’ancienne version que nous avons...

Publié par Yoann Sevi

Il y a 1 an

Real-Time Data Processing : Google Cloud Functions & Firebase

Aujourd’hui, la transformation numérique est plus présente, voire même indispensable afin de pouvoir se créer une place dans le futur qui nous attend. Nous y faisons déjà face et la nécessité de passer à des architectures Event-Driven est grandissante. Certains outils de cloud providers tel que GCP, AWS ou Azure peuvent alors nous aider, afin...

Il y a 1 an

Attaquer des modèles de machine learning : la confidentialité différentielle – PARTIE 2

Dans l’article précédent, nous avons montré ce que signifie attaquer un modèle, les différents types d’attaques et les concepts nécessaires. L’objectif de cet article est de se concentrer sur la confidentialité différentielle : une technique pour se protéger contre les membership inference attacks, au moins en théorie. Pour rappel, les membership inference attacks sont des attaques ayant...

Publié par Simone Civetta

Il y a 1 an

SDUI ❤️ SwiftUI

Dans une ou plusieurs de vos applications mobiles vous avez probablement eu besoin que l’interface utilisateur de vos écrans soit définie de façon précise par votre back-end. Ce dernier se chargerait de définir quels composants (boutons, libellés, mais aussi barre de navigation) s’afficheraient et comment (couleurs, styles et positionnement) ; un simple changement côté serveur permettrait de déployer immédiatement...

Publié par Daniel Chesters

Il y a 1 an

Pépite : activer les fonctionnalités preview de Java dans un projet Maven

Introduction Dans le cadre de mes essais des nouvelles fonctionnalités de Java (tel que les records ou les classes scellées), il m’a été nécessaire de devoir activer les fonctionnalités disponibles en avant-première via l’option --enable-preview lors de la compilation et de l’exécution. Le but de cet article est de montrer comment il est possible d’avoir...

Publié par Ibrahima Fall

Il y a 1 an

Découvrir la programmation fonctionnelle #5 | Typeclass

Introduction En tant que développeur, nous utilisons souvent pas mal de librairies externes qui prévoient un large panel de cas d’usages. Malheureusement, aussi large soit le panel de cas d’usage prévu, nous nous retrouvons souvent avec des cas spécifiques propres à nos applications. Afin de pallier ce problème, l’alternative est de développer des classes “chapeaux”...

Publié par Jaromir Brambor

Il y a 1 an

Nexus™ : Je me présente, je m’appelle Nexus…

Nexus™ est un framework (cadre) d’agilité à petite / moyenne échelle venant de Scrum.org. Pourquoi devrait-il nous intéresser ? Sa force réside dans sa simplicité intuitive qui vient du parallèle à Scrum. Avec Nexus, pas besoin de grandes préparations durant des jours ou des semaines pour son lancement – l’introduction officielle tient sur 4 pages et un briefing des équipes d’une...

Publié par Axel Aguilar

Il y a 1 an

Mesurer la qualité de sa réunion ou de son atelier

Il arrive toujours un moment quand on travaille avec les équipes de devs où l’on se retrouve avec l’affirmation « J’ai trop de réunions, je n’arrive pas à avancer ». Cette phrase allume toujours un petit drapeau rouge, ça peut vouloir dire qu’il y en a effectivement trop et qu’il va falloir dégraisser, ça peut...

Publié par Ivan Beauvais

Il y a 1 an

Terraform sur Google Cloud Platform

On ne remet plus en question aujourd’hui la nécessité de déployer son infrastructure de manière automatisée. Sur Google Cloud Platform plusieurs solutions sont possibles : Le client en ligne de commande gcloud, mais déployer toute son infrastructure en shell n’est clairement pas une solution Deployment Manager, le service fourni sur GCP pour faire de l’infra as code...

Publié par Thanh Vu

Il y a 1 an

Long Short-Term Memory (LSTM) Networks for Time Series Forecasting

Introduction Forecasting appears to be the most applied quantitative technique to time series. For example, one of the principal tasks of central banks nowadays is to accurately predict inflation rate. Necessary measures are thereafter taken to keep the latter within acceptable levels, allowing a smooth run of the economy. Most commonly, prediction of a given...

Publié par Romain Ardiet

Il y a 1 an

Packaging Python : déploiement et hébergement

Nous avons vu dans un premier article consacré à setup.py et setuptools comment générer des archives distribuables de notre bibliothèque, nous allons voir maintenant comment les publier sur https://pypi.org/, le dépôt central des bibliothèques Python. La procédure pourra s’appliquer sur n’importe quel hébergement de paquets Python, y compris privé, j’y reviendrai par la suite. Twine Finalisation...

Publié par Jaromir Brambor

Il y a 1 an

Le Burn-down n’est pas fun ? Forgez votre équipe et passez au bocal à balles !

Cet article vous présente un REx, un retour d’expérience sur une technique de serious game, un jeu collectif éducatif (et fun), une technique simple de Team building quotidien de votre équipe. Pourquoi visualiser en jouant (sérieusement) ? Une équipe autonome est une équipe qui sait identifier ses problèmes et agir toute seule en conséquence, y compris sur...

Publié par Daria Nguyen

Il y a 1 an

Comment empêcher unittest.mock de se moquer de vous

Cet article fournit un guide d’introduction simple à la bibliothèque unittest.mock et illustre quelques cas d’utilisation de base avec du code ainsi que quelques règles importantes sur l’utilisation des “mocks“ dans les tests unitaires. Commençons par quelques définitions basiques : Qu’est-ce qu’un mock et à quoi peut-il servir ? Un mock (un mot anglais qui...

Publié par Daniel Chesters

Il y a 1 an

Introduction au Sealed Classes de Java 15

Introduction Le but de cet article est de présenter les sealed classes (que je nommerais dans la suite de l’article classes scellées) prévu dans Java 15. Pour information, cette fonctionnalité est disponible en avant-première, ce qui nécessite d’utiliser l’option --enable-preview, et des évolutions majeures peuvent survenir dans les prochaines versions de Java. De plus, cette...

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.