Résultats

Publié par Kevin Archet, Lionel Guez

Il y a 3 semaines

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 Daniel Chesters

Il y a 2 mois

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 2 mois

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 Romain Ardiet

Il y a 2 mois

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 Daniel Chesters

Il y a 2 mois

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...

Publié par Yassir Sennoun

Il y a 4 mois

Pourquoi et comment développer sa plateforme IoT avec l’approche Cloud Native ?

Une plateforme IoT est caractérisée par des problématiques de gestion d’équipements hétérogènes, de traitements et de stockage de grandes masses de données. Par conséquent, il est nécessaire de concevoir une plateforme à partir d’une architecture évolutive et flexible. Certaines entreprises optent pour une architecture monolithique qui n’est pas adaptée aux problématiques précédentes. Cet article vous...

Publié par Édouard Siha

Il y a 4 mois

Bien représenter le temps en Java

Représenter la mesure physique du temps dans du logiciel, quel que soit le langage de programmation, est souvent mal vécu par les développeurs. Les conversions entre UTC et l’heure locale sont sources de douleur, d’incompréhension et de problèmes plus obscurs les uns que les autres. Il en va de même pour les tests unitaires faisant...

Il y a 5 mois

Asynchronisme en Java : passé, présent et future de la plateforme (partie 2)

Dans mon article pr écédent, nous avons découvert les principales fonctionnalités proposées par Java depuis la première version du langage jusqu’à la version 7. Focalisons-nous sur des versions récentes de Java : Java 8 : la programmation fonctionnelle fait « coucou » Comme vous le savez, la version 8 a généré une révolution au niveau du langage...

Publié par Yassir Sennoun

Il y a 5 mois

Les fondamentaux de Kubernetes en 5 minutes

Kubernetes est une des technologies les plus en vogue en ce moment. À l‘origine projet Open Source de Google, son succès est tel qu’il est désormais proposé en tant que service par tous les fournisseurs de cloud. Même s’il y a une pléthore d’articles et de vidéos sur ce sujet, il n’est pas simple de...

Publié par Benjamin Lacroix

Il y a 6 mois

Utiliser Terraform pour configurer l’accès de GKE à Cloud SQL

Nous avons comme bonne pratique d’utiliser de l’infra-as-code, notamment via Terraform lorsqu’il s’agit de GCP. Via une seule commande l’infrastructure complète du projet est créée, détruite ou mise à jour. Voyons dans cet article comment créer un cluster GKE, une base de données Cloud SQL Postgres et comment sécuriser l’accès de nos applications à l’instance...

Publié par Romain Ardiet

Il y a 6 mois

Packaging Python : setup.py et setuptools

Bien que Python soit aujourd’hui extrêmement populaire il y a une facette de celui-ci qui semble toujours peu maitrisée par les développeurs qui l’utilisent : le packaging de code. Hors le packaging est une étape importante lorsque l’on veut partager et réutiliser du code sans avoir à le dupliquer dans chacun de nos projets. Nous...

Publié par Daniel Chesters

Il y a 6 mois

Introduction au Record de Java 14

Avertissement Cette fonctionnalité est disponible en avant-première, ce qui nécessite d’utiliser l’option --enable-preview et que des évolutions majeures peuvent survenir dans les prochaines versions de Java. Qu’est-ce que c’est un record ? the state, the whole state, and nothing but the state Un record est une forme restrictive de classe qui à pour but de...

Publié par Thomas Champion

Il y a 8 mois

Comment garder son projet à jour quand le dépôt Git est inaccessible

Introduction C’est notre projet La solution magique Mettre à jour son dépôt local Pousser une branche de feature sur le dépôt distant Travailler de manière collaborative Conclusion Introduction En ces jours de confinement, la majorité des développeurs a recours au télétravail. Fort heureusement, de nombreuses solutions en ligne existent pour versionner, construire et déployer les...

Il y a 8 mois

Asynchronisme en Java : passé, présent et future de la plateforme (partie 1)

Tous les langages de programmation proposent des solutions pour gérer l’asynchronisme et le langage Java n’est pas une Exception. Au fil des années, les architectes du langage ont ajouté des nouveaux outils et frameworks pour permettre aux développeurs, comme nous, de mieux exploiter le niveau de parallélisme des processeurs modernes. Dans cet article, je vous...

Publié par Simone Civetta

Il y a 8 mois

Platform-Specific implementations in Kotlin Multiplatform

Photo by Devon Rogers on Unsplash In our last article, we covered how to structure your Kotlin project in order to support the Multiplatform features. However, in order to share portions of code between platforms and to define platform-specific implementations, we need to leverage some additional configurations and some interesting language features which we’re going to show in...

Il y a 8 mois

TechAway – Découvrez nos BBL 100% remote !

Ça y est, nous sommes confinés. Pour la plupart d’entre nous, c’est télétravail obligatoire et distanciation sociale volontaire. Et les nouvelles peu réjouissantes continuent à s’empiler : annulation du Knowledge Exchange Day d’avril, suspensions et annulations de mission en pagaille (et donc intercontrat forcé…). Pour nous, Sapients, qui sommes friands de partage, d’échanges permanents, l’idée...

Il y a 8 mois

Découvrez l’envers du décor de XebiKart, la keynote de la XebiCon

Lors de la Keynote d’ouverture de la XebiCon’19, nous vous avons présenté la société fictive 4Wheels, constructeur de voitures innovantes. À travers son histoire de 1989 à 2049, nous vous parlons Réalité Augmentée, DataViz, Intelligence artificielle, product management, Agilité, Kubernetes et bien d’autres sujets.   Pour découvrir l’envers du décors de cette keynote, et appréhender...

Publié par Stéphane Francel

Il y a 9 mois

Implémenter et consommer les Streams « Readable » et « Writable » de Node.js

Les Streams sont vraiment au cœur de Node.js ! Si vous avez touché à Node.js, vous avez très certainement manipulé des Streams, sans forcément vous en rendre compte… À titre d’exemples, HTTP IncomingMessage/ServerResponse, Net Socket, Process stdin/sdtout, Zlib et Crypto, implémentent tous l’interface Streams. Si vous souhaitez mettre dans votre CV « Développeur Node.js », vous ne...

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.