Aller au contenu

Retour sur le jour 2 du Devfest Lille 2024 !

Quelques semaines après le DevFest Lille 2024, les échos de la conférence résonnent toujours. Marion Graeffy a captivé l'audience avec sa vision d'un numérique responsable, tandis que les secrets du mycélium ont proposé une approche innovante en IA.

Hall de Lille Grand Palais au Devfest !

Eh non, on ne vous a pas oubliés ! Le récap de la seconde journée du DevFest arrive enfin ! Préparez-vous à plonger dans les moments forts, les conférences inspirantes et les découvertes technologiques qui ont rythmé cette deuxième journée 🙂

Keynote d'ouverture : donner au numérique sa juste place

Marion Graeffy a partagé son parcours et sa vision sur l'intégration responsable du numérique dans nos vies. Voici les points clés de sa conférence :

  1. Prise de conscience environnementale

En 2014, elle a quitté un projet marketing de vente de M&Ms personnalisés en ligne après avoir réalisé l'énorme impact environnemental de l'emballage.

Elle s'est ensuite engagée dans l'économie sociale et solidaire.

  1. Découverte des coopératives 

Fascinée par le modèle démocratique des coopératives, elle a cofondé Telecoop, une entreprise axée sur les impacts sociétaux et environnementaux.

  1. Problématiques du numérique actuel 

Le numérique pourrait représenter 10% des émissions de GES dans le futur.

Les smartphones, par leur fabrication, sont responsables de 80% des impacts environnementaux.

Un rapport montre que 1 parent sur 2 se sent démuni face à l'impact du numérique sur les enfants.

  1. Critique des entreprises dominantes

Les grandes entreprises américaines dominent le numérique et imposent leurs règles, déviant de l'esprit d'origine d'Internet.

  1. Propositions pour un numérique responsable

Sobriété numérique : Réduire l'impact environnemental en utilisant le numérique de manière mesurée.

Équité numérique : Adapter le numérique aux besoins variés des utilisateurs.

Numérique libre et open-source : Favoriser un numérique décentralisé et communautaire.

  1. Vision pour 2064

Marion Graeffy appelle à un usage du numérique sobre, équitable et libre, adapté aux besoins essentiels sans nuire à l'environnement ni à la société.

Qu'est-ce que les champignons nous apprennent sur l'intelligence artificielle ?

Les champignons, notamment le Blob, présentent des caractéristiques similaires aux systèmes informatiques et à l'intelligence artificielle (IA).

  1. Blob et réseau ferroviaire :
    • Modélisation du réseau ferroviaire japonais avec un Blob.
    • Capacité à résoudre des problèmes complexes, comme le plus court chemin dans un labyrinthe.
  2. Propriétés intéressantes des champignons :
    • Adaptation au changement.
    • Autoguérison.
    • Fusion et partage d'apprentissage.
  3. Biomimétisme en IA :
    • Algorithmes inspirés du comportement des blobs.
    • Résolution de problèmes complexes comme le voyageur de commerce et l'exploration spatiale.
  4. Mycélium et informatique :
    • Capacité du mycélium à transmettre des informations via des courants électriques.
    • Fonctionnement similaire à des portes logiques (AND, OR, NAND, etc.).
    • Potentiellement Turing-complet, ce qui permettrait de programmer des machines de Turing.
  5. Applications futures :
    • Développement de systèmes IA plus robustes et adaptatifs.
    • Utilisation du mycélium pour créer des capteurs fongiques capables de ressentir et réagir aux hormones humaines, apportant une dimension émotionnelle à l'IA.

Automatisation des outils d'éco-conception de services numériques

  1. Objectifs :
    • Prolonger la durée de vie des appareils.
    • Réduire la consommation de ressources.
  2. Outils disponibles :
    • Plus de 70 outils pour mesurer l'impact environnemental des applications.
    • GreenIt Analysis, CO2.js, Fruggr, GreenFrame, etc.
  3. Types d'outils :
    • Sensibilisation, information, développement, observation, intégration dans les services numériques.
    • Exemple : GreenIt Analysis (extension navigateur open source) évalue la taille et le poids des pages pour estimer les émissions de CO2.
  4. Automatisation :
    • Ecosonar API, plugins Ecocode.
    • Outils d'analyse pour le backend et le cloud : Scaphandre, PowerAPI, Kepler, Carbon Aware SDK.
  5. Impact des terminaux :
    • Les terminaux représentent une grande partie de l'impact environnemental des sites web, jusqu'à 93% pour les sites à fort trafic.

