Mathieu Desnouveaux

PHP - Page 2

Page 2 sur 5 - Sketchnotes 13-24 sur 58

🐘

PHP et écosystème Symfony

Sketchnote illustrant le Symfony Scheduler présentée par Jérémie Augustin au Symfony Live Paris 2026. Le schéma montre les tâches automatisées et programmées, avec les risques associés : pas d'exécution ou exécution multiple, visibilité manquante, scalabilité imparfaite, accès limité. La gestion de l'automatisation pointe vers Symfony Scheduler avec la mention "Merci Symfony pour les composants". La progression technique va de Monothread vers Multi Worker, puis Monitoring et Alerte. Le cas Legacy est traité avec les apports Symfony en DX, Test et Visibilité.

100 crons par seconde, le Scheduler se venge

Publié le 31 mars 2026
Par Jérémie Augustin
🐘 PHP 🚀 Performance
📅 Symfony Live
Sketchnote illustrant le chiffrement de données avec Doctrine tout en restant recherchable, présentée par Jérôme Tamarelle au Symfony Live Paris 2026. Le schéma distingue informations personnelles directes et indirectes. Le chiffrement peut être aléatoire ou déterministe. Le mécanisme montre : données → clé par donnée → master clé. La question "où chiffrer ?" propose trois options : DB, Infra ou Code. Dans Doctrine, un nouveau Type implémente le chiffrement et le déchiffrement. La recherche s'effectue par chiffrement des éléments des recherches.

Chiffrez vos données avec Doctrine, en restant recherchable

Publié le 31 mars 2026
Par Jérôme Tamarelle
🐘 PHP 🔒 Security 📊 Data
📅 Symfony Live
Sketchnote illustrant la conception de TUI en PHP avec le composant Symfony Terminal, présentée par Fabien Potencier au Symfony Live Paris 2026. Le schéma montre que l'interface de terminal fonctionne aussi pour les agents. Les widgets s'écrivent en PHP ou Twig, avec une collection native et une customisation facilitée. La boucle asynchrone via PHP Fiber et Revolt rend le rendu non bloquant. L'architecture propose de séparer comportements et interfaces : Console d'un côté, TUI de l'autre. Le composant exploite les fonctionnalités natives des terminaux : Focus Event, Key Binding et Mouse (expérimental). Le stress test passe par la création de jeux comme 2048 et Tetris, mais aussi les slides.

Concevoir des TUI en PHP : le composant Symfony Terminal

Publié le 31 mars 2026
Par Fabien Potencier
🐘 PHP 🛠️ Tools
📅 Symfony Live
Sketchnote illustrant les filtres API Platform présentée lors d'un meetup AFUP Lorraine. Le schéma explique qu'un filtre permet de limiter des ressources selon des critères par des attributs sur nos entités (ORM/ODM & Elastic Search). Il y a une refonte suite à l'arrivée de la compatibilité avec Laravel. Le découpage d'un filtre fourre-tout (SearchFilter avec IRI Filter, Exact Filter, Partial Filter, OR Filter, etc.) devient plus simple et respectueux. Les filtres plus simples montrent l'usage d'objets > tableaux pour la maintenance du framework et la possibilité de créer ses filtres personnalisés avec un Query Builder. Le Parameter Provider permet de transformer un paramètre (URI + parent + chain + resource) et la documentation automatique. La génération par Maker ainsi que la migration sans BC break avec les commandes Maker & Rector pour migrer.

API Platform : repenser les filtres

Publié le 30 novembre 2025
Par Vincent Amstoutz
🐘 PHP 🔗 API 🏗️ Architecture
📅 AFUP Lorraine
Sketchnote illustrant Symfony UX présentée lors d'un meetup AFUP Lorraine. Le schéma montre comment faire du front sans être un expert avec des composants Twig (classe PHP + template) incluant du PHP. Les Live Component permettent la mise à jour du front avec des éléments d'interaction dans la classe PHP déclenchant une mise à jour du composant. Les Live Action ajoutent des actions interactives. Les Live Listener écoutent les événements déclenchés par un composant. Le Formulaire permet la validation déclenchée par une Live Action. Stimulus est une librairie JavaScript au cœur de Symfony UX avec la possibilité d'étendre les fonctionnalités en JS.

Découverte de Symfony UX

Publié le 30 novembre 2025
Par Kevin Nadin
🐘 PHP 🎨 Frontend
📅 AFUP Lorraine
Sketchnote illustrant la gestion des dépréciations en PHP présentée au Forum PHP 2025. Le cycle montre: code, modification, dépréciation (signal clair d'évolution d'une version de code à une autre), log de dépréciations, traitement des dépréciations. La dépréciation est une feature à venir avec automatiser les corrections (robot). PHPUnit et Bridge permettent d'isoler les dépréciations pour les traiter (au runtime via des tests ou en static via une évolution de PHPStan). L'error handler intercepte la dépréciation. Liste les dépréciations dans un hook, jira (ampoule). Suivre un chemin de migration continue. Les dépréciations Symfony vont de l'angoisse à l'opportunité.

Comment ne jamais être à court de chaussettes propres

Publié le 30 novembre 2025
Par Mathias Arlaud
🐘 PHP 🛠️ Tools
📅 Forum PHP
Sketchnote illustrant comment utiliser PHP pour créer des jeux vidéo sur console au Forum PHP 2025. Le parcours commence avec les jeux vidéo 2D puis le hack (rétro ingénierie) permettant de construire avec Unity. Un manque de challenge mène à utiliser KallistyOS (SDK non officiel, moderne, pas un OS) avec Dreamcast. Le processus PHP inclut: compiler PHP, désactiver les extensions, modifier PHP, puis PHPEmbed menant à embarquer PHP. Un affichage par double buffering permet de coder le jeu. Il y a ensuite allouer correctement la mémoire et préallouer via un registre. Le fork de PHP (PTSD) mène à d'autres supports. Un chemin montre reste à faire et optimisation.

Et si vous utilisiez PHP pour coder des jeux sur votre console de jeux (favorite)

Publié le 30 novembre 2025
Par Éric Courtial
🐘 PHP 🎭 Culture Inspiration
📅 Forum PHP
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 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 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