David Worms a fondé la société Adaltas en 2004 avec l’objectif de partager son savoir et sa passion de l’innovation dans l’écosystème Open Source. Depuis 2010, il accompagne ses clients dans la définition et la mise en place d’infrastructures Big Data distribuées, sécurisées et hautement disponibles.
C’est un contributeur influent de la communauté Node.js et il a récemment travaillé avec Kubernetes.
Articles publiés
JS monorepos en prod 4: tests unitaires avec Mocha et Should.js
Catégories : DevOps & SRE, Front End | Tags : Monorepo, Node.js
Les tests unitaires sont cruciaux pour tous les projets à long terme et permettent d’isoler des fonctionnalités de votre code en unités testables. En effet, l’objectif principal des tests unitaires…
By WORMS David
25 févr. 2021
JS monorepos en prod 3 : validation de commits et generation du changelog
Catégories : DevOps & SRE, Front End | Tags : CI/CD, Git, JavaScript, Tests unitaires, Monorepo, Node.js, Versions et évolutions
Conventional Commits introduit un format structuré pour les message de commit. Il standardise les messages entre tous les contributeurs. Cela les rend plus lisibles et plus faciles à automatiser. Il…
By WORMS David
2 févr. 2021
JS monorepos en prod 2 : gestion des versions et de la publication
Catégories : DevOps & SRE, Front End | Tags : CI/CD, Git, JavaScript, Tests unitaires, Monorepo, Node.js, Versions et évolutions
Un des grands avantages d’un monorepo est de maintenir des versions cohérentes entre les packages et d’automatiser la création des versions et la publication des packages. Cet article couvre les…
By WORMS David
11 janv. 2021
JS monorepos en prod 1 : initialization du projet
Catégories : DevOps & SRE, Front End | Tags : Git, JavaScript, Monorepo, Node.js, Versions et évolutions
Chaque projet commence par l’étape d’initialisation. Lorsque votre projet est composé de plusieurs sous-projets, il est tentant de créer un dépôt Git par sous-projet. Dans Node.js, un sous-projet se…
By WORMS David
5 janv. 2021
OAuth2 et OpenID Connect pour les microservices et les applications publiques (Partie 2)
Catégories : Orchestration de conteneurs, Cybersécurité | Tags : CNCF, JSON, LDAP, Micro Services, OAuth2, OpenID Connect
En utilisant OAuth2 et OpenID Connect, il est important de comprendre comment se déroule le flux d’autorisation, qui appelle l’Authorization Server et comment stocker les tokens. De plus, les…
By WORMS David
20 nov. 2020
OAuth2 et OpenID Connect, une introduction douce et fonctionnelle (Part 1)
Catégories : Orchestration de conteneurs, Cybersécurité | Tags : CNCF, Go, JAMstack, LDAP, Kubernetes, OpenID Connect
La compréhension d’OAuth2, d’OpenID et d’OpenID Connect (OIDC), comment ils sont liés, comment les communications sont établies, comment s’architecture votre application et que faire des différents…
By WORMS David
17 nov. 2020
Architecture de plugins en JavaScript et Node.js avec Plug and Play
Catégories : Front End, Node.js | Tags : Asynchrone, DevOps, JavaScript, Programmation, Agile, Open source, Versions et évolutions
Plug and Play aide les auteurs de bibliothèques et d’applications à introduire une architecture de plugins dans leur code. Il simplifie l’exécution de code complexe avec des points d’interception bien…
By WORMS David
28 août 2020
Cloudera CDP et migration Cloud de votre Data Warehouse
Catégories : Big Data, Cloud computing | Tags : Cloudera, Data Hub, Lac de données, Entrepôt de données (Data Warehouse), Azure
Alors que l’un de nos clients anticipe un passage vers le Cloud et avec l’annonce récente de la disponibilité de Cloudera CDP mi-septembre lors de la conférence Strata, il semble que le moment soit…
By WORMS David
16 déc. 2019
Stage Data Science & Data Engineer - ML en production et ingestion streaming
Catégories : Data Engineering, Data Science | Tags : Flink, Kafka, Spark, DevOps, Hadoop, HBase, Kubernetes, Python
Contexte L’évolution exponentielle des données a bouleversé l’industrie en redéfinissant les méthodes de stockages, de traitement et d’acheminement des données. Maitriser ces méthodes facilite…
By WORMS David
26 nov. 2019
Stage InfraOps & DevOps - construction d'une offre PaaS Big Data & Kubernetes
Catégories : Big Data, Orchestration de conteneurs | Tags : Kafka, Spark, DevOps, LXD, NoSQL, Hadoop, Ceph, Kubernetes
Contexte L’acquisition d’un cluster à forte capacité répond à la volonté d’Adaltas de construire une offre de type PAAS pour disposer et mettre à disposition des plateformes de Big Data et d…
By WORMS David
26 nov. 2019
Authentification Kerberos et Spnego sur Windows avec Firefox
Catégories : Cybersécurité | Tags : Firefox, FreeIPA, HTTP, Kerberos
Dans la mythologie grecque, Kerberos, aussi appelé Cerbère, garde les portes du monde souterrain pour empêcher les morts de partir. Il est communément décrit comme un chien à trois têtes ayant une…
By WORMS David
4 nov. 2019
Notes sur le nouveau modèle de licences Open Source de Cloudera
Catégories : Big Data | Tags : CDSW, Licence, Cloudera Manager, Open source
Suite à la publication de sa stratégie de licences Open Source le 10 juillet 2019 dans un article intitulé “notre engagement envers les logiciels Open Source”, Cloudera a diffusé un webinaire hier le…
By WORMS David
25 oct. 2019
Innovation, culture projet vs culture produit en Data Science
Catégories : Data Science, Gouvernance des données | Tags : DevOps, Agile, Scrum
La Data Science porte en elle le métier de demain. Elle est étroitement liée à la compréhension du métier, des comportements et de l’intelligence qu’on tirera des données existantes. Les enjeux sont à…
By WORMS David
8 oct. 2019
Gatbsy.js, React et GraphQL pour nos documentations
Catégories : Adaltas Summit 2018, Front End | Tags : API, Gatsby, GraphQL, HTTP, JAMstack, JavaScript, Markdown, React.js, SEO, Node.js
Au cours des derniers mois, j’ai consacrer un peu de temps à la ré-écritures de quelques sites Web pour nos projets Open Source. Ces sites incluent le projet CSV de Node.js, le client HBase pour Node…
By WORMS David
1 avr. 2019
Les principaux avantages de GraphQL comme alternative au REST
Catégories : Front End | Tags : API, GraphQL, gRPC, JSON, REST, Node.js, Registre
GraphQL est basé sur une idée simple, déplacer l’assemblage d’une requête du serveur vers le client. Ce dernier voit l’ensemble du schéma fortement typé au lieu d’une multitude de services REST et…
By WORMS David
27 nov. 2018
Node.js CSV version 4 - réécriture et performances
Catégories : Node.js | Tags : CLI, CSV, Data Engineering, Refactoring, Versions et évolutions
Nous publions aujourd’hui une nouvelle version majeure du projet CSV Parser pour Node.js. La version 4 est une réécriture complète du projet axée sur la performance. Il comporte également de nouvelles…
By WORMS David
19 nov. 2018
Gestion des identités utilisateurs sur clusters Big Data
Catégories : Cybersécurité, Gouvernance des données | Tags : Ansible, FreeIPA, Kerberos, LDAP, Active Directory, IAM
La sécurisation d’un cluster Big Data implique l’intégration ou le déploiement de services spécifiques pour stocker les utilisateurs. Certains utilisateurs sont spécifiques à un cluster lorsque d…
By WORMS David
8 nov. 2018
Une semaine à discuter techno isolés dans un riad Marocain
Catégories : Adaltas Summit 2018, Formation | Tags : Flink, CDSW, Deep Learning, Gatsby, React.js, Hadoop, Knox, Data Science, Kubernetes, Node.js
Adaltas organise sa première conférence entre les 22 et 26 Octobre. Au programme de ces 5 jours de conférence : discuter de technologie dans l’un des plus beau riad de Marrakech. Mélanger l’utile à l…
By WORMS David
14 oct. 2018
Déploiement d'un cluster Flink sécurisé sur Kubernetes
Catégories : Big Data | Tags : Flink, HDFS, Kafka, Elasticsearch, Chiffrement, Kerberos, SSL/TLS
Le déploiement sécurisée d’une application Flink dans Kubernetes, entraine deux options. En supposant que votre Kubernetes est sécurisé, vous pouvez compter sur la plateforme sous-jacente ou utiliser…
By WORMS David
8 oct. 2018
Ingestion de Data Lake, quelques bonnes pratiques
Catégories : Big Data, Data Engineering | Tags : Avro, Hive, NiFi, ORC, Spark, Gouvernance des données, HDF, Exploitation, Protocol Buffers, Lac de données, Format de fichier, Registre, Schéma
La création d’un Data Lake demande de la rigueur et de l’expérience. Voici plusieurs bonnes pratiques autour de l’ingestion des données en batch et en flux continu que nous recommandons et mettons en…
By WORMS David
18 juin 2018
Questions essentielles sur les base de données Time Series
Catégories : Big Data | Tags : Druid, Hive, ORC, Elasticsearch, Graphana, IOT, HBase, Data Science
Aujourd’hui, le gros des données Big Data est de nature temporelle. On le constate dans les médias comme chez nos clients : compteurs intelligents, transactions bancaires, usines intelligentes,…
By WORMS David
19 mars 2018
Notes sur Katacoda relatives à l'orchestrateur de conteneur Kubernetes
Catégories : Orchestration de conteneurs, Formation | Tags : Helm, Ingress, Kubeadm, CNI, Micro Services, Minikube, Kubernetes
Il y a quelques semaines, j’ai consacré deux jours pour suivre les cours relatifs à la solution d’orchestration de *container Kubernetes mis à disposition sur la plateforme Katacoda. Je partage ces…
By WORMS David
8 janv. 2018
Micro Services
Catégories : Cloud computing, Orchestration de conteneurs, Open Source Summit Europe 2017 | Tags : Mesos, CNCF, DNS, Chiffrement, gRPC, Istio, Linkerd, Micro Services, MITM, Proxy, Service Mesh, Kubernetes, SPOF, SSL/TLS
Historiquement, les applications étaient monolithiques et nous pouvions utiliser une adresse IP pour accéder à un service. Avec les machines virtuelles (VM), plusieurs hôtes commencent à apparaître…
By WORMS David
14 nov. 2017
MariaDB integration with Hadoop
Catégories : Infrastructure | Tags : Hive, Base de données, HA, MariaDB, Hadoop
Lors d’ateliers menés avec l’un de nos clients, Adaltas a levé un risque potentiel sur la stratégie utilisée pour la mise en haute disponibilité (HA) de MariaDB. Le client ayant sélectionné la…
By WORMS David
31 juil. 2017
Synchronisation Oracle vers Hadoop avec un CDC
Catégories : Data Engineering | Tags : Hive, Sqoop, CDC, GoldenGate, Oracle, Entrepôt de données (Data Warehouse)
Cette note résulte d’une discussion autour de la synchronisation de données écrites dans une base de données à destination d’un entrepôt stocké dans Hadoop. Merci à Claude Daub de GFI qui la rédigea…
By WORMS David
13 juil. 2017
Hive Metastore HA avec DBTokenStore : Failed to initialize master key
Catégories : Big Data, DevOps & SRE | Tags : Hive, Bug, Infrastructure
Cette article décrit ma petite aventure autour d’une erreur au démarrage du Hive Metastore. Elle se reproduit dans un environnement précis qui est celui d’une installation sécurisée, entendre avec…
By WORMS David
21 juil. 2016
EclairJS - Un peu de Spark dans les Web Apps
Catégories : Data Engineering, Front End | Tags : Spark, JavaScript, Jupyter
Présentation de David Fallside, IBM. Les images sont issues des slides de présentation. Introduction Le développement d’applications Web est passé d’un environnement Java vers des environnements…
By WORMS David
17 juil. 2016
Hive, Calcite et Druid
Catégories : Big Data | Tags : Analytique, Druid, Hive, Base de données, Hadoop
BI/OLAP est nécessaire à la visualisation interactive de flux de données : Évènements issus d’enchères en temps réel Flux d’activité utilisateur Log de téléphonie Suivi du trafic réseau Évènements de…
By WORMS David
14 juil. 2016
L'offre Red Hat Storage et son intégration avec Hadoop
Catégories : Big Data | Tags : HDFS, GlusterFS, Red Hat, Hadoop, Storage
J’ai eu l’occasion d’être introduit à Red Hat Storage et Gluster lors d’une présentation menée conjointement par Red Hat France et la société StartX. J’ai ici recompilé mes notes, du moins…
By WORMS David
3 juil. 2015
Un middleware pour connect simple pour transpiler des fichiers CoffeeScript
Catégories : Hack, Node.js | Tags : CoffeeScript, Tools, Node.js
Ce nouveau module appelé connect-coffee-script est un middleware Connect utilisé pour servir les fichiers JavaScript écrits en CoffeeScript. Ce middleware doit être utilisé par connect ou tout…
By WORMS David
4 juil. 2014
Diviser des fichiers HDFS en plusieurs tables Hive
Catégories : Data Engineering | Tags : Flume, HDFS, Hive, Oozie, Pig, SQL
Je vais montrer comment scinder fichier CSV stocké dans HDFS en plusieurs tables Hive en fonction du contenu de chaque enregistrement. Le contexte est simple. Nous utilisons Flume pour collecter les…
By WORMS David
15 sept. 2013
Traverser des arrays en mode asynchronisé dans Node.js avec Each
Catégories : Node.js | Tags : Asynchrone, CoffeeScript, JavaScript, Versions et évolutions
Les librairies en Node.js permettant de gérer et simplifier les appels asynchrones sont légions. Voici le genre de librairies que chacun écrit pour lui et éventuellement publie. Elles ont pour but de…
By WORMS David
29 juil. 2012
Node CSV version 0.2.1
Catégories : Node.js | Tags : CoffeeScript, CSV, Streaming, Versions et évolutions
Faisant suite à l’annonce de la version 0.2.0 du parser CSV pour Node.js début octobre, aujourd’hui sort la nouvelle version 0.2.1. Il s’agit essentiellement d’une distribution corrigeant des bugs…
By WORMS David
26 juil. 2012
E-commerce cigarettes électroniques : impressions sur Prestashop
Catégories : Tech Radar | Tags : HTML, Java, Node.js
L’année dernière, il m’a fallu choisir et intégrer une solution e-commerce pour le site de vente de cigarettes électroniques CigarHit. Etant donné que ma dernière intégration d’un site e-commerce…
By WORMS David
23 juil. 2012
Stockage HDFS et Hive - comparaison des formats de fichiers et compressions
Catégories : Data Engineering | Tags : Analytique, Hive, ORC, Parquet, Format de fichier
Il y a quelques jours, nous avons conduit un test dans le but de comparer différents format de fichiers et méthodes de compression disponibles dans Hive. Parmi ces formats, certains sont natifs à HDFS…
By WORMS David
15 juil. 2012
Installation de PostgreSQL et Madlib sur OSX
Catégories : Data Science | Tags : Base de données, Greenplum, Statistiques, PostgreSQL, SQL
Nous couvrons l’installation et l’utilisation de PostgreSQL et de MADlib sur OSX et Ubuntu. Les instructions pour les autres environnements doivent être similaires. PostgreSQL est une base de données…
By WORMS David
7 juil. 2012
Notes sur le rapport Gallois par une entreprise informatique
Catégories : Tech Radar | Tags : Big Data, Gouvernance des données, Loi
Dans le cadre de la lecture du rapport Gallois rendu publique hier, j’ai conservé quelques notes qui après recompilation sont publiées en ligne. On peut certes regretter le manque de mention sur le…
By WORMS David
6 juil. 2012
Node CSV version 0.2 incluant le support de l'API streaming
Catégories : Node.js | Tags : CSV, Markdown, Streaming, Node.js
Annoncé en Août, le parser CSV pour Node.js dans sa version 0.2 est sorti hier. Cette version est une mise à jour majeure dans le sens ou elle aligne l’API de la librairie avec les meilleures…
By WORMS David
3 juil. 2012
Deux Hive UDAF pour convertir une aggregation vers une map
Catégories : Data Engineering | Tags : Hive, Java, HBase, Format de fichier
Je publie deux nouvelles fonctions UDAF pour Hive pour aider avec les map dans Apache Hive. Le code source est disponible sur GitHub dans deux classes Java : “UDAFToMap” et “UDAFToOrderedMap” ou vous…
By WORMS David
6 mars 2012
Un regard neuf sur les tests de projets Node.js : Mocha, Should et Travis
Catégories : DevOps & SRE, Node.js | Tags : DevOps, JavaScript, Mocha, Tests unitaires, Node.js
Suite à une demande, l’article ci-dessous est la traduction d’un précédent publié le 19 février 2012. Aujourd’hui, j’ai finalement décidé de passer un peu de temps autour de Travis. Cette petite image…
By WORMS David
3 mars 2012
Java versus JS, citation de la mailing list de Node.js
Catégories : Node.js | Tags : Java, JavaScript, Node.js
Je viens de lire celui-ci sur la mailing list de Node.js. J’ai trouvé l’échange pertinent, suffisamment pour le partager avec ceux qui n’auraient pas souscrit a la mailing list : Tout d’abord Lothar…
By WORMS David
23 févr. 2012
Coffee script, comment mettre la main sur cette ligne ?
Catégories : Hack, Node.js | Tags : CoffeeScript, Debug, JavaScript, Node.js
Mise à jour du 12 avril 2012 : Pull Request ajoutant un un mappage aux rapports d’erreur CoffeeScript Il est probable que, si vous codez en CoffeeScript, vous vous retrouvez souvent face à une…
By WORMS David
15 févr. 2012
Lancement de Mecano, fonctions pour le déploiement de systèmes
Catégories : DevOps & SRE, Node.js | Tags : Automation, CoffeeScript, Infrastructure, JavaScript, Open source
Mis à jour en juillet 2016, Mecano est désormais renommé Nikita. Nous publions Node Mecano sur GitHub, qui regroupent des fonctions communes utilisées lors du déploiement de systèmes. L’idée était de…
By WORMS David
12 févr. 2012
Node CSV parser à la rescousse
Catégories : Hack | Tags : Bash, CSV, Hack, Node.js
Vendredi dernier, une heure avant la fermeture des portes de mon client pour le week-end, un collègue est venu me voir. Il vient juste de finir d’exporter 9 fichiers CSV à partir d’une base de données…
By WORMS David
13 déc. 2011
Node.js intégré à la plateforme cloud Microsoft Azure
Catégories : Cloud computing, Tech Radar | Tags : Linux, Cloud, Azure, Node.js
Node est désormais un citoyen de premier ordre dans l’environnement cloud de Microsoft Azure au côté de .Net, Java et PHP. Cette intégration est la conséquence logique de l’implication de Microsoft…
By WORMS David
11 déc. 2011
Chef : configuration et deploiement automatisé de Clusters
Catégories : DevOps & SRE, Infrastructure | Tags : Automation, Chef, Enseignement et tutorial, Puppet, Hadoop, Déploiement
L’installation d’un cluster de plusieurs machines est consommateur de temps. La même procédure de mise en place des logiciels et de leurs paramétrages doit être répétée à l’identique. Au cours du…
By WORMS David
10 déc. 2010
Installation d'Hadoop et d'HBase sous OSX en mode pseudo-distribué
Catégories : Big Data, Formation | Tags : Big Data, Hue, Infrastructure, Hadoop, HBase, Déploiement
Le système d’exploitation choisi est OSX mais la procédure n’est pas si différente pour tout environnement Unix car l’essentiel des logiciels est téléchargé depuis Internet, décompressé et paramétré…
By WORMS David
1 déc. 2010
Stockage et traitement massif avec Hadoop
Catégories : Big Data | Tags : HDFS, Hadoop, Storage
Apache Hadoop est un système pour construire des infrastructures de stockage partagé et d’analyses adaptées à des volumes larges (plusieurs terabytes ou petabytes). Les clusters Hadoop sont utilisés…
By WORMS David
26 nov. 2010
Stockage et traitement massif avec Hadoop
Catégories : Big Data, Node.js | Tags : Big Data, REST, HBase, Node.js
HBase est la base de données de type “column familly” de l’écosystème Hadoop construite sur le modèle de Google BigTable. HBase peut accueillir de très larges volumes de données (de l’ordre du tera ou…
By WORMS David
1 nov. 2010
Présentation de MapReduce
Catégories : Big Data | Tags : MapReduce, Big Data, Java, JavaScript
Les systèmes d’information ont de plus en plus de données à stocker et à traiter. Des entreprises comme Google, Facebook, Twitter mais encore bien d’autre stockent des quantités d’information…
By WORMS David
26 juin 2010
Node.js, JavaScript côté serveur
Catégories : Front End, Node.js | Tags : HTTP, JavaScript, Serveur, Node.js
En attente du prochain grand language (NBL pour Next Big Language), cela fait maintenant 3 ans que je prédis à mes clients un bel avenir au JavaScript comme langue de programmation pour les…
By WORMS David
12 juin 2010