Plus court, plus vite
Architecte solution et associé chez FiveForty°, Jérôme Piquot nous partage sa vision de l’Open Source et donne son éclairage sur les applications distribuées sur lesquelles il travaille. État des lieux...
Depuis quand participez-vous à des projets en Open Source et comment en êtes-vous venu à ce principe de collaboration ?
JP : J’ai démarré au début des années 90, dans ce qu’on appelait alors les news groups. Seul un petit nombre de personnes avait alors accès à l’internet, et bien sûr les informations disponibles étaient pour le moins réduites. Une nécessité de partage se faisait jour. On se liait d’amitié avec des gens au travers de discussions pour régler des problèmes, ou qui avaient des objectifs semblables. Les premières communautés de développeurs sont nées de cette volonté de faire des choses ensemble.
A tel point d’ailleurs qu’il ne le quittera qu’à l’âge de trente-trois ans. Son père lui explique
que pour être tranquille dans la vie, il faut être sérieux. Il l’est. Mais à l’orée de la seconde,
la motivation décline. Un conseiller le remotive en lui parlant d’un BEP de comptabilité.
Obtenu brillamment, il rattrape sa route vers un bac G2 où la compta est reine.
Les résultats sont bons. On conseille à Michel de s’orienter vers de longues études.
Mais lui préfère un parcours plus court pour entrer plus vite dans la vie active.
Sa décision est prise, ce sera un BTS. Il enchaîne ensuite sur une maîtrise de gestion.
Comptable en uniforme
Au fil des années, pouvez-vous donner quelques exemples de travaux que vous avez menés ?
JP : Mon premier projet en Open Source concernait Gedimat sur un logiciel de gestion et de facturation pour les grossistes. Cela tournait autour des commandes, bons de livraison et factures. Une sorte d’embryon très modeste d’ERP qui ne gérait que les ventes. La partie Open Source était une application web écrite en C++. Les écrans HTML étaient générés à l’aide de XSLT. Les impressions, au format PDF, étaient réalisées via XSL-FO et Apache FOP.
Ensuite il y a eu le POS aussi en Open Source. Ce module de gestion des caisses n’existait pas à l’époque, il est intégré désormais dans votre solution Microsoft. Il utilisait des technologies que vous proposez toujours aujourd’hui ?
JP : J’ai toujours été un peu geek sur la techno. Il est vrai que j’étais en avance et donc ces technologies sont toutes d’actualité aujourd’hui. Notamment dans AX qui a toujours XSLT. Puis je suis revenu à l’Open Source pour Lagardère. Aujourd’hui, j’avance sur un nouveau sujet pour gérer la notion d’applications distribuées.
Et puis il a aussi des contraintes, notamment celles du service militaire "Pendant dix mois, à Montauban puis Vincennes" reprend Michel. Là, il endosse l’uniforme du comptable pour
s’occuper de la solde du contingent. "J’étais chanceux avec ce poste tranquille après des classes plus rugueuses", précise-t-il. Juste après l’armée, la chance l’attend encore dans une agence d’intérim. On lui propose de remplacer au poste de comptable une collaboratrice qui s’est cassée la jambe. "En fait, le PMU me met le pied à l’étrier", s’amuse Michel. Il y restera trois ans. Puis d’autres horizons s’ouvrent à lui. Notamment publicitaires chez Publicis Conseil.
Des sociétés de services l’accueillent. Jusqu’à Kaba. Ce spécialiste des portes coulissantes lui ouvre les siennes. "Souhaitant renouveler leur système d’information, ils avaient besoin de mon expérience pour être accompagnés dans ce changement". Les solutions du marché ne plaisent pas à Michel. C’est alors que des consultants de Navision viennent le voir. Leur offre plait au Directeur comptable de Michel et l’implémentation est mise place avec succès. Michel ayant découvert le métier de consultant est tenté par l’activité. Intéressé par la compétence comptable de Michel, Navision lui propose de le former au consulting.
Puis Michel entre chez Colombus, intégrateur AX. Les projets s’enchaînent, spécialement
chez Saint-Gobain Glass. Ensuite, il entre chez Avanade et quelques années plus tard
il intègre l’ESN Viseo.
En deux mots ?
JP : À l’heure actuelle, les applications ne peuvent plus s’exécuter que sur un seul processeur. Et c’est beaucoup trop lent. Il faut changer complétement nos paradigmes de développement pour que l’application, lorsqu’elle s’exécute, le fasse sur tous les processeurs disponibles en même temps. Une application classique, si elle a 100 additions à réaliser, elle fera le calcul de chaque addition l’un après l’autre sur le même processeur. Une application distribuée exécutera les 100 additions en même temps, sur 100 processeurs en simultané. Cela semble simple à implémenter pour un calcul mais devient beaucoup plus compliqué quand on traite de la donnée qui est elle-même distribuée. Cela impose des modèles de programmation complètement différents, comme par exemple l’utilisation du modèle des acteurs.
Vous avez publié aussi en Open Source un outil de gestion des sauvegardes SQL. Finalement quels retours tirez-vous de ces expériences ?
JP : Une idée certaine du partage. Quand on développe, on se sert beaucoup du travail de la communauté. En retour, il est naturel de faire de son côté quelque chose qui remercie tous les gens qui vous ont aidé. Il faut rendre aux autres ce qui vous a fait gagner du temps pour qu’ils avancent plus vite à leur tour. L’Open Source demande beaucoup de temps personnel. Un temps que l’on n’a pas toujours. C’est un état d’esprit.
Premiers contacts
Deux ans après, Flexmind le contacte avec un argument décisif : "Ici tu n’auras pas une kyrielle de projets mais un seul, important et captivant". C’est ainsi que Michel démarre en 2012 sur le projet Geodis et fait la connaissance de nombre de ses collègues d’aujourd’hui. En 2017, il quitte le salariat pour le statut d’indépendant et opère pour le groupe Saur. "Pendant ce temps, Geodis s’était séparé de Flexmind pour rejoindre FiveForty°. Jonathan m’appelle pour me proposer de reprendre en sous-traitant sur Geodis en conservant mon nouveau statut", résume le consultant finance Dynamics.
"De toute façon, quand Jonathan a voulu monter sa structure, je n’ai pas hésité une seule seconde". Celui que la chance n’a jamais lâché précise : "Ici, on ne sent pas le poids de la structure, l’aspect famille est palpable. Ce lien social ajouté à la diversité des clients, c’est ce qui donne envie de bosser avec eux".°
Le partage est une valeur clé de FiveForty°, vous y voyez
un lien avec le principe d’Open Source ?
JP : FiveForty° s’appuie sur des valeurs, même morales que l’on retrouve pour cette communauté d’individus qui compose l’entreprise. On profite d’une communauté et on lui restitue par son activité. On prend et on redonne, c’est la logique de l’Open Source qui est bien davantage que du code qu’on partage sur internet. Il s’agit aussi de savoir-faire, d’échanges d’idées, d’expériences, d’entre-aide. Autant de notions à l’œuvre chez FiveForty°, c’est vrai.
Vous-même à titre professionnel et personnel, quels logiciels libres utilisez-vous ?
JP : Des CMS comme Orchard Core, un outil de création de sites initié par Microsoft. IdentityServer4 pour gérer l’authentification. Mais aussi Orleans et Dapper, des frameworks pour gérer les acteurs et réaliser des applications distribuées. L’autre donnée clé de l’Open Source est la remontée des bugs. Dans ce cadre, .Net Core est un bon outil de fiabilisation. Ce cadriciel est d’ailleurs Open Source à 100 % depuis trois ans. Il reflète un changement majeur chez Microsoft qui se dégage d’une pure logique propriétaire en ouvrant les codes de ses infrastructures logicielles. À l’exception de Windows.
Quelles évolutions notez-vous et quel avenir selon vous pour l’Open Source ?
JP : L’avantage de l’Open Source se mesure aussi dans le monde hybride qui est le nôtre. Il y a une petite quinzaine d’années, Monsieur Tout-le-monde menait son petit projet dans son coin avec une communauté réduite. Aujourd’hui les projets Open Source ont changé de dimension et sont très souvent menées par un éditeur de logiciels. A propos des incidents, on peut aller corriger directement le code de l’éditeur, ce code, une fois validé, sera intégré à la solution. C’est un vrai process d’échange entre utilisateurs et éditeur. L’éditeur n’est pas perdant, il donne d’ailleurs de la cohésion à l’ensemble. Il reste gagnant avec des produits beaucoup plus fiables grâce à une énorme base de tests utilisateurs. D’une façon plus générale, l’Open Source est une richesse dans la mesure où elle permet une mutualisation des coûts très importante. Quand une vingtaine de sociétés utilise une publication en Open Source, la communauté le maintient et démultiplie sa performance. A la clé c’est un outil d’une puissance et d’une agilité remarquable où le cycle de vie court d’une évolution peut être traité en intégration continue. Et plus on est nombreux, plus on va vite.
Vous donnez des exemples de l’impact de l’Open Source…
JP : Google avec Chrome a rendu le produit ultra stable en rendant le code source de Chromium Open Source. Cela lui a donné une avance technologique que Microsoft n’a pas pu suivre avec Edge. Il a été obligé de faire une nouvelle version de Edge basée sur le projet Chromium. L’éditeur est indispensable à la vision stratégique d’ensemble. Pour exemple, FireFox qui est indépendant mais peine à avoir une roadmap claire sur son produit, peut disparaître peu à peu. Il faut noter l’effet de levier dû à l’éditeur dans l’open source et sa puissance de frappe associés à la communauté qui démultiplie les tests. Elle génère aussi l’apport d’idées, d’améliorations comme pour Orléans, optimisé en performance par un contributeur russe. Dapper, initié par Microsoft, qui va plus loin, est un projet qui est amené à remplacer Microsoft Service Fabric. De nombreux nouveaux produits Microsoft démarrent en Open Source et pas forcément avec des technologies maison. Dapper utilise Go qui est un langage Google par exemple. Simplement parce qu’il est plus adapté pour gérer certains aspects.
Vous pointez qu’aujourd’hui on arrive pour la vitesse des processeurs aux limites de la physique avec 5GHz. Quelles conséquences en attendre à moyen et long terme ?
JP : La conséquence c’est que la puissance ne peut plus être obtenue par le CPU, l’unité centrale de traitement de l’ordinateur. Auparavant, c’était facile. Ces problèmes se réglaient en remplaçant une machine ancienne par une nouvelle qui allait deux fois plus vite. Aujourd’hui, il faut pouvoir ajouter les machines. Or, il n’y a pas 1% des applications dans le monde qui sont capables de gérer une telle élasticité horizontale. Cela implique que potentiellement demain il pourrait y avoir une refonte des ERP à envisager. Les ERP sont des grosses applications monolithiques qui gèrent très mal la parallélisation des traitements. Pour faire face à la volumétrie de demain et à l’exigence de temps réel, des clients, ces monolithes doivent être réécrits sous forme d’applications distribuées organisées en micro-services ou nano- services (acteurs).
Certaines entreprises françaises ne sont-elles pas sclérosées par leur informatique ?
JP : Parfois certaines finissent par la subir. Pour schématiser, il leur faut un an pour ajouter un bouton ! Souvent, les applications sont tellement couplées entre elles au sein d’un SI, que toucher à la moindre ligne de code de l’une d’entre elles, est un exercice périlleux. Un jeu de mikado avec des effets domino impossibles à maitriser. C’est pour cela que tous les experts en architecture logicielle préconisent de découpler les applications. Ce qui permet de remplacer une brique sans aucun impact sur les autres. Ce qui a changé ces dernières années, c’est que l’on applique ce découplage au sein même d’une application. Chaque module d’une application, doit lui-même être découplé des autres. Permettant ainsi de faire évoluer un module sans à avoir à craindre des régressions dans le reste de l’application. Le nombre de régressions sont considérablement réduites, la maintenance est plus simple, les évolutions sont moins complexes à réaliser et elles sont délivrées dans des délais réduits.
Cette modularité permet d’architecturer son application en petites unités autonomes (micro-services) scalables qui sont déployables facilement dans une infrastructure interne, cloud ou hybride.
Quand un besoin d’élasticité se fait jour pour gérer les pics
de demande liés aux variations saisonnières, cette problématique de puissance peut être traitée en quelques minutes avec des outils comme Kubernetes. Ce qui permet de déployer de nouvelles ressources et absorber les montées en charge brutales.
Mais il faut être élastique aussi dans l’autre sens : pouvoir réduire ses ressources quand les besoins diminuent. Désormais, les technologies permettent de plugger des machines cloud sur le data center interne. Le ratio classique, 20% de cloud et 80% d’interne sur site, est une hybridation raisonnable pour l’entreprise qui veut s’armer face aux variations à venir.
Enfin, en quoi votre collaboration aux projets en Open Source est un plus pour les clients de FiveForty ?
JP : Dans cet univers qui avance à marche forcée vers l’ouverture, le fait d’avoir un partenaire qui agrège l’innovation avec le mindset open source pour comprendre l’avancée des nouvelles technologies permet au client de suivre ces évolutions dans le monde Dynamics avec davantage de sérénité.
Propos recueillis par J.Lascaux,
Fondateur de FiveForty°
Depuis quand participez-vous à des projets en Open Source et comment en êtes-vous venu à ce principe de collaboration ?
JP : J’ai démarré au début des années 90, dans ce qu’on
appelait alors les news groups. Seul un petit nombre de
personnes avait alors accès à l’internet, et bien sûr les
informations disponibles étaient pour le moins réduites.
Une nécessité de partage se faisait jour. On se liait d’amitié
avec des gens au travers de discussions pour régler des
problèmes, ou qui avaient des objectifs semblables.
Les premières communautés de développeurs sont nées
de cette volonté de faire des choses ensemble.
Au fil des années, pouvez-vous donner quelques exemples de travaux que vous avez menés ?
JP : Mon premier projet en Open Source concernait Gedimat
sur un logiciel de gestion et de facturation pour les grossistes.
Cela tournait autour des commandes, bons de livraison et
factures. Une sorte d’embryon très modeste d’ERP qui ne gérait
que les ventes. La partie Open Source était une application web
écrite en C++. Les écrans HTML étaient générés à l’aide de XSLT.
Les impressions, au format PDF, étaient réalisées via XSL-FO
et Apache FOP.
Ensuite il y a eu le POS aussi en Open Source. Ce module
de gestion des caisses n’existait pas à l’époque, il est intégré
désormais dans votre solution Microsoft. Il utilisait des
technologies que vous proposez toujours aujourd’hui ?
JP : J’ai toujours été un peu geek sur la techno. Il est vrai
que j’étais en avance et donc ces technologies sont toutes
d’actualité aujourd’hui. Notamment dans AX qui a toujours
XSLT. Puis je suis revenu à l’Open Source pour Lagardère.
Aujourd’hui, j’avance sur un nouveau sujet pour gérer la notion
d’applications distribuées.
En deux mots ?
JP : À l’heure actuelle, les applications ne peuvent plus
s’exécuter que sur un seul processeur. Et c’est beaucoup
trop lent. Il faut changer complétement nos paradigmes de
développement pour que l’application, lorsqu’elle s’exécute,
le fasse sur tous les processeurs disponibles en même temps.
Une application classique, si elle a 100 additions à réaliser, elle
fera le calcul de chaque addition l’un après l’autre sur le même
processeur. Une application distribuée exécutera les 100
additions en même temps, sur 100 processeurs en simultané.
Cela semble simple à implémenter pour un calcul mais devient
beaucoup plus compliqué quand on traite de la donnée qui
est elle-même distribuée. Cela impose des modèles de
programmation complètement différents, comme par exemple
l’utilisation du modèle des acteurs.
Vous avez publié aussi en Open Source un outil de gestion
des sauvegardes SQL. Finalement quels retours tirez-vous
de ces expériences ?
JP : Une idée certaine du partage. Quand on développe, on
se sert beaucoup du travail de la communauté. En retour, il est
naturel de faire de son côté quelque chose qui remercie tous
les gens qui vous ont aidé. Il faut rendre aux autres ce qui vous
a fait gagner du temps pour qu’ils avancent plus vite à leur tour.
L’Open Source demande beaucoup de temps personnel.
Un temps que l’on n’a pas toujours. C’est un état d’esprit.
Le partage est une valeur clé de FiveForty°, vous y voyez
un lien avec le principe d’Open Source ?
JP : FiveForty° s’appuie sur des valeurs, même morales que
l’on retrouve pour cette communauté d’individus qui compose
l’entreprise. On profite d’une communauté et on lui restitue par
son activité. On prend et on redonne, c’est la logique de l’Open
Source qui est bien davantage que du code qu’on partage sur
internet. Il s’agit aussi de savoir-faire, d’échanges d’idées, d’expériences, d’entre-aide. Autant de notions à l’œuvre chez
FiveForty°, c’est vrai.
Vous-même à titre professionnel et personnel,
quels logiciels libres utilisez-vous ?
JP : Des CMS comme Orchard Core, un outil de création
de sites initié par Microsoft. IdentityServer4 pour gérer
l’authentification. Mais aussi Orleans et Dapper, des frameworks
pour gérer les acteurs et réaliser des applications distribuées.
L’autre donnée clé de l’Open Source est la remontée des bugs.
Dans ce cadre, .Net Core est un bon outil de fiabilisation.
Ce cadriciel est d’ailleurs Open Source à 100 % depuis trois ans.
Il reflète un changement majeur chez Microsoft qui se dégage
d’une pure logique propriétaire en ouvrant les codes de ses
infrastructures logicielles. À l’exception de Windows.
Quelles évolutions notez-vous et quel avenir selon vous
pour l’Open Source ?
JP : L’avantage de l’Open Source se mesure aussi dans le
monde hybride qui est le nôtre. Il y a une petite quinzaine
d’années, Monsieur Tout-le-monde menait son petit projet dans
son coin avec une communauté réduite. Aujourd’hui les projets
Open Source ont changé de dimension et sont très souvent
menées par un éditeur de logiciels. A propos des incidents,
on peut aller corriger directement le code de l’éditeur, ce code,
une fois validé, sera intégré à la solution. C’est un vrai process
d’échange entre utilisateurs et éditeur. L’éditeur n’est pas
perdant, il donne d’ailleurs de la cohésion à l’ensemble. Il reste
gagnant avec des produits beaucoup plus fiables grâce à une
énorme base de tests utilisateurs. D’une façon plus générale,
l’Open Source est une richesse dans la mesure où elle permet
une mutualisation des coûts très importante. Quand une
vingtaine de sociétés utilise une publication en Open Source,
la communauté le maintient et démultiplie sa performance.
A la clé c’est un outil d’une puissance et d’une agilité
remarquable où le cycle de vie court d’une évolution peut être
traité en intégration continue. Et plus on est nombreux,
plus on va vite.
Vous donnez des exemples de l’impact de l’Open Source…
JP : Google avec Chrome a rendu le produit ultra stable en
rendant le code source de Chromium Open Source. Cela lui
a donné une avance technologique que Microsoft n’a pas pu
suivre avec Edge. Il a été obligé de faire une nouvelle version de
Edge basée sur le projet Chromium. L’éditeur est indispensable
à la vision stratégique d’ensemble. Pour exemple, FireFox qui
est indépendant mais peine à avoir une roadmap claire sur son
produit, peut disparaître peu à peu. Il faut noter l’effet de levier
dû à l’éditeur dans l’open source et sa puissance de frappe
associés à la communauté qui démultiplie les tests. Elle génère
aussi l’apport d’idées, d’améliorations comme pour Orleans,
optimisé en performance par un contributeur russe. Dapper,
initié par Microsoft, qui va plus loin, est un projet qui
est amené à remplacer Microsoft Service Fabric. De nombreux
nouveaux produits Microsoft démarrent en Open Source et pas
forcément avec des technologies maison. Dapper utilise Go qui
est un langage Google par exemple. Simplement parce qu’il est
plus adapté pour gérer certains aspects.
Vous pointez qu’aujourd’hui on arrive pour la vitesse des
processeurs aux limites de la physique avec 5GHz.
Quelles conséquences en attendre à moyen et long terme ?
JP : La conséquence c’est que la puissance ne peut plus
être obtenue par le CPU, l’unité centrale de traitement de
l’ordinateur. Auparavant, c’était facile. Ces problèmes se
réglaient en remplaçant une machine ancienne par une
nouvelle qui allait deux fois plus vite. Aujourd’hui, il faut pouvoir
ajouter les machines. Or, il n’y a pas 1% des applications dans le
monde qui sont capables de gérer une telle élasticité
horizontale. Cela implique que potentiellement demain il
pourrait y avoir une refonte des ERP à envisager. Les ERP sont
des grosses applications monolithiques qui gèrent très mal
la parallélisation des traitements. Pour faire face à la volumétrie
de demain et à l’exigence de temps réel, des clients, ces
monolithes doivent être réécrits sous forme d’applications
distribuées organisées en micro-services ou nano-
services (acteurs).
Certaines entreprises françaises ne sont-elles pas sclérosées
par leur informatique ?
JP : Parfois certaines finissent par la subir. Pour schématiser,
il leur faut un an pour ajouter un bouton ! Souvent, les
applications sont tellement couplées entre elles au sein d’un SI,
que toucher à la moindre ligne de code de l’une d’entre elles,
est un exercice périlleux. Un jeu de mikado avec des effets
domino impossibles à maitriser. C’est pour cela que tous les
experts en architecture logicielle préconisent de découpler
les applications. Ce qui permet de remplacer une brique sans
aucun impact sur les autres. Ce qui a changé ces dernières
années, c’est que l’on applique ce découplage au sein même
d’une application. Chaque module d’une application, doit
lui-même être découplé des autres. Permettant ainsi de faire
évoluer un module sans à avoir à craindre des régressions dans
le reste de l’application. Le nombre de régressions sont
considérablement réduites, la maintenance est plus simple,
les évolutions sont moins complexes à réaliser et elles sont
délivrées dans des délais réduits.
Cette modularité permet d’architecturer son application en
petites unités autonomes (micro-services) scalables qui sont
déployables facilement dans une infrastructure interne, cloud
ou hybride.
Quand un besoin d’élasticité se fait jour pour gérer les pics
de demande liés aux variations saisonnières, cette
problématique de puissance peut être traitée en quelques minutes avec des outils comme Kubernetes. Ce qui permet de déployer de nouvelles ressources et absorber les montées en charge brutales.
Mais il faut être élastique aussi dans l’autre sens :
pouvoir réduire ses ressources quand les besoins diminuent.
Désormais, les technologies permettent de plugger des
machines cloud sur le data center interne. Le ratio classique,
20% de cloud et 80% d’interne sur site, est une hybridation
raisonnable pour l’entreprise qui veut s’armer face aux
variations à venir.
Enfin, en quoi votre collaboration aux projets en Open
Source est un plus pour les clients de FiveForty ?
JP : Dans cet univers qui avance à marche forcée vers
l’ouverture, le fait d’avoir un partenaire qui agrège l’innovation
avec le mindset open source pour comprendre l’avancée
des nouvelles technologies permet au client de suivre ces
évolutions dans le monde Dynamics avec davantage de sérénité.
Propos recueillis par J.Lascaux, Fondateur de FiveForty°
Paris - FRANCE / New York - USA
©2021 FiveForty°. Tous Droits Réservés.
Conception et réalisation :