Révision Glossaire EN

Taille

Yeux

Termine une partie dans un dojo pour débloquer les yeux suivants.

Glossaire

302 Found
Le statut HTTP qui dit au navigateur que la cible est temporaire. Le navigateur suit l’en-tête Location et réutilise l’URL courte la fois suivante.
Un raccourcisseur d’URL
429 Too Many Requests
Le statut HTTP d’un client qui a envoyé trop de requêtes dans un temps donné. Il peut porter un en-tête Retry-After qui dit quand réessayer.
Un limiteur de débit
Ancre
Une copie du dernier hash écrite à un endroit que les admins de la base ne peuvent pas modifier, qui sert plus tard à vérifier la chaîne.
Un journal d’audit
Appartenance aplatie
Pour chaque utilisateur, la liste calculée d’avance de toutes ses équipes, directes ou via des équipes imbriquées.
Un système de permissions
Archivage du WAL
PostgreSQL confie chaque segment terminé du journal d’écriture anticipée (16 Mo par défaut) à une commande qui le copie hors du serveur. Une sauvegarde de base plus ces segments permet de reconstruire la base à n’importe quel moment entre les deux.
Un plan de sauvegarde
Arriéré
Les tâches qui attendent dans la file et qu’aucun worker n’a encore prises (en anglais : backlog).
Une file qui se remplit
Au moins une fois
L’expéditeur réessaie tant qu’il n’a pas d’accusé de réception, donc le destinataire peut recevoir le même événement plusieurs fois.
Les notifications
Au moins une fois (at-least-once)
Chaque tâche s’exécute une fois ou plus. Un crash peut la faire tourner de nouveau, mais elle ne tourne jamais zéro fois.
Un planificateur de tâches
Autorisation et capture
Deux appels sur la carte : l’autorisation bloque le montant sur la carte, la capture prend l’argent plus tard.
Une commande à travers plusieurs services
Autorité centrale
Le seul processus qui décide, pour un document, dans quel ordre les steps s’appliquent.
Éditer un document à plusieurs
Backfill
Une tâche qui remplit une nouvelle colonne pour les lignes qui existaient avant elle, par petits lots.
Déployer sans interruption
Backoff exponentiel
Chaque nouvel essai attend deux fois plus longtemps que le précédent, en partant de 1 minute.
Envoyer des webhooks
Bail (lease)
Une réservation de tâche qui prend fin à une heure fixée, stockée dans la ligne de la tâche en locked_until. Si le worker n’a pas fini avant, un autre worker peut prendre la tâche.
Un planificateur de tâches
Balises Open Graph
Des balises <meta property="og:title"> et og:image dans le <head> d’une page, qui donnent le titre et l’image à afficher dans un aperçu.
Les aperçus de liens
Bascule
Le moment où l’application arrête d’écrire dans l’ancienne base et commence à écrire dans la nouvelle.
Changer de base de données
Base62
Écrire une valeur avec les 62 caractères 0-9, a-z et A-Z. Un code de n caractères a 62 puissance n valeurs possibles.
Un raccourcisseur d’URL
Binlog
Le journal binaire de MySQL : chaque modification validée, dans l’ordre des commits. MySQL s’en sert pour la réplication.
Changer de base de données
Bloc
Une tranche de taille fixe d’un fichier, nommée par le hash de ses octets : deux appareils comparent ainsi un fichier bloc par bloc.
Synchroniser des fichiers
Blocage (hold)
Une place réservée à un fan pendant 10 minutes, le temps qu’il paie. Personne d’autre ne peut la bloquer ni l’acheter avant la fin du blocage.
Réserver des places de concert
Budget d’erreur
Les échecs que le SLO autorise sur sa période. À 99,9 %, c’est 0,1 % des requêtes.
Mesurer un service
Burn rate
La vitesse à laquelle le service consomme son budget d’erreur. Un burn rate de 1 consomme tout le budget en exactement 30 jours.
Mesurer un service
Canal
Un moyen de joindre un utilisateur : l’e-mail, le push sur le téléphone, ou la liste de notifications dans l’appli.
Les notifications
Chaîne de hachage
Chaque enregistrement stocke un hash calculé sur son contenu et sur le hash de l’enregistrement précédent : changer un enregistrement change tous les hash suivants.
Un journal d’audit
Change data capture (CDC)
Lire le journal des modifications d’une base et envoyer chaque modification ailleurs sous forme d’événement.
Changer de base de données
Changement cassant
Un changement après lequel du code qui marchait contre l’API ne marche plus : un champ supprimé, un champ renommé, un champ qui change de type.
Changer une API publique
Changement de statut
Un utilisateur qui passe de hors ligne à en ligne, ou l’inverse. Un heartbeat d’un utilisateur déjà en ligne ne compte pas comme un changement.
Le statut en ligne
Check
La question « l’utilisateur U a-t-il la relation R sur l’objet O ? », à laquelle on répond en suivant les tuples de O jusqu’à U.
Un système de permissions
Circuit breaker
Une enveloppe autour d’un appel qui compte les échecs récents. Au-delà d’un seuil, elle cesse de faire l’appel pendant un temps et échoue tout de suite, pour que l’appelant passe directement au repli.
Quand une dépendance tombe
Clé d’idempotence
Une valeur envoyée avec une requête pour que le destinataire reconnaisse une répétition et ne fasse le travail qu’une fois. Ici, l’id de la tâche.
Un planificateur de tâches
Clé d’idempotence
Une valeur unique envoyée dans l’en-tête Idempotency-Key. Le prestataire exécute la première requête portant cette clé et répond à chaque nouvel essai avec le résultat enregistré.
Encaisser des paiements
Clé d’idempotence
Une chaîne unique envoyée avec une requête, pour que le serveur reconnaisse une nouvelle tentative et renvoie le premier résultat au lieu de refaire le travail.
Synthèse : le paiement d’une boutique en ligne
Clé de leader
Une clé dans un petit stockage de coordination, comme etcd, que seul le primaire en place a le droit de tenir. Elle a une durée de vie, et le primaire doit la renouveler avant qu’elle expire.
La bascule d’une base de données
Clé de partition
La partie de la clé d’une ligne qui choisit le nœud qui la stocke. Les lignes de même clé de partition sont rangées ensemble sur disque.
Une messagerie de groupe
Code court
Les quelques caractères après le domaine, comme k3Xa9Qz. Le service associe chaque code à une URL longue.
Un raccourcisseur d’URL
Collapse id
L’en-tête APNs apns-collapse-id. Les requêtes push qui portent la même valeur s’affichent comme une seule notification sur le téléphone.
Les notifications
Completion suggester
Une fonction d’Elasticsearch qui renvoie les entrées indexées commençant par un préfixe donné, depuis une structure gardée en mémoire.
L’autocomplétion de recherche
Conflit
Deux révisions faites à partir de la même révision parente sur deux appareils, que la synchronisation range côte à côte sous un même id de document.
Une application mobile offline-first
Contre-pression
Un signal qui remonte du côté des consommateurs vers le producteur pour lui dire « envoie moins », afin que l’arriéré arrête de grossir (en anglais : backpressure).
Une file qui se remplit
Copie de conflit
La deuxième version d’un fichier, gardée sous un autre nom quand deux modifications ne peuvent pas être ordonnées.
Synchroniser des fichiers
Date d’expiration
Le moment après lequel un paste ne doit plus être servi. L’auteur la choisit en créant le paste.
Un service de paste
Debounce
Le client attend un court instant après la dernière touche, puis envoie une seule requête pour le texte tapé à ce moment.
L’autocomplétion de recherche
Délai de visibilité
Dans Amazon SQS, le temps pendant lequel un message reçu reste caché aux autres workers. Si le worker ne le supprime pas dans ce délai, le message réapparaît.
Des miniatures d’images
Départage
La règle qui ordonne deux joueurs à égalité de points, ici celui qui les a atteints en premier.
Un classement de jeu
Déploiement progressif
Une règle qui active un flag pour un pourcentage d’utilisateurs, choisis par un hash de leur identifiant.
Les feature flags
Déploiement progressif
Les serveurs reçoivent la nouvelle version quelques-uns à la fois, pendant que les autres continuent de servir. Un moment, l’ancien et le nouveau code tournent côte à côte sur la même base.
Déployer sans interruption
DNS rebinding
Un domaine répond avec une IP publique au moment où tu le vérifies, puis avec une IP interne au moment où tu te connectes.
Les aperçus de liens
Envoi (delivery)
Une ligne qui signifie « prévenir cet utilisateur de cet événement sur ce canal ». Sa clé est (event_id, user_id, channel).
Les notifications
Époque
Le moment à partir duquel compte la partie horodatage d’un id. Snowflake comptait depuis novembre 2010 au lieu de 1970, pour que les 41 bits durent plus longtemps.
Des identifiants uniques sur plusieurs serveurs
Événement expired
Une notification d’espace de clés Redis publiée quand Redis supprime une clé dont le TTL est écoulé.
Le statut en ligne
Expand and contract
Un changement de schéma découpé en étapes. On ajoute d’abord la nouvelle forme à côté de l’ancienne, on y migre le code et les données, et seulement ensuite on retire l’ancienne.
Déployer sans interruption
Fail open
Quand le limiteur lui-même est en panne, laisser passer les requêtes au lieu de toutes les refuser.
Un limiteur de débit
Fan-out
Transformer un message envoyé en une livraison par membre du groupe.
Une messagerie de groupe
Fan-out
Envoyer un message reçu à de nombreux destinataires. Ici, un but part vers 2 millions de connexions ouvertes.
Scores sportifs en direct
Fan-out à l’écriture
Quand un compte publie, le système copie l’id de l’événement dans le fil de chaque abonné : une lecture ne lit alors qu’une liste.
Un fil d’activité
Fan-out à la lecture
L’événement est stocké une fois, chez son auteur, et chaque lecteur va chercher les événements des comptes qu’il suit à l’ouverture du fil.
Un fil d’activité
Feature flag
Un interrupteur nommé, comme new-checkout, que le code lit pendant l’exécution et dont les règles vivent hors du code.
Les feature flags
Fenêtre fixe
Un compteur par clé pour chaque minute de l’horloge (12:00, 12:01...). Le compte repart de 0 quand la minute change.
Un limiteur de débit
Flush
Le moment où un serveur d’appli écrit en base les compteurs qu’il garde en mémoire, puis repart de zéro.
Compter les pages vues
Grace
Dans Varnish, un délai après le TTL pendant lequel le cache sert encore la page périmée, le temps d’en chercher une nouvelle en arrière-plan.
Mettre en cache un site d’actualité
Heartbeat
Un petit message qu’une connexion envoie à intervalle fixe pour dire « cet utilisateur est toujours là ».
Le statut en ligne
Hot standby
Un réplica PostgreSQL qui accepte des requêtes en lecture seule pendant qu’il rejoue les changements reçus du primaire.
Servir deux régions
Id de machine
Un numéro donné à chaque serveur, unique parmi tous les serveurs. Il entre dans chaque id que ce serveur fabrique.
Des identifiants uniques sur plusieurs serveurs
Index géospatial
Une structure qui répond à « quels points sont à moins de 3 km d’ici ? » sans lire tous les points. Redis en stocke un dans un sorted set, rempli avec GEOADD.
Associer passagers et chauffeurs
Infalsifiable a posteriori
Une modification des enregistrements se détecte après coup. Ça ne veut pas dire qu’elle a été empêchée.
Un journal d’audit
Interblocage (deadlock)
Deux transactions tiennent chacune un verrou que l’autre attend, et aucune ne peut se terminer.
Réserver des places de concert
Intervalle de rafraîchissement
La fréquence à laquelle chaque serveur va chercher les règles auprès du service de flags.
Les feature flags
Last-Event-ID
L’en-tête HTTP que l’EventSource du navigateur envoie quand il se reconnecte, avec l’id du dernier événement reçu.
Scores sportifs en direct
Liste plafonnée
Une liste coupée à une longueur fixe après chaque ajout, qui ne garde que les entrées les plus récentes.
Un fil d’activité
Livraison au moins une fois
Chaque événement arrive chez le client une fois ou plus : l’expéditeur réessaie jusqu’à recevoir un 2xx, donc le client peut recevoir un doublon.
Envoyer des webhooks
LSN
Log sequence number : une position dans le journal d’écriture anticipée (WAL) de PostgreSQL, comme 16/B374D848. Un réplica qui a rejoué jusqu’à un LSN a tous les changements écrits avant.
Servir deux régions
Mise à jour conditionnelle
Un UPDATE dont la clause WHERE exige que la ligne soit encore libre. Le nombre de lignes renvoyé te dit si tu as eu la place.
Réserver des places de concert
Module de changement de version
Un bout de code qui transforme une réponse de la forme actuelle vers la forme d’une version plus ancienne.
Changer une API publique
Monolithe modulaire
Une seule base de code et un seul déploiement, avec des frontières imposées entre modules : un module n’appelle un autre module que par son code public.
Découper un monolithe
Multipart upload
Un envoi S3 en parties numérotées. S3 assemble les parties en un seul objet quand le client appelle CompleteMultipartUpload.
Une chaîne d’envoi de vidéos
Notification d’événement
Un message que le service de stockage envoie quand un objet est créé dans un bucket. Ici, il part dans une file.
Des miniatures d’images
Offline-first
L’application lit et écrit dans une base locale sur l’appareil, et se synchronise avec le serveur dès qu’il y a du réseau.
Une application mobile offline-first
Orchestrateur
Un composant qui garde l’état de la saga et dit à chaque service quelle étape lancer ensuite.
Une commande à travers plusieurs services
Origine
Les serveurs qui construisent les pages, ici les 6 serveurs du CMS derrière le cache.
Mettre en cache un site d’actualité
Outbox
Une table écrite dans la même transaction que la commande, qui contient les messages (comme les e-mails) qu’un worker envoie ensuite.
Synthèse : le paiement d’une boutique en ligne
Packwerk
Une gem Ruby de Shopify qui regroupe des fichiers en packages et signale une violation quand un package utilise une constante d’un package qu’il n’a pas déclaré comme dépendance.
Découper un monolithe
Passerelle (gateway)
Un serveur qui garde ouvertes les connexions WebSocket des clients et y pousse les nouveaux messages.
Une messagerie de groupe
Poids
Un nombre stocké avec chaque suggestion pour la classer, ici les ventes du produit sur 30 jours.
L’autocomplétion de recherche
Pool et silo
Pool : plusieurs tenants partagent les mêmes tables. Silo : un tenant a sa propre base.
Les données d’un SaaS multi-clients
Position périmée
La dernière position envoyée par un chauffeur avant que son appli arrête de répondre. Le chauffeur peut être loin, ou hors ligne.
Associer passagers et chauffeurs
Pré-agrégation
Additionner les compteurs en mémoire sur le serveur d’appli et écrire les sommes, au lieu d’écrire chaque événement.
Compter les pages vues
Problème du « new enemy »
Un utilisateur retiré d’une équipe garde l’accès, parce qu’un serveur a vérifié sur des données d’avant le retrait.
Un système de permissions
Pub/Sub
Les canaux Redis : un éditeur envoie un message sur un nom de canal, et Redis le transmet à chaque client abonné à ce nom à cet instant.
Une messagerie de groupe
Publisher confirm
Un message de RabbitMQ au producteur qui dit s’il a accepté un message (basic.ack) ou s’il l’a refusé (basic.nack).
Une file qui se remplit
Rang
La position d’un joueur dans le classement, comptée à partir de 1 pour le meilleur score.
Un classement de jeu
Rebase
Réécrire tes steps pas encore envoyés pour qu’ils s’appliquent après les steps que d’autres ont fait accepter avant toi.
Éditer un document à plusieurs
Référence entrante
Un endroit du code d’un autre module qui utilise une classe de ce module. Chacune doit changer si ce module sort.
Découper un monolithe
Relation tuple
Un fait stocké de la forme objet, relation, utilisateur, comme project:p1#editor@team:t1#member (les membres de l’équipe t1 sont éditeurs de p1).
Un système de permissions
Repli
Ce que le code renvoie quand un appel échoue ou dépasse son timeout, par exemple une liste de meilleures ventes gardée en mémoire à la place des recommandations personnelles.
Quand une dépendance tombe
Réplication synchrone
Le primaire annonce un commit réussi seulement quand un réplica confirme qu’il a reçu le changement. Une écriture que le client a vue réussir se trouve alors sur deux machines.
La bascule d’une base de données
Request coalescing
Quand beaucoup de clients demandent la même page absente, le cache envoie une seule requête au backend et fait attendre les autres jusqu’à la réponse.
Mettre en cache un site d’actualité
Réservation
Du stock retiré du nombre disponible au moment de la commande, avant le paiement, et remis si le paiement n’arrive jamais.
Synthèse : le paiement d’une boutique en ligne
Résultat inconnu
L’état après une requête qui a expiré : le prestataire a peut-être débité la carte, ou n’a peut-être jamais vu la requête.
Encaisser des paiements
Retard de réplication
Le temps entre un commit sur le primaire et le moment où ce changement est visible sur un réplica.
Servir deux régions
Révision
Dans CouchDB et PouchDB, une version enregistrée d’un document, nommée comme 2-c1592ce7..., où le nombre compte les modifications depuis la première.
Une application mobile offline-first
RPO
Recovery point objective : la perte de données maximale, comptée en temps, que le métier accepte. Ici, 5 minutes.
Un plan de sauvegarde
RTO
Recovery time objective : le temps maximal que le métier accepte entre la décision de restaurer et le retour de la base. Ici, 2 heures.
Un plan de sauvegarde
Saga
Une suite de transactions locales, une par service. Chaque étape terminée a une étape de compensation qui l’annule si une étape suivante échoue.
Une commande à travers plusieurs services
Salle d’attente
Une file devant le plan des places, qui laisse entrer les fans à un débit fixe et montre aux autres leur rang.
Réserver des places de concert
Sécurité au niveau ligne
Une fonction de PostgreSQL (row-level security) : une politique sur une table décide quelles lignes chaque requête voit ou modifie, quel que soit son propre WHERE.
Les données d’un SaaS multi-clients
Séquence
Un compteur interne à un serveur, qui numérote les ids fabriqués dans la même milliseconde.
Des identifiants uniques sur plusieurs serveurs
Server-sent events (SSE)
Une réponse HTTP que le serveur garde ouverte pour y écrire des événements, en text/event-stream. Le navigateur la lit avec EventSource.
Scores sportifs en direct
Signature
Un HMAC du corps de la requête, calculé avec un secret partagé avec le client, qui permet au client de vérifier qui l’envoie.
Envoyer des webhooks
SKIP LOCKED
Une option PostgreSQL de SELECT ... FOR UPDATE : les lignes verrouillées par une autre transaction sont sautées au lieu de faire attendre la requête.
Un planificateur de tâches
SLI
Indicateur de niveau de service : un ratio mesuré, le nombre d’événements réussis divisé par le nombre total d’événements.
Mesurer un service
SLO
Objectif de niveau de service : la cible d’un SLI sur une période, par exemple 99,9 % de paiements réussis sur 30 jours.
Mesurer un service
Sorted set
Un type Redis qui garde des membres uniques triés par un score numérique, avec chaque recherche en O(log N).
Un classement de jeu
Split brain
Deux serveurs acceptent des écritures en tant que primaire en même temps. Leurs données divergent, et il faut jeter un des côtés ou fusionner à la main.
La bascule d’une base de données
SSRF
Server-side request forgery : un utilisateur fait envoyer à ton serveur une requête vers l’adresse de son choix, par exemple une adresse interne.
Les aperçus de liens
Step
Un petit changement du document, comme « insérer 2026-11-03 à la position 412 ». Un client envoie ses steps par lots.
Éditer un document à plusieurs
Stickiness
Un même utilisateur reçoit la même réponse pour un flag à chaque requête et sur chaque serveur.
Les feature flags
Tempête de reconnexions
Des milliers de clients qui se reconnectent dans la même seconde, parce que le serveur auquel ils étaient connectés s’est arrêté.
Scores sportifs en direct
Tenant
Une entreprise cliente. Chaque ligne de données appartient à un seul tenant, indiqué par une colonne tenant_id.
Les données d’un SaaS multi-clients
Timeout
Le temps maximal qu’un appelant attend une réponse avant d’abandonner et de passer à la suite. Ici, un réglage du client HTTP qui appelle le service de recommandations.
Quand une dépendance tombe
TOAST
Le stockage de PostgreSQL pour les grandes valeurs : il les compresse ou les range dans une table annexe, sans rien changer à tes requêtes.
Un service de paste
Transaction de compensation
L’étape qui défait une étape précédente : libérer le stock réservé, annuler l’autorisation de la carte.
Une commande à travers plusieurs services
Transcodage
Décoder une vidéo puis l’encoder à nouveau dans une autre résolution ou un autre débit. Ici, ffmpeg tire trois versions plus légères de chaque original.
Une chaîne d’envoi de vidéos
TTL
Time to live, durée de vie : le nombre de secondes au bout duquel Redis supprime une clé tout seul.
Le statut en ligne
TTL
Time to live : le nombre de secondes pendant lequel un cache sert une page stockée avant de la considérer comme périmée.
Mettre en cache un site d’actualité
Upsert
Une seule requête qui insère une ligne, ou la met à jour si une ligne avec la même clé existe déjà.
Compter les pages vues
Upsert
Une écriture qui insère la ligne si sa clé primaire est nouvelle, et la met à jour si la clé existe déjà.
Changer de base de données
URL présignée
Une URL que ton API signe pour qu’un téléphone envoie un objet directement dans le bucket, sans avoir ses propres identifiants de stockage.
Des miniatures d’images
URL présignée
Une URL qui porte une signature autorisant une opération S3 pendant un temps limité. Un navigateur peut s’en servir sans avoir d’identifiants AWS.
Une chaîne d’envoi de vidéos
Vecteur de versions
Un compteur par appareil sur chaque fichier. Un appareil ajoute 1 à son propre compteur à chaque modification du fichier.
Synchroniser des fichiers
Verrou à expiration
Une clé qu’un seul processus peut créer, et qui s’efface d’elle-même après un délai fixé. En Redis : SET key value NX EX 15.
Associer passagers et chauffeurs
Version
Un entier : le nombre de steps que le serveur a acceptés pour un document. Chaque step accepté ajoute 1.
Éditer un document à plusieurs
Version épinglée
L’API note quelle version utilise chaque clé d’API, et répond à cette clé dans cette version jusqu’à ce que son propriétaire la change.
Changer une API publique
Version morte de ligne
Dans PostgreSQL, l’ancienne copie d’une ligne supprimée ou modifiée. Elle garde sa place sur le disque jusqu’à ce que VACUUM marque cette place comme libre.
Un service de paste
Webhook
Un POST HTTP que ton service envoie à une URL enregistrée par le client, quand un événement se produit chez toi.
Envoyer des webhooks
Webhook
Une requête HTTP que le prestataire envoie à ton serveur quand un événement se produit chez lui, par exemple un paiement réussi.
Encaisser des paiements