Mathieu Desnouveaux

Sketchnotes - Page 2

Page 2 sur 13 - Sketchnotes 13-24 sur 145

145 sketchnotes disponibles
Sketchnote illustrant le fonctionnement interne de Composer présentée au Forum PHP 2025. Le schéma montre Composer comme chef d'orchestre des dépendances PHP. Deux commandes principales: composer install (PROD - résolution des dépendances menant aux contraintes de version, puis cryptographie avec hash, optimisation de l'autoloader menant à la performance) et composer update (DEV). L'autoloader est central avec PSR4 par défaut à la volée, les fichiers ACPU (class map en RAM), et files inclusion. Un encadré montre contraintes avec WHY (qui utilise la dépendance?), WHY NOT (pourquoi ça bloque?), et DEPENDS (qui dépend de qui?). PSR0 est barré en rouge.

Sous le capot de Composer : comprendre l'outil qu'on utilise tous les jours

Publié le 30 novembre 2025
Par Félix Eyholot
🐘 PHP 🛠️ Tools
📅 Forum PHP
Sketchnote illustrant FrankenPHP et ses fonctionnalités avancées présentée au Forum PHP 2025. Le schéma montre que FrankenPHP est un moteur d'exécution PHP, supporte PDP PHP Foundation, et simplifie le déploiement et le packaging d'application. Six features principales sont présentées: 103 Early Hints (permet de préciser rapidement quoi prétélécharger, accélère la récupération des assets), Mercure (envoi de messages aux clients, notification simple), Binaire Static (package Franken, Caddy et le code source pour des déploiements simples), Worker Mode (garde en mémoire l'application, optimise considérablement les performances), Go Extension (simplifie le développement d'extension PHP, directement en Go), et Go Worker (permet d'exécuter du code en arrière plan Pargo avec gRPC dans FrankenPHP, Web Socket, FrankenPHP Queue).

FrankenPHP en dehors des sentiers battus

Publié le 30 novembre 2025
Par Kevin Dunglas
🐘 PHP 🚀 Performance 🛠️ Tools
📅 Forum PHP
Sketchnote illustrant les principes SOLID et l'injection de dépendances pour la performance au Forum PHP 2025. Le schéma montre les 5 principes SOLID (S-Responsabilité unique n'avoir qu'une seule raison de changer, O-Ouvert/Fermé ouvert à l'extension fermé à la modification on peut empiler des couches sans tout changer, L-Substitution de Liskov permet d'utiliser n'importe quelle classe fille, I-Ségrégation des interfaces réduit les interfaces et évite le couplage, D-Inversion de dépendance dépendre d'abstraction). Deux moments d'utilisation: 1-Au build (chercher les implémentations, ajout dans un fichier PHP), 2-Au runtime (on utilise le fichier). Extensions via décorateur (compiler pass) ou un attribut. L'injection de dépendance utilise les attributs pour identifier, configurer et décorer les dépendances. Pour résoudre des problèmes de perf, la solution est Lazyness avec un paresseux qui dit 'voir les détails dans la doc'.

PERF & Injection de dépendance - Êtes-vous assez paresseux-ses

Publié le 30 novembre 2025
Par Nicolas Grekas
🐘 PHP 🏗️ Architecture 🚀 Performance
📅 Forum PHP
Sketchnote illustrant Kubernetes de manière visuelle présentée au Forum PHP 2025. Le schéma explique comment représenter un Pod (Pokeball avec Kube logo - un chef d'orchestre). Le Node peut être une machine physique ou virtuelle, contenant la plus petite unité déployable (Pod avec containers). Le Service permet DNS, IP, Alias pour accéder au Pod. Le Namespace permet l'isolation des ressources. Les Jobs sont des processus longs (ponctuel, séquentiel, parallel) et les CronJobs sont des jobs périodiques. Le ConfigMap contient Config (clé) avec Pod et Secret (cadenas). Tout le monde est différent est illustré au bas.

Understanding Kubernetes The Visual Way

Publié le 30 novembre 2025
Par Aurélie Vache
🔧 DevOps 🏗️ Architecture
📅 Forum PHP
Sketchnote illustrant les Lightning Talks présentés au Forum PHP 2025. Six talks rapides sont présentés: IA & Doc (maillon faible, au final le code fait foi, remettre la doc au centre, via l'IA), Pourquoi parler en conf' (meet up, livre, première conf', 'Ah c'était ça' avec des personnes), MIDI & iPad (PHPWin serveur PHP sur iOS + AMP + UDP + MIDI menant à un clavier), Upgrade (alerte - régulièrement, par petits pas, vector pour automatiser, suivre une feuille de route avec une vague), Rater sa conf' (code source dans les slides, stress au maximum, parler vite, ajouter de l'imprévu), et 45 ans du Minitel (oui se sais c'est pas un minitel, gratuit, service gratuit & payant, mort, mais revenu à la vie).

Lightning Talks

Publié le 30 novembre 2025
Par Divers intervenants
🎭 Culture 🛠️ Tools 💡 Soft Skills
📅 Forum PHP
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 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