Mathieu Desnouveaux

2025 - Page 2

Page 2 sur 4 - Sketchnotes 13-24 sur 44

🗓️

Montée en puissance de l'IA

Sketchnote illustrant 4 design patterns pour la résilience présentée au Forum PHP 2025. Le schéma commence par 'tout échoue tout le temps' avec le principe de réduire le blast radius et ne laisser pas un processus attendre pour rien. La corrélation entre les requêtes est expliquée (tout le monde en même temps mène à différer les requêtes et différer les retry). Quatre stratégies sont présentées: étaler les crons et multiplier les queues avec introduction de l'aléatoire (ampoule), constant work (engrenage - préparer les réponses avant de recevoir les requêtes), attention à la variabilité avec pic d'activité aléatoire et préparer les réponses, découper en cellules indépendantes (ciseaux), et shuffle sharding (dé - répartir aléatoirement les ressources).

4 design patterns avancés pour améliorer la résilience d'une application

Publié le 30 novembre 2025
Par Pascal Martin
🏗️ Architecture 🚀 Performance
📅 Forum PHP
Sketchnote illustrant comment gérer 180000 requêtes par seconde présentée au Forum PHP 2025. Le schéma montre la solution avec un laptop du marché + CURL (1996 dans PHP, depuis 2000). Deux stratégies principales: 1-Boucle de requêtes (en séquentiel, réutiliser la connexion) avec une ampoule indiquant l'idée, 2-Paralléliser les requêtes avec une alerte (busy looping pour attendre la fin d'une boucle). Le protocole HTTP/1.1 est expliqué avec client-serveur et plusieurs échanges pour une requête pour acquitter la requête. Le multiplexing montre une requête HTTP/2 parallèle. HTTP/3 arrive de QUIC avec UDP. La résolution DNS dans CURL montre multi-serveur (et repartissant les appels curl) puis mise en cache. Le multithread pour exploiter 100% du CPU mène à PCNTL et SCHTOP.

180 000 requêtes par seconde expliqué simplement

Publié le 30 novembre 2025
Par Xavier Leune
🚀 Performance 🐘 PHP
📅 Forum PHP
Sketchnote illustrant la défense de SQL face aux préjugés présentée au Forum PHP 2025. Le schéma montre l'accusation (complexité inutile, verbosité excessive, non moderne, performances douteuses) et la position d'avocat du SQL. La défense démontre que SQL est performant, élégant, moderne, efficace et simple, mais on l'apprend comme en 1992 et SQL a évolué, pas nous. Plusieurs cas sont présentés: l'affaire des 50000 UPDATE (PHP boucle foreach 50000 requête vs SQL 1 requête), l'enfer des sous-requêtes (solutionné avec des CTE vue temporaire nommée), le crime de la complexité (requête INSERT + requête SELECT returning donnant la norme), le cas du groupement d'info (requête ALL foreach vs Windows Function slice), et le problème pour chaque (requête ALL foreach vs requête latéral).

SQL vs les préjugés

Publié le 30 novembre 2025
Par Laeticia Avrot
📊 Data 🚀 Performance
📅 Forum PHP
Sketchnote illustrant la création de binaires autonomes en PHP présentée au Forum PHP 2025. Le schéma montre le contexte (pas de réseaux, pas de permission, pas de bonnes dépendances) avec l'objectif d'utiliser PHP partout comme en Go. Le fonctionnement de PHP est expliqué avec Zend Engine et SAPI (Terminal, Web, etc.), puis l'embed qui permet d'exécuter PHP comme du C via SPC + phar.php.sfx. Le processus de création en 4 étapes: 1-Création du PHAR, 2-SPC téléchargement + dépendance, 3-Build + combiner avec le PHAR, 4-Exécutable. Le tout est complet dans PHPacker. L'empaquetage montre Archive PHAR DU, Code Source, Micro SFX, et PHP.

PHP sans PHP : créez des binaires autonomes de votre code

Publié le 30 novembre 2025
Par Jean-François Lépine
🐘 PHP 🛠️ Tools 🔧 DevOps
📅 Forum PHP
Sketchnote illustrant la nouvelle génération d'outils de documentation pour PHP présentée au Forum PHP 2025. Le schéma compare PHP.net (plein de dépôts: site, analytics, binaires, news, wiki) avec l'absence de documentation centralisée. Il montre ensuite les différents dépôts de documentation (plusieurs dépôts PHD pour rendre: base, doc-en, doc-lang). La section DocBook présente le standard complet avec sémantique et tag de crosslink. La partie génération montre l'évolution: avant (parser le code C), puis DocGen, puis PHP 8 (named argument, arg info, stub), puis GenStub et enfin Stub-to-DocBook (testable). La section exemple de doc montre les fichiers book.xml (point d'entrée), configure.xml (configuration INI), setup.xml (glue), version.xml et function.xml (liste des fonctions). Le rendering montre XSLT (lent, compliqué) et PHP (en PHP, rapide, plus maintenu).

Codifier PHP: une nouvelle génération d'outillage pour la documentation

Publié le 30 novembre 2025
Par Gina Banyard
🐘 PHP 🛠️ Tools
📅 Forum PHP
Sketchnote illustrant l'utilisation des monades pour archiver efficacement de grands volumes de données, présentée au Forum PHP 2025. Le schéma montre le contexte d'archivage de documents avec métadata et binaire, l'idée initiale de streaming de données avec Generator puis logique puis foreach, mais cela mène à une composition de générateurs qui rend le système complexe. Pour simplifier, les monades sont présentées comme une solution de programmation fonctionnelle divisée en préparation, action et testable sans contexte lourd (stateless). Des composants utiles sont présentés: ORM monadisé, Filesystem monadisé, et Encoding monadisé.

Archiver efficacement de grands volumes de données grâce aux monades

Publié le 30 novembre 2025
Par Baptiste Langlade
🐘 PHP 🏗️ Architecture 📊 Data
📅 Forum PHP
Sketchnote illustrant l'obstination présentée lors d'un meetup AFUP Lorraine. Le schéma explique que l'obstination peut avoir comme origine un mauvais choix initial avec des conséquences à long terme. Elle identifie 3 biais cognitifs : le coût irrécupérable (trop investi pour arrêter), l'engagement (on va jusqu'au bout), et la confirmation (portion de vérité validée par théorie). Ces biais créent un cercle vicieux : il faut ne pas penser au futur passé ou au coût passé, il faut concurrencer nos idées, et il faut accepter la critique. Le positif : l'obstination peut apporter de la cohérence si elle est bien gérée.

L'obstination : l'origine et quoi en faire

Publié le 15 décembre 2025
Par Gaëtan Lickel
💡 Soft Skills 👥 Management
📅 AFUP Lorraine
Sketchnote illustrant la communication entre utilisateur et agent IA présentée lors d'un meetup AFUP Lorraine. Le schéma explique l'architecture API Multi Platform avec IA (FastAPI, Laravel) connectée via un MCP. Le flux commence par une APP (mail, trad, météo, domotique) qui communique avec une API (Fast API streaming pour l'IA), puis un agent IA (Mistral Small 3.5 en local, Ollama) et enfin le MCP (protocole agent-outil). Le processus se décompose en demande, transmission, analyse (avec un cerveau illustré), réponse (avec icône message), réponse (avec icône crayon pour écriture), et outils (clé à molette). L'architecture permet une communication fluide et structurée entre l'utilisateur et l'intelligence artificielle.

Communication entre utilisateur et agent IA

Publié le 11 décembre 2025
Par Nathanael Heitz
🔗 API 🤖 AI/ML
📅 AFUP Lorraine
Sketchnote retraçant l'évolution de l'injection de dépendances dans Symfony. Chronologie: Vanilla PHP (instanciation directe), Symfony 1 (2007, sfContext), Symfony 2 (2011, conteneur de services), Symfony 2.7 (autowiring), API Platform 1 (2015), API Platform 2 (2016), Symfony 3.3 (2017, 'magic' API resource basée sur le conteneur de services + tag manuel), Symfony 4 (configuration automatique, service privé avec optimisation), Symfony 5.3 PHP8 (2019, arrivée des attributs), Symfony 6 (2021, les attributs deviennent la norme), API Platform 3 (2022, state processor), Symfony 7 (2023, autowire, iterator). Flèche descendante indique 'un parcours évolutif vers une simplification'.

Symfony & l'injection de dépendances : du passé au futur

Publié le 29 novembre 2025
Par Imen Ezzine
🐘 PHP 🏗️ Architecture
📅 API Platform Conference
Sketchnote sur la normalisation des erreurs d'API. Le concept central: erreur = comportement inattendu. L'objectif avec cible: expliquer pourquoi ça marche pas et quoi faire. Identification des problèmes, retry/mécanisme continu. Section 'Comment' détaille: Cataloguer (ce qui peut arriver dans mon système, ce qui peut arriver hors de mon système, ce qui est rare et que je gère pas), Formater (RFC 7807 vers RFC 9457). Dans API Platform l'erreur est un 'ornithorynque' - c'est un assemblage de concepts: exception, error, resource. L'idée ampoule: étendre l'assemblage pour notre domaine, ajouter des metadata pour l'automatisation. Un ornithorynque illustre le concept.

Rendez vos devs front heureux en normalisant toutes vos erreurs d'API

Publié le 29 novembre 2025
Par Clément Herreman
🔗 API 🐘 PHP
📅 API Platform Conference
Sketchnote sur les formats de configuration Symfony avec citation de Ryan Weaver 'Be aggressive, focus on beginner'. Le problème identifié: 3 choix de config (même XML) avec icônes. L'objectif: réduire les choix. Trois cibles présentées: Remove XML dependency (self analysis component and feature, process all, find the latest mandatory XML config file), Improve YAML (add JSON schema for validation and completion for Symfony YAML and bundles), Improve PHP (array shape generation). Le but final: auto completion, static analysis, symbol referencing, automated patching, compile time only avec illustration d'un robot.

Config format and Symfony: let's talk about DX

Publié le 29 novembre 2025
Par Nicolas Grekas
🐘 PHP 🛠️ Tools
📅 API Platform Conference
Sketchnote détaillant la migration d'Apache vers FrankenPHP. La stack initiale montre plusieurs outils similaires (front/back) sans DevOps, simplifiant l'infra. Le choix radical: un conteneur pour tous avec Nginx pour HTTPS. L'idée: remplacer par FrankenPHP, présenté avec le crabe mascotte. La POC (Proof of Concept) est décrite comme 'aussi simple que changer le Dockerfile', automatisable et packageable. Les avantages incluent: par stack donc coûts non automatisables.

De Apache à FrankenPHP : simplifier notre infra sans douleur

Publié le 29 novembre 2025
Par Yoan Bernabeu
🐘 PHP 🚀 Performance 🔧 DevOps
📅 API Platform Conference