Vivien MILLE et Amir Ali GHAZI vous emmènent avec eux à la conférence FOSDEM 2023 !
FOSDEM (Free and Open source Software Developers’ European Meeting) est une grande conférence basée sur l’open-source et le libre en Europe. Cette édition, après plusieurs années en virtuel, a eu lieu en physique, comme habituellement dans les locaux de l’Université Libre de Bruxelles, les 4 et 5 février. La conférence attire habituellement plus de 5000 personnes et est entièrement libre d’accès. Cette année, plus de 700 conférences (de 5 minutes à 1 heure) ont eu lieu durant ces 2 jours.
L’organisation est basée en grande partie sur les volontaires et les administrateurs des salles, ce qui permet d’avoir accès à de très nombreux thèmes.
Parmi les thèmes / salles :
- Sovereign Cloud
- Friends of OpenJDK
- Nix & NixOS
- LLVM
- Continuous Integration and Continuous Deployment
- Testing and Automation
- Lighthning talks
- …
Parmi les conférences, certaines ont particulièrement retenu notre attention :
Chaque provider propose ses propres technologies en plus de celles open-source. Il est quasi impossible de s’appuyer sur ces technologies ou implémentations propriétaires pour faire du multi-cloud. Encore plus de pouvoir un jour sortir de ce verrou vendeur (vendor lockin). Malgré une offre open-source importante, il est fréquent que les providers ajoutent des fonctionnalités et des facilités qui brident la portabilité et la reproductibilité en dehors de ce contexte.
Aujourd’hui, l’utilisation de l’open-source dans le cloud native/first devrait être la règle : le CNCF chapeaute de nombreux projets qui sont souvent implémentables chez les providers. A terme, comme on l’a vu avec Unix/Linux, l’open source devrait supplanter les solutions propriétaires (AIX, HP-UX, Solaris).
Dans ce retour d’expérience du développement et maintien d’un outil d’analyse de code HPC, Phillipe a apporté sa vision. S’appuyant à l’origine LLVM 3.7, principalement maintenu par des thésards et chercheurs (avec peu de bagages sur la compilation), la dette technique s’est envolée rapidement. Aujourd’hui, LLVM 15, avec un développeur spécialisé dans l’infrastructure LLVM, a vu sa dette être résorbée. Cette réduction est aussi due aux travaux de simplifications internes à LLVM : CMake, jobs CI docker, automatisation de la génération des images, … Ce retour d’expérience est parsemé de Do/Don’t avec de vrais cas d’usage.
Dans les clusters HPC, les outils sont peu nombreux et les restrictions fortes. Ce retour d’expérience montre comment, en utilisant Nix, il est possible d’outrepasser ces restrictions en chargeant à la volée des environnements configurés sur les nœuds de calculs. Plusieurs problématiques et solutions ont été abordés, décortiqués et contournés : multi-users, compilateurs customs, limitations de la contamination, …
Documenter le fonctionnement d’un logiciel est une tâche très importante dans une équipe. Cependant, sa mise à jour peut être fastidieuse et sa maintenance chronophage. Cette conférence présente comment faciliter le workflow CI/CD de gestion de cette dernière. La première partie de la conférence décortiquait quelques ‘Voice Charts’ et ‘Technical writing style guides’ d’entreprises comme Google, Amazon ou DigitalOcean. Ensuite, nous avons eu le droit à une présentation et une démonstration de différents outils (Vale, Gatsby, Docusaurus) permettant d’améliorer la qualité de la documentation en la rendant partie intégrante du projet, via le workflow ‘Docs as Code’.
Les créateurs de Docker, dont le fondateur Solomon Hykes, ont publié l’année dernière un nouveau moteur CI/CD programmable, Dagger. Ce dernier a pour but de permettre aux développeurs de construire des pipelines dans des conteneurs locaux et de les publier vers n’importe quel fournisseur Cloud. Cette présentation très intéressante explique les raisons de la création de cet outil, ses avantages (Portabilité, peut être utilisé dans plusieurs langage, notamment tout ceux ayant un client GraphQL, …). A la fin, une démonstration de l’outil a été réalisé en Go.
Cette présentation très captivante d’une heure avait suscité l’intérêt de beaucoup de participants car la salle était remplie et plus personne ne pouvait physiquement rentrer. À travers un ton humoristique et parsemé d’images générées par l’IA MidJourney, les conférenciers nous ont décrits ce qu’était le Mutation Testing, comment l’intégrer à un pipeline CI/CD, et comment visualiser la couverture à travers des scores de mutation (Mutation score). En deux mots, le Mutation Testing permet de tester et valider que les tests d’un projet fonctionnent correctement à l’aide de plusieurs versions du code modifiées, appelées mutants.
Lighthning talks :
- Gitlab état français / Framasoft
- Robot édu opensource
- Beyond Wikipedia: Discovering Wikimedia’s Open-Source Ecosystem
- Is YAML the Answer? … and if so, what has ever been the question ?