Conclusion : Il existe de nombreux outils d'éco-conception, mais il est crucial de les comparer pour choisir les plus pertinents. GreenIt Analysis se distingue pour les analyses front-end, tandis que les options pour le backend sont plus limitées.

Maîtriser la Hype : Passion versus Raison

Contexte :

  • Expérience personnelle avec différents frameworks : Astro, Svelte, fullstack JS.
  • Changement constant de stack sur une période de 2 mois.

Résultats :

  • Multiples tests de technologies : Muir (instable/buggé), contribution à des projets OpenSource.
  • La hype a mené à une dispersion et à des pertes de temps.

Réflexion :

  • Passion vs. Raison : Métier de passion nécessitant découverte et expérimentation.
  • La hype influence l'industrie avec des pressions sociales, des technologies immatures et des distractions constantes.

Outils et Méthodes :

  • Radar Gartner Hype Cycle et Radar Thoughtworks pour évaluer les tendances technologiques.
  • ADR (Architecture Decision Records) : Prendre du recul et réfléchir aux alternatives.
  • POC (Proof of Concept) : Validation technique rapide pour identifier les risques.
  • Spikes en Scrum : Courtes périodes (2-3 jours) pour explorer un sujet et obtenir des résultats concrets.
  • Importance de maîtriser les bases et de comprendre les concepts fondamentaux.

Conclusion : Équilibrer passion et raison en utilisant des outils d'évaluation et en restant concentré sur les concepts de base pour éviter les pièges de la hype.

La compression Web : comment (re)prendre le contrôle ?

Importance de la compression :

  • Compression de milliards de requêtes web chaque jour.
  • Compression avec ou sans perte de données (images, minification JS).

Techniques de compression :

  • Compresseurs transforment les suites d'octets, permettant de revenir aux données d'origine.
  • Gzip (basé sur LZ77 et Huffman) : 10 octets d'en-tête + 8 octets de footer, avec différents types de blocs (non compressé, optimisé).
  • Brotli : 11 niveaux de compression, utilise LZ77 et Huffman, avec un dictionnaire de 13,500 mots.
  • Zopfli et ZSTD : Google Zopfli optimise Gzip, ZSTD est plus rapide et efficace.

Études et outils :

  • Bundlephobia : Donne la taille minifiée des packages Node.js.
  • Almanac du Web : Étude sur l'utilisation de la compression, révélant un fort taux de non-compression.

Performance :

  • La décompression est rapide malgré des niveaux de compression élevés.
  • Le contenu statique doit être précompressé dans les pipelines de déploiement.

Banalisation du DDD : Mythe ou Réalité ?

Concepts clés du DDD :

  • Deux aspects du DDD :
    • Pourquoi (stratégique) : Utilisation d'Event Storming, organisation stratégique.
    • Comment (tactique) : Implémentation technique détaillée.
  • Origine du DDD avec le Blue Book d'Eric Evans (2004) et le Red Book de Vaughn Vernon (2015), plus technique.

Fondamentaux techniques :

  • Value Objects : Remplacement des primitives par des objets immuables.
  • Invariants : Règles métier immuables.
  • Bounded Context : Clarification des limites des services et bases de données.
  • Maintien d'un langage ubiquitaire pour résoudre les problèmes métier.

Outils et méthodes :

  • Github DDD-Crew : Utilisation du Bounded Context Canvas.
  • Context Mapping : Définition des relations entre Bounded Context.
  • ACL Mashup : Fusion de Bounded Context pour éviter la pollution.

Processus d'Event Storming :

  1. Event Storming Big Picture : Cartographie des événements avec context map.
  2. Modélisation des processus et des flux : Résolution des conflits sur les frontières des Bounded Context.
  3. Conception logicielle : Utilisation du Read Model pour le stockage des données.
  4. Example Mapping : Clarification des invariants avec des exemples concrets, approche TDD.
  5. Modélisation des agrégats : Attribution des responsabilités et collaborations à partir des index cards.

Conclusion : Le DDD reste essentiel pour aligner stratégie et tactique dans le développement logiciel, utilisant des outils comme l'Event Storming pour une meilleure compréhension et une implémentation efficace des règles métier.

En espérant que notre résumé des conférences, fidèlement retranscrit par nos experts Sfeirians, vous ait plu ! Le DevFest Lille 2024 a une fois de plus brillamment illustré l'innovation et l'évolution constante du monde du développement.

Dernier