Glossaire du Développement Backend

100 termes backend expliqués en français — avec du code exécutable en quatre langages, des diagrammes d'architecture et des tableaux comparatifs. De nouveaux termes sont traduits en continu ; le glossaire complet en anglais compte 100 termes.

Architecture Cloud et Modèles d'Hébergement

Architecture Découplée (Backend Headless) L'architecture découplée est une conception où le frontend et le backend sont des systèmes distincts qui communiquent uniquement via des API. Architecture Serverless L'architecture serverless est un modèle d'exécution cloud où le fournisseur exécute votre code à la demande : vous ne provisionnez ni ne gérez aucun serveur. BaaS Open-Source vs. BaaS Propriétaire Géré Un BaaS open-source est une plateforme backend dont le cœur peut être auto-hébergé ; un BaaS propriétaire ne tourne que sur l'infrastructure du fournisseur. BaaS vs. Construire son Propre Backend BaaS vs. backend sur mesure est un choix entre acheter et construire : adopter un backend prêt derrière un SDK, ou concevoir et opérer le vôtre. BaaS vs. Serverless Le serverless est un modèle d'exécution où le fournisseur exécute le code à la demande ; le BaaS est un modèle serverless qui livre le backend pré-construit. CDN (Content Delivery Network) Un CDN est un réseau de serveurs distribués qui met le contenu en cache près des utilisateurs, pour que pages et fichiers se chargent vite partout. CI/CD (Intégration et Livraison Continues) La CI/CD est une pratique qui automatise le build, les tests et la mise en production du code, pour que chaque changement avance par petites étapes. Code Boilerplate Backend Le code boilerplate backend est une masse de plomberie côté serveur répétitive — auth, CRUD, config — écrite de la même façon projet après projet. Conteneurisation La conteneurisation est une façon d'empaqueter une app avec toutes ses dépendances dans une unité isolée qui s'exécute à l'identique sur n'importe quel hôte. Développement No-Ops (Zero-Ops) Le No-Ops est un modèle opérationnel où la plateforme automatise si bien la couche infrastructure que les développeurs livrent du code sans équipe ops. Hébergement Multi-Tenant dans le Cloud L'hébergement multi-tenant dans le cloud est un modèle où les mêmes serveurs et logiciels servent de nombreux clients, avec une isolation logique entre tenants. IaaS vs. PaaS vs. CaaS vs. FaaS vs. BaaS vs. mBaaS vs. SaaS Le spectre des modèles de service cloud est une échelle — IaaS, CaaS, PaaS, FaaS, BaaS, mBaaS, SaaS — classée selon ce que le fournisseur opère pour vous. Infrastructure en tant que Service (IaaS) IaaS est un modèle cloud qui loue des ressources de calcul fondamentales — machines virtuelles, stockage, réseau — à la demande, facturées à la consommation. Isolation entre Staging et Production en BaaS L'isolation staging-production est une pratique qui sépare apps, bases et clés par environnement, pour que les tests ne touchent jamais les données réelles. Kubernetes Kubernetes est une plateforme open-source qui automatise le déploiement, la mise à l'échelle et l'exploitation d'apps conteneurisées sur plusieurs machines. mBaaS vs. BaaS Le mBaaS est la forme mobile-first du Backend as a Service ; le BaaS est le modèle plus large qui sert indifféremment les clients mobiles, web et serveur. Microservices vs. Monolithe Un monolithe est une application déployée d'un seul bloc ; les microservices la découpent en petits services déployés indépendamment qui dialoguent via des API. PaaS vs. BaaS PaaS est un modèle cloud où le fournisseur opère la plateforme sur laquelle votre code se déploie, mais vous écrivez et maintenez toujours l'application. Scalabilité des Backends d'Applications Modernes Mettre à l'échelle un backend moderne est le processus d'ajout de capacité — compute, base de données, diffusion — pour que le trafic croissant reste rapide. Stockage d'Objets Géré et Diffusion des Assets Le stockage d'objets géré est un service BaaS qui stocke les fichiers envoyés via les SDK et les sert par des URL adossées à un CDN, avec contrôle d'accès. Vendor Lock-In dans le Cloud Le vendor lock-in cloud est une dépendance à un fournisseur si profonde que changer coûterait plus cher — en argent, temps et risque — que rester.

Bases de Données et Scalabilité

API de Base de Données Générées Automatiquement (GraphQL et REST) Une API de base de données générée automatiquement est une interface créée par un outil qui lit votre schéma et expose des endpoints REST ou GraphQL. Architecture de Base de Données Multi-Tenant L'architecture de base de données multi-tenant est un modèle qui stocke de nombreux clients dans une couche de données, isolés par ligne, schéma ou base dédiée. Champs Pointer vs. Relation dans la Modélisation BaaS Un champ Pointer est une référence typée vers un seul objet ; un champ Relation est une jointure gérée qui relie plusieurs objets à plusieurs autres. Couche d'Abstraction de Base de Données Une couche d'abstraction de base de données est une API entre votre code et la base de données qui masque le moteur, le dialecte et le driver sous-jacents. Gestion Visuelle de Base de Données (Interfaces type Tableur) La gestion visuelle de base de données est une façon de gérer les données via une interface graphique — grilles, formulaires, filtres — plutôt que des requêtes. Index de Base de Données Un index de base de données est une structure de recherche triée qui permet au moteur de trouver les lignes directement au lieu de parcourir toute la table. Isolation des Tenants dans les Bases Partagées L'isolation des tenants est une discipline de murs au sein des systèmes partagés : des contrôles qui scellent chaque tenant à l'écart de tous les autres. Modélisation de Données La modélisation de données est un processus qui cartographie entités, attributs et relations avant de décider comment la base de données les stockera. NoSQL vs. SQL Une base SQL est un stockage relationnel à tables fixes et jointures ; NoSQL est une famille de modèles flexibles conçus pour la mise à l'échelle horizontale. Opérations CRUD CRUD est l'acronyme de créer, lire, mettre à jour, supprimer — les quatre opérations de base que tout stockage de données persistant doit prendre en charge. Permissions au Niveau de la Classe (CLP) et Sécurité du Schéma Une permission au niveau de la classe est une règle du schéma qui contrôle quels utilisateurs ou rôles peuvent exécuter chaque opération sur cette classe. Point-in-Time Recovery (PITR) et Sauvegardes en BaaS Le point-in-time recovery est une méthode de restauration qui rejoue un journal des modifications sur une sauvegarde de base, jusqu'à la seconde choisie. Pooling de Connexions dans les Bases Gérées Serverless Le pooling de connexions serverless est une technique qui partage quelques connexions réelles à la base entre de nombreuses instances de fonctions éphémères. Réplication de Base de Données Multi-Région et Optimisation de la Latence La réplication multi-région est une topologie de base de données qui copie les données entre régions pour réduire la latence de lecture et résister aux pannes. Requêtes de Base de Données Une requête de base de données est une demande structurée — filtrer, trier, projeter, paginer — dans un langage que le moteur sait planifier et exécuter. Requêtes Géospatiales et Indexation par Localisation Une requête géospatiale est une recherche en base de données qui filtre et trie les enregistrements par position — près d'un point, dans un rayon ou une zone. Requêtes Relationnelles (Jointures) dans les Bases Documentaires Une requête relationnelle en base documentaire est une jointure faite par références et lookups au lieu de clés étrangères — ou évitée en embarquant. Schéma de Base de Données Un schéma de base de données est un plan qui définit comment les données sont organisées : classes, colonnes, types et relations, mais pas les données. Sécurité au Niveau des Lignes (RLS) La sécurité au niveau des lignes est un mécanisme de base de données où des politiques filtrent, à chaque requête, les lignes que chacun peut voir ou modifier. Sécurité de la Couche Données vs. de la Couche Application La sécurité de la couche application est un gardien dans votre code ; celle de la couche de données, un gardien sur les données elles-mêmes. Il faut les deux. Transactions ACID Une transaction ACID est un groupe d'opérations de base de données validé comme une seule unité — atomique, cohérente, isolée et durable.

API et Temps Réel

API (Interface de Programmation d'Applications) Une API est un ensemble de règles qui permet à une application de demander des données et des fonctionnalités à une autre sans connaître son code interne. API REST Une API REST est une API qui suit le style architectural REST : ressources à des URL, requêtes sans état et méthodes HTTP standard. Architecture d'API Gateway Une API gateway est une porte d'entrée gérée pour vos API : un point d'entrée unique qui route, authentifie et applique un rate limiting à chaque requête. CORS (Cross-Origin Resource Sharing) CORS est un mécanisme du navigateur où un serveur déclare les autres origines autorisées à l'appeler, assouplissant sciemment la politique de même origine. Endpoint d'API Un endpoint d'API est une URL spécifique où une API reçoit les requêtes pour une ressource — associé à une méthode HTTP, il définit une opération. GraphQL GraphQL est un langage de requêtes pour les API et un runtime côté serveur qui renvoie exactement les champs demandés par chaque client en une seule requête. GraphQL Subscriptions vs. WebSockets Une subscription GraphQL est un flux d'événements typé et défini par le schéma ; un WebSocket est le transport brut qui la porte le plus souvent. GraphQL vs. REST REST est un style d'API aux endpoints fixes ; GraphQL est un langage de requêtes où le client demande à un seul endpoint les seuls champs dont il a besoin. Le Problème des Requêtes N+1 Le problème des requêtes N+1 est un pattern où lire N enregistrements déclenche une requête de plus pour chacun — N+1 allers-retours au lieu d'un ou deux. Live Queries en Temps Réel Une live query est un abonnement à une requête de base de données : le serveur pousse les événements create, update et delete des lignes correspondantes. Notifications Push vs. Live Queries Une notification push est une alerte livrée par l'OS qui atteint les apps fermées ; une live query diffuse les changements tant que l'app est ouverte. Optimisation du Payload d'API L'optimisation du payload d'API est une pratique qui réduit ce qu'une API envoie — moins de champs, des pages bornées, la compression — pour répondre vite. Overfetching et Underfetching L'overfetching est un problème d'API où les réponses contiennent plus de données que nécessaire ; l'underfetching impose des requêtes en plus pour compléter. Pattern Pub/Sub (Publication-Abonnement) Le pub/sub est un pattern de messagerie où des publieurs envoient des messages à des topics sur un broker, et chaque abonné à un topic en reçoit une copie. Présence (Statut en Ligne) La présence est un signal temps réel indiquant si un utilisateur est en ligne, absent ou hors ligne, maintenu à jour par les connexions et les heartbeats. Rate Limiting et Throttling d'API Le rate limiting est un contrôle qui plafonne le nombre de requêtes d'un client par fenêtre ; le throttling ralentit l'excédent au lieu de le rejeter. SDK Backend Un SDK backend est une boîte à outils de bibliothèques et d'utilitaires qui permet aux apps de parler à un service backend dans leur langage, sans HTTP brut. SSE vs. WebSockets vs. Polling Le polling est un modèle de pull où le client demande en boucle ; SSE et WebSockets gardent une connexion ouverte pour que le serveur pousse en temps réel. Synchronisation des Données Offline-First La synchronisation offline-first est une architecture où l'app lit et écrit d'abord en stockage local, puis se réconcilie avec le serveur une fois en ligne. WebSockets et Synchronisation Temps Réel Un WebSocket est une connexion persistante et bidirectionnelle entre client et serveur : chaque côté peut pousser un message à l'instant où il survient.

Authentification et Sécurité

Adaptateurs de Connexion Sociale : Intégration OAuth en BaaS Un adaptateur de connexion sociale est un composant backend qui vérifie les tokens d'un fournisseur d'identité et en tire un utilisateur et une session. Authentification Multifacteur (MFA) L'authentification multifacteur est un contrôle de connexion qui exige deux preuves ou plus de types différents — ce que vous savez, avez ou êtes. Authentification Sans Mot de Passe (Passwordless) L'authentification sans mot de passe est un modèle de connexion qui vérifie l'identité par une clé de l'appareil ou la biométrie, et non un secret mémorisé. Authentification vs. Autorisation L'authentification est le contrôle de qui vous êtes ; l'autorisation, la décision à chaque requête de ce que vous pouvez faire. Tout système sûr exige les deux. Chiffrement des Données au Repos et en Transit Le chiffrement au repos est un contrôle qui rend illisibles sans les clés les données stockées ; le chiffrement en transit protège les données sur le réseau. Contrôle d'Accès Basé sur les Rôles (RBAC) Le contrôle d'accès basé sur les rôles est un modèle d'autorisation où les permissions s'attachent aux rôles, jamais directement aux utilisateurs. Durcissement de la Sécurité BaaS : CLP, ACL et Protection de la Master Key Le durcissement de la sécurité BaaS est un ensemble de contrôles en couches — CLP, ACL, discipline des clés — qui ferme les brèches d'un backend par défaut. Gestion des Sessions La gestion des sessions est une discipline qui consiste à créer, valider et détruire l'état côté serveur reliant les requêtes HTTP à un utilisateur. IAM (Gestion des Identités et des Accès) L'IAM est un framework de politiques et de technologies qui garantit aux bons utilisateurs le bon accès aux bonnes ressources, au bon moment. JSON Web Token (JWT) Un JSON Web Token est un token compact et sûr pour les URL qui transporte des claims JSON signés, permettant de vérifier les requêtes sans session stockée. Listes de Contrôle d'Accès (ACL) Une liste de contrôle d'accès est une liste attachée à une ressource qui nomme les utilisateurs ou rôles pouvant y accéder et ce que chacun a le droit de faire. OAuth 2.0 et Connexion Sociale OAuth 2.0 est un standard d'autorisation qui laisse une app accéder à votre compte sur un autre service — la connexion sociale s'appuie dessus. Prévention du Cross-Site Scripting (XSS) Le cross-site scripting est une attaque qui injecte des scripts malveillants dans des pages de confiance ; s'en prémunir, c'est encoder la sortie par contexte. Sécurité des Clés d'API Une clé d'API est une chaîne unique qui identifie l'app appelant une API ; la sécurité des clés d'API consiste à en limiter la portée et à la protéger. Single Sign-On (SSO) Le single sign-on est une méthode d'authentification où une seule connexion chez un fournisseur d'identité ouvre l'accès à de nombreuses applications.

Logique Backend et Calcul Serverless

Architecture Orientée Événements (EDA) L'architecture orientée événements est un style de conception où les services émettent des faits immuables (événements) et les consommateurs réagissent seuls. Cloud Code (Fonctions Serverless) Cloud Code est un modèle serverless où la logique backend s'exécute en fonctions côté serveur, déclenchées par appels, événements de données ou cron. Cloud Code Planifié et Cron Jobs Un cron job est une tâche qui s'exécute automatiquement selon un planning horaire ; le Cloud Code planifié applique l'idée aux fonctions serverless. Cold Starts en Serverless Un cold start est la pénalité de latence payée quand la plateforme serverless doit créer et initialiser un nouvel environnement avant d'exécuter votre code. Edge Computing et Fonctions Edge L'edge computing est un modèle qui rapproche le calcul des utilisateurs ou des données ; les fonctions edge, du code serverless exécuté dans les PoP d'un CDN. Fonctions Serverless vs. Microservices Une fonction serverless est une unité de déploiement unique de logique backend ; un microservice est un service complet exploité de façon indépendante. Jobs en Arrière-Plan et Planificateurs de Tâches Un job en arrière-plan est une tâche qui s'exécute hors du cycle de la requête : mise en file par l'app, traitée par des workers, relancée en cas d'échec. Middleware (Cycle de Vie de la Requête) Le middleware est une fonction du pipeline de requêtes qui inspecte ou modifie requêtes et réponses avant l'exécution de la logique de votre route. Notifications Push (APNs et FCM) Une notification push est un message initié par le serveur que les services push de la plateforme livrent à l'appareil, même quand l'application est fermée. Orchestration d'API L'orchestration d'API est un pattern où une couche de coordination appelle plusieurs API dans l'ordre et renvoie un seul résultat combiné. Triggers de Base de Données (beforeSave et afterSave) Un trigger de base de données est un hook de code qui s'exécute automatiquement sur les événements de données : avant un save pour valider, après pour réagir. Webhooks Un webhook est un callback HTTP automatisé : quand un événement survient, un système envoie le payload en POST à une URL enregistrée par un autre système.

IA et Stack Moderne

Frontend et Livraison Web