Aller au contenu principal
Développement, Architecture

Middleware

Un middleware est un composant logiciel qui intercepte et traite les requêtes HTTP entre le client et l'application. Il permet d'ajouter des comportements transverses (authentification, logging, CORS, rate limiting) sans polluer la logique métier.

Pipeline de traitement

Les middlewares forment un pipeline : chaque requête les traverse dans l'ordre, et chacun peut modifier la requête, la réponse ou court-circuiter le traitement. En Symfony, ce rôle est rempli par les Event Listeners et le composant HttpKernel.

Cas d'usage courants

Authentification (vérifier les tokens), rate limiting (protéger contre les abus), CORS (contrôler les appels cross-origin), logging (tracer les requêtes) et compression (gzip/brotli). Les middlewares gardent les contrôleurs focalisés sur le métier.

Les middlewares incarnent le principe de séparation des responsabilités : la logique transverse (sécurité, logging, cache) est isolée du code métier, ce qui facilite la maintenance et les tests.

Même catégorie

Autres termes : Développement

A/B testing L'A/B testing compare deux variantes d'une fonctionnalité pour identifier celle qui performe le mieux. Méthode, outils et limites pour des décisions éclairées.
arrow_forward
API Une API (Application Programming Interface) est un contrat d'échange entre deux systèmes logiciels. Découvrez son rôle central dans les architectures web modernes.
arrow_forward
API Platform API Platform est le framework de référence pour créer des API REST et GraphQL en PHP/Symfony. Découvrez ses fonctionnalités et son rôle dans les architectures modernes.
arrow_forward
Accessibilité web L'accessibilité web (a11y) consiste à concevoir des sites et applications utilisables par tous, y compris les personnes en situation de handicap.
arrow_forward
Backend Le backend est la partie invisible d'une application web : serveur, base de données, logique métier et API. C'est le moteur qui fait tourner votre produit.
arrow_forward
Base de données Une base de données est un système organisé de stockage et de récupération d'informations. Relationnelle ou NoSQL, elle est au cœur de toute application web.
arrow_forward
Cache Le cache est un mécanisme de stockage temporaire qui améliore drastiquement les performances web. Niveaux de cache, invalidation et bonnes pratiques Symfony.
arrow_forward
Clean code Le clean code est une discipline de développement qui privilégie la lisibilité, la simplicité et la maintenabilité du code source.
arrow_forward
Code legacy Le code legacy désigne du code ancien, difficile à maintenir et à faire évoluer. Comment l'identifier, le gérer et le moderniser progressivement.
arrow_forward
Core Web Vitals Les Core Web Vitals (LCP, INP, CLS) sont les métriques Google qui mesurent l'expérience utilisateur et influencent le classement SEO de votre site.
arrow_forward
Data pipeline Un data pipeline est une chaîne automatisée de traitements qui collecte, transforme et achemine les données d'une source vers une destination.
arrow_forward
Design patterns Les design patterns sont des modèles de conception réutilisables qui résolvent des problèmes architecturaux fréquents en développement logiciel.
arrow_forward
Design system Un design system est un ensemble de composants, règles et guidelines partagés qui garantissent la cohérence visuelle et fonctionnelle d'un produit.
arrow_forward
Dette technique La dette technique est le coût caché des compromis techniques accumulés dans un projet. Découvrez comment l'identifier, la mesurer et la maîtriser avant qu'elle ne bloque votre évolution.
arrow_forward
ETL L'ETL (Extract, Transform, Load) est un processus de migration et d'intégration de données entre systèmes. Le socle de toute stratégie data.
arrow_forward
Elasticsearch Elasticsearch est un moteur de recherche et d'analyse distribué. Découvrez ses fonctionnalités, ses cas d'usage et comment il améliore l'expérience de recherche dans vos applications.
arrow_forward
Feature flags Les feature flags permettent d'activer ou désactiver des fonctionnalités en production sans nouveau déploiement. Un levier puissant pour livrer plus vite et réduire les risques.
arrow_forward
Framework Un framework est un socle logiciel structurant qui fournit conventions, outils et bibliothèques pour développer plus vite et plus proprement.
arrow_forward
Frontend Le frontend est la partie d'une application web avec laquelle l'utilisateur interagit directement : HTML, CSS, JavaScript et frameworks comme React.
arrow_forward
Headless CMS Un headless CMS sépare la gestion du contenu de sa présentation. Il expose le contenu via une API, consommable par n'importe quel front-end.
arrow_forward
Injection SQL L'injection SQL est une attaque qui manipule les requêtes de base de données via des entrées utilisateur non filtrées. Une menace toujours d'actualité.
arrow_forward
Jamstack La Jamstack (JavaScript, APIs, Markup) est une architecture web qui pré-génère les pages et s'appuie sur des API pour le contenu dynamique.
arrow_forward
Laravel Laravel est un framework PHP populaire qui privilégie la productivité et l'expérience développeur. Découvrez ses forces, ses limites et sa comparaison avec Symfony.
arrow_forward
Lighthouse Lighthouse est l'outil open source de Google qui audite performance, accessibilité, SEO et bonnes pratiques d'une page web avec un score sur 100.
arrow_forward
Monorepo Un monorepo regroupe plusieurs projets ou modules dans un même dépôt Git. Avantages, inconvénients et quand cette stratégie est pertinente.
arrow_forward
NoSQL NoSQL désigne les bases de données non relationnelles, conçues pour la flexibilité, la scalabilité horizontale et les structures de données variées.
arrow_forward
OAuth2 / Authentification OAuth2 est le standard d'autorisation qui sécurise l'accès aux API et aux applications web. Découvrez ses mécanismes, ses flux et comment les implémenter correctement.
arrow_forward
ORM L'ORM (Object-Relational Mapping) permet de manipuler la base de données comme des objets PHP. Doctrine, le standard Symfony, et ses pièges de performance.
arrow_forward
OWASP L'OWASP (Open Web Application Security Project) est une organisation qui publie les standards de référence en matière de sécurité applicative, dont le célèbre Top 10.
arrow_forward
Observabilité L'observabilité est la capacité à comprendre l'état d'un système à partir de ses sorties. Logs, métriques et traces : les trois piliers pour piloter vos applications.
arrow_forward
PHP Découvrez PHP, le langage de programmation serveur le plus utilisé au monde. Ses forces, ses évolutions récentes et pourquoi il reste un choix stratégique pour vos projets web.
arrow_forward
PWA Une PWA est une application web qui offre une expérience proche d'une application native. Découvrez ses fonctionnalités, ses avantages et quand la préférer à une app mobile classique.
arrow_forward
Pentesting Le pentesting (test d'intrusion) consiste à simuler des attaques sur une application pour identifier ses vulnérabilités avant qu'un attaquant ne les exploite.
arrow_forward
PostgreSQL PostgreSQL est le système de gestion de base de données relationnelle open source le plus avancé. Découvrez ses forces, ses fonctionnalités et pourquoi le choisir pour vos projets.
arrow_forward
REST API Une REST API est une interface de programmation qui permet à des applications de communiquer via HTTP. Découvrez ses principes, ses bonnes pratiques et son rôle dans les architectures modernes.
arrow_forward
React React est la bibliothèque JavaScript la plus populaire pour construire des interfaces utilisateur dynamiques. Découvrez ses principes, ses avantages et ses cas d'usage.
arrow_forward
Redis Redis est un système de stockage en mémoire utilisé pour le cache, les files de messages et les sessions. Découvrez comment il accélère vos applications web.
arrow_forward
Refactoring Le refactoring consiste à restructurer du code existant pour le rendre plus lisible, maintenable et évolutif, sans modifier son comportement fonctionnel.
arrow_forward
Refonte d'application La refonte d'application consiste à reconstruire un logiciel existant. Découvrez les signaux qui l'imposent, les stratégies possibles et les pièges à éviter.
arrow_forward
SOLID SOLID est un acronyme regroupant cinq principes de conception orientée objet qui guident l'écriture de code flexible, maintenable et extensible.
arrow_forward
SQL SQL (Structured Query Language) est le langage standard pour interroger et manipuler les bases de données relationnelles. Un fondamental du développement web.
arrow_forward
SSR / CSR Le SSR (Server-Side Rendering) et le CSR (Client-Side Rendering) sont deux approches de rendu des pages web. Découvrez leurs différences, avantages et cas d'usage respectifs.
arrow_forward
Stack technique La stack technique est l'ensemble des technologies qui composent votre application. Découvrez comment la choisir pour garantir performance, maintenabilité et pérennité.
arrow_forward
Symfony Symfony est le framework PHP de référence pour les applications web d'entreprise. Découvrez ses avantages, son architecture et pourquoi les équipes techniques le choisissent.
arrow_forward
TailwindCSS TailwindCSS est un framework CSS basé sur des classes utilitaires. Découvrez son approche, ses avantages et pourquoi il accélère le développement d'interfaces web modernes.
arrow_forward
Tests automatisés Les tests automatisés vérifient le bon fonctionnement de votre application à chaque modification de code. Découvrez les différents types de tests et leur rôle dans un projet web.
arrow_forward
UX/UI L'UX (expérience utilisateur) et l'UI (interface utilisateur) sont deux disciplines complémentaires qui déterminent la qualité perçue d'une application.
arrow_forward
Vite Vite est un outil de build et de développement front-end qui révolutionne la vitesse de compilation. Découvrez son fonctionnement, ses avantages et son intégration avec Symfony.
arrow_forward
Vulnérabilité Une vulnérabilité est une faiblesse exploitable dans un logiciel ou une infrastructure. Découvrez les types de failles, les bases CVE/CVSS et les bonnes pratiques de prévention.
arrow_forward
Web scraping Le web scraping est une technique d'extraction automatisée de données depuis des pages web. Cas d'usage, cadre légal et bonnes pratiques.
arrow_forward
WebSocket Le protocole WebSocket permet une communication bidirectionnelle en temps réel entre le navigateur et le serveur. Découvrez ses cas d'usage et son fonctionnement.
arrow_forward
Webhook Un webhook est un mécanisme de callback HTTP qui permet à une application de notifier une autre en temps réel lorsqu'un événement se produit. Fonctionnement et cas d'usage.
arrow_forward
XSS Le XSS (Cross-Site Scripting) est une vulnérabilité qui permet d'injecter du code malveillant dans une page web vue par d'autres utilisateurs.
arrow_forward

Même catégorie

Autres termes : Architecture

API Une API (Application Programming Interface) est un contrat d'échange entre deux systèmes logiciels. Découvrez son rôle central dans les architectures web modernes.
arrow_forward
API Gateway Une API Gateway est un composant d'architecture qui centralise les appels vers vos API, gérant authentification, rate limiting et routage.
arrow_forward
API Platform API Platform est le framework de référence pour créer des API REST et GraphQL en PHP/Symfony. Découvrez ses fonctionnalités et son rôle dans les architectures modernes.
arrow_forward
Architecture web L'architecture web définit la structure technique d'une application. Découvrez les principes fondamentaux pour concevoir des systèmes robustes, performants et maintenables.
arrow_forward
Audit technique L'audit technique analyse la qualité, la sécurité et la performance de votre application web. Découvrez ce qu'il couvre, comment il se déroule et ce qu'il vous apporte.
arrow_forward
Backend Le backend est la partie invisible d'une application web : serveur, base de données, logique métier et API. C'est le moteur qui fait tourner votre produit.
arrow_forward
Base de données Une base de données est un système organisé de stockage et de récupération d'informations. Relationnelle ou NoSQL, elle est au cœur de toute application web.
arrow_forward
Data pipeline Un data pipeline est une chaîne automatisée de traitements qui collecte, transforme et achemine les données d'une source vers une destination.
arrow_forward
Design patterns Les design patterns sont des modèles de conception réutilisables qui résolvent des problèmes architecturaux fréquents en développement logiciel.
arrow_forward
ETL L'ETL (Extract, Transform, Load) est un processus de migration et d'intégration de données entre systèmes. Le socle de toute stratégie data.
arrow_forward
Headless CMS Un headless CMS sépare la gestion du contenu de sa présentation. Il expose le contenu via une API, consommable par n'importe quel front-end.
arrow_forward
Jamstack La Jamstack (JavaScript, APIs, Markup) est une architecture web qui pré-génère les pages et s'appuie sur des API pour le contenu dynamique.
arrow_forward
Knowledge silo Un knowledge silo se forme lorsqu'une seule personne détient la compréhension critique d'une partie du système. Risques et pratiques pour les éliminer.
arrow_forward
Microservices L'architecture microservices découpe une application en services indépendants, chacun responsable d'une fonction métier. Découvrez ses avantages, ses contraintes et quand la choisir.
arrow_forward
Migration technique La migration technique consiste à faire évoluer le socle technologique d'une application existante. Objectifs, stratégies et pièges à éviter pour réussir une migration.
arrow_forward
Monolithe L'architecture monolithique regroupe toute la logique d'une application dans un seul déploiement. Découvrez pourquoi elle reste le choix le plus pragmatique pour la plupart des projets web.
arrow_forward
Multi-tenant L'architecture multi-tenant permet de servir plusieurs clients (tenants) avec une seule instance d'application. Découvrez ses modèles, ses avantages et ses défis techniques.
arrow_forward
NoSQL NoSQL désigne les bases de données non relationnelles, conçues pour la flexibilité, la scalabilité horizontale et les structures de données variées.
arrow_forward
ORM L'ORM (Object-Relational Mapping) permet de manipuler la base de données comme des objets PHP. Doctrine, le standard Symfony, et ses pièges de performance.
arrow_forward
Performance web La performance web mesure la rapidité et la réactivité d'une application. Découvrez pourquoi elle est critique pour l'expérience utilisateur, le SEO et votre activité.
arrow_forward
REST API Une REST API est une interface de programmation qui permet à des applications de communiquer via HTTP. Découvrez ses principes, ses bonnes pratiques et son rôle dans les architectures modernes.
arrow_forward
Replatforming Le replatforming consiste à migrer une application vers une nouvelle plateforme technique en conservant les fonctionnalités existantes. Quand et comment l'envisager.
arrow_forward
Reverse proxy Un reverse proxy (Nginx, Varnish, Traefik) intercepte les requêtes avant votre application pour gérer cache, SSL, compression et protection contre les attaques.
arrow_forward
SOLID SOLID est un acronyme regroupant cinq principes de conception orientée objet qui guident l'écriture de code flexible, maintenable et extensible.
arrow_forward
SSO (Single Sign-On) Le Single Sign-On (SSO) permet de se connecter une seule fois pour accéder à plusieurs applications. Fonctionnement, protocoles et bénéfices pour votre organisation.
arrow_forward
SSR / CSR Le SSR (Server-Side Rendering) et le CSR (Client-Side Rendering) sont deux approches de rendu des pages web. Découvrez leurs différences, avantages et cas d'usage respectifs.
arrow_forward
SaaS Le SaaS est un modèle de distribution logicielle où l'application est hébergée dans le cloud et accessible via un navigateur. Découvrez ses caractéristiques, avantages et enjeux techniques.
arrow_forward
Scalabilité La scalabilité est la capacité d'une application à absorber une augmentation de charge sans dégradation. Découvrez ses principes, ses stratégies et comment anticiper la montée en charge.
arrow_forward
Serverless Le serverless est un modèle d'exécution cloud où le fournisseur gère l'infrastructure. Vous ne payez que le temps d'exécution réel de vos fonctions.
arrow_forward
Symfony Symfony est le framework PHP de référence pour les applications web d'entreprise. Découvrez ses avantages, son architecture et pourquoi les équipes techniques le choisissent.
arrow_forward
WebSocket Le protocole WebSocket permet une communication bidirectionnelle en temps réel entre le navigateur et le serveur. Découvrez ses cas d'usage et son fonctionnement.
arrow_forward
Webhook Un webhook est un mécanisme de callback HTTP qui permet à une application de notifier une autre en temps réel lorsqu'un événement se produit. Fonctionnement et cas d'usage.
arrow_forward
Voir tout le glossaire arrow_forward

Un projet en lien avec middleware ?

Échangeons sur vos enjeux techniques. Pas de discours commercial, pas de jargon inutile : un diagnostic clair et des solutions concrètes.