Mathieu Desnouveaux

PHP - Page 3

Page 3 sur 5 - Sketchnotes 25-36 sur 58

🐘

PHP et écosystème Symfony

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
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
Sketchnote illustrant les design patterns essentiels . Sept patterns sont présentés avec leurs diagrammes: Strategy (permet de gérer des algorithmes similaires), Adapter (transformation d'interface vers API/DB), Factory (options vers objet), Builder (utile dans les tests, chaîne de construction d'objet), Proxy (objet intermédiaire), Observer (regarde l'objet, exécute le code de l'observer si l'observé bouge), Decorator (pour ajouter un comportement à un objet), Facade (masque la complexité), et Chain of Responsibility (pour enchaîner les comportements).

Design Pattern: le trésor est dans le vendor

Publié le 29 novembre 2025
Par Smaine Milianni
🏗️ Architecture 🐘 PHP
📅 API Platform Conference
Sketchnote présentant les nouveautés d'API Platform 4.2. Les éléments clés incluent: Metadata (behind API resources, adding mutator), ApiFilter (4 types de fonctionnalités), Parameter (has type now, URI variable provider), JSON Schema Enhancement (PB23F OpenAPI validator), State Options (by Symfony Object Mapper), JSON Streamer, Laravel, FrankenPHP (worker node faster) et une flèche vers la version 5.0 avec l'arraigné, mascotte du framework.

How API Platform 4.2 is redefining API development

Publié le 29 novembre 2025
Par Antoine Bluchet
🔗 API 🐘 PHP
📅 API Platform Conference
Sketchnote détaillant les meilleures pratiques Composer en 2025. Le schéma aborde la mise à jour depuis Composer 1, qui est déprécié, la sécurité de la supply chain contre les attaques en ligne avec appel à financer cette sécurité. Les nouveautés incluent SemVer (gestion des versions majeures, mineures, contraintes), Forking (non temporaire, problématique à long terme, dernier recours avec nom de paquet), Partial Update (mise à jour sélective avec dépendances mixtes, pull-only), Bump/Audit/Monorepo. Les conseils pratiques incluent l'utilisation de repository privé, la mise à jour fréquente et automatique des dépendances.

Composer Best Practice in 2025

Publié le 29 novembre 2025
Par Nils Adermann
🛠️ Tools 🐘 PHP 🔒 Security
📅 API Platform Conference
Sketchnote illustrant l'intégration de gRPC dans API Platform. Le schéma montre l'architecture avec FrankenPHP comme connecteur central entre un client, API Platform (écrit en PHP) et une API Go utilisant gRPC. Les avantages de gRPC sont mis en avant: format binaire, faible latence, typage fort et agnosticisme du langage. Les cas d'usage concernent les micro-services, l'IoT ou encore les projets demandant de la résilience.

Enhance your API Platform APIs with Go thanks to FrankenPHP

Publié le 29 novembre 2025
Par Kévin Dunglas
🔗 API 🚀 Performance 🐘 PHP
📅 API Platform Conference
Sketchnote illustrant la programmation asynchrone en PHP présentée lors d'un meetup AFUP Lorraine. Le schéma explique ce qui ne se déroule pas en même temps grâce au parallélisme. Trois modes d'exécution sont comparés : séquentiel (tâches 1-2-3-4 en série), asynchrone (tâches 1-2 puis 4 pendant que 3 s'exécute), et parallèle (tâches 1-2-4 pendant tâche 3). Le traitement non bloquant est possible depuis PHP 3 avec set/stream_select, puis les coroutines depuis PHP 5.5 via les générateurs, les Fiber depuis PHP 8.1, et l'event loop qui connecte Promises et Futur. En discussion : RFC true async pour enchaîner rapidement ces mécanismes.

PHP est-il asynchrone ?

Publié le 08 décembre 2025
Par Frédéric Bouchery
🐘 PHP 🚀 Performance
📅 AFUP Lorraine
Cette sketchnote représente la conférence 'Le lazy-loading est plus que vous ne le pensez !' présentée par Baptiste Leduc lors de l'AFUP Day Lille le 16 mai. En haut, le titre 'Lazy Loading' est affiché en gros caractères avec le sous-titre 'Charger les données quand on en a besoin'. À gauche, des illustrations représentent '4 Patterns' avec des icônes pour 'Initialization', 'Value Holder', 'Virtual Proxies', et 'Ghost Object'. Au centre, des annotations comme 'Intégré à PHP 8.4' sont illustrées. À droite, des icônes représentent 'Usages' avec 'Injection de dépendance chez Symfony' et 'Entité Doctrine'. En bas, des icônes illustrent 'Cas concret PIM' avec 'Retour des produits par API', 'Les appels sont exécutés en tâche de fond', 'Bloquant uniquement si on accède réellement aux données immédiatement', 'Un listener charge les données', 'Chargement asynchrone avec HTTP client', et 'Batch des requêtes multiples'.

Le lazy-loading est plus que vous ne le pensez !

Publié le 19 mai 2025
🚀 Performance 🐘 PHP 🏗️ Architecture
📅 AFUP Day