1Password
OutilGestionnaire de mots de passe et de secrets, avec une offre pour les équipes et un accès par API/CLI.
Voir aussi Infisical HashiCorp Vault
Le petit dictionnaire maison — tous les termes techniques, outils et sigles du projet, en clair.
Un doute sur un mot croisé dans une PR, un e-mail ou un skill ? Cherche-le ici. Chaque fiche donne une définition simple, et « Chez nous » précise à quoi ça sert concrètement pour concerts.paris. Classé par ordre alphabétique.
1081 termes
Aucun terme ne correspond à « ». Essaie un autre mot ou enlève le filtre.
Gestionnaire de mots de passe et de secrets, avec une offre pour les équipes et un accès par API/CLI.
Voir aussi Infisical HashiCorp Vault
Code de statut qui signifie « tout va bien » : la requête a réussi et la réponse contient ce qui était demandé.
Voir aussi Code de statut HTTP 201 Created 204 No Content
Code de statut qui confirme qu’une nouvelle ressource a bien été créée sur le serveur (par exemple après un envoi de formulaire).
Voir aussi Code de statut HTTP 200 OK Méthode HTTP
Code de statut qui dit « c’est fait, et il n’y a rien à renvoyer » : l’action a réussi mais la réponse est volontairement vide.
Voir aussi Code de statut HTTP 200 OK
Code de statut qui répond « rien n’a changé depuis ta dernière visite » : le navigateur peut réutiliser sa copie en cache au lieu de re-télécharger.
Voir aussi Code de statut HTTP ETag Cache Cache-Control
Code de statut qui signale que la requête est mal formée ou incohérente : le serveur refuse de la traiter telle quelle.
Voir aussi Code de statut HTTP 422 Unprocessable Entity
Code de statut qui veut dire « il faut prouver qui tu es » : la requête n’est pas authentifiée (identifiants absents ou invalides).
Voir aussi Code de statut HTTP 403 Forbidden Authorization Basic Auth
Code de statut qui veut dire « je sais qui tu es, mais tu n’as pas le droit » : l’accès à la ressource est interdit.
Chez nous Croisé quand l’API `/api/events` refuse un accès sans la bonne clé, et quand le pare-feu Cloudflare bloquait par erreur des robots d’IA (résolu).
Voir aussi Code de statut HTTP 401 Unauthorized Contrôle d’accès WAF
Code de statut le plus connu : la page ou la ressource demandée n’existe pas (ou plus) à cette adresse.
Chez nous Bénin quand il tombe sur une fiche concert purgée après passage de l’événement.
Voir aussi Code de statut HTTP 410 Gone Redirect 301/302
Code de statut qui dit « cette ressource a existé mais a été supprimée définitivement » — plus explicite qu’un simple 404.
Voir aussi Code de statut HTTP 404 Not Found
Code de statut qui dit « ta requête est bien formée mais son contenu échoue à la validation » (par exemple un champ obligatoire manquant).
Voir aussi Code de statut HTTP 400 Bad Request Validation de schéma
Code de statut qui répond « tu envoies trop de requêtes, ralentis » : c’est la réponse d’une limite de débit.
Chez nous Rencontré à l’import quand une source (ex. Wikidata) impose un rythme ; le code respecte une pause avant de réessayer.
Voir aussi Code de statut HTTP Rate limit
Code de statut « erreur du serveur » : quelque chose a planté côté serveur pendant le traitement de la requête, sans que le demandeur y soit pour rien.
Voir aussi Code de statut HTTP 502 Bad Gateway 503 Service Unavailable
Code de statut renvoyé par un serveur intermédiaire quand le serveur situé derrière lui répond de travers (ou ne répond pas).
Chez nous Peut apparaître si Cloudflare interroge le backend Railway pendant un redémarrage.
Voir aussi Code de statut HTTP 503 Service Unavailable Reverse proxy
Code de statut qui dit « le service est temporairement indisponible » : surcharge, maintenance ou redémarrage en cours.
Voir aussi Code de statut HTTP 502 Bad Gateway Healthcheck
Expérience où l’on montre la MÊME version aux deux groupes de visiteurs. Comme il n’y a aucune différence, le résultat devrait être « match nul » : ça sert à vérifier que l’outil de mesure ne ment pas.
Chez nous Étape de contrôle avant tout vrai test A/B : on valide que le banc de mesure est fiable (pas de faux écart).
Comparer deux versions d’une page (A et B) en les montrant chacune à une moitié des visiteurs, pour voir laquelle marche le mieux (plus de clics, par exemple).
Chez nous Dispositif « maison », sans cookie, piloté au plus près du visiteur pour ne pas ralentir le site ni casser le référencement. Les résultats se lisent dans l’onglet « Expériences ».
Voir aussi A/A test z-test Cookieless
Méthode qui compare deux versions d’une page ou d’un e-mail (A et B) auprès de vrais visiteurs pour garder celle qui convertit le mieux, en s’appuyant sur les chiffres plutôt que sur l’intuition.
Chez nous concerts.paris construit son propre banc d’A/B test côté serveur (sans outil du marché) pour éviter les clignotements et préserver la vitesse et le référencement.
Voir aussi A/B test Conversion Taux de conversion z-test
Accessibilité : rendre un site utilisable par tous, y compris les personnes en situation de handicap (lecteurs d’écran, navigation au clavier, bons contrastes). (« a » + 11 lettres + « y ».)
Situation où un acheteur ajoute des articles à son panier puis quitte le site sans payer. Fréquent en ligne, c’est une perte de vente qu’on cherche à récupérer (relance, simplification du paiement).
Voir aussi Panier Conversion Entonnoir de conversion Scénario
Partie d’une page visible immédiatement, sans faire défiler l’écran. Zone la plus vue, donc la plus précieuse pour un message ou un appel à l’action.
Voir aussi CTA Landing page Viewport
Quand deux fiches sont reconnues identiques, l’une absorbe l’autre : on garde la plus riche et on lui ajoute les infos manquantes.
Chez nous absorbIncomingIntoEvent. Si l’une est partenaire, elle gagne EN BLOC (titre, description, affiche, lien, prix) ; l’autre ne lègue que ses noms d’artistes et sa source. Entre deux sources de même niveau, on garde le titre/la description les plus longs.
Voir aussi Fusion inter-sources Source partenaire Dédoublonnage
Ensemble de bonnes pratiques rendant un site utilisable par tous, y compris les personnes en situation de handicap (navigation au clavier, lecteur d’écran, contrastes suffisants).
Voir aussi ARIA Lecteur d’écran Contraste Focus Skip link
Ensemble de garanties fortes d’une base (Atomicité, Cohérence, Isolation, Durabilité) : les transactions sont fiables, complètes et durables même en cas de panne.
Voir aussi Transaction Atomicité BASE
Classement d’une annonce dans les résultats payants, calculé en combinant l’enchère et la qualité de l’annonce : il décide de la position et si l’annonce s’affiche.
Voir aussi Enchère Quality score Google Ads SEA
Numéro qui identifie une machine sur un réseau, un peu comme une adresse postale, pour lui envoyer et recevoir des données.
Answer Engine Optimization : optimiser un contenu pour qu’il soit repris comme réponse directe (par un encadré Google ou une IA), en donnant la réponse d’emblée, clairement et de façon extractible.
Chez nous Notre style « réponse d’abord » (intros answer-first, FAQ balisées) sert exactement ça ; c’est le cousin très proche du GEO.
Voir aussi GEO Moteur de réponse Featured snippet FAQPage
L’image d’un concert. À défaut d’une vraie photo, une image est fabriquée automatiquement.
Chez nous Cascade de résolution : lien du partenaire → photo de l’artiste (Spotify/Deezer/Wikidata) → image brute de la source → photo de la salle → image générée par IA (Imagen) → affiche « procédurale » (dégradé selon le genre + titre).
Voir aussi Vraie photo (source) Homonyme d’affiche Porte qualité
Modèle de revenu : on envoie un visiteur chez un marchand via un lien tracé, et si celui-ci achète, on touche une commission. Gagnant-gagnant, sans gérer de stock.
Chez nous Notre principal levier de monétisation : les boutons « Réserver » renvoient vers la billetterie via un lien d’affiliation qui nous attribue la vente.
Voir aussi Deeplink CTA Attribution Awin Impact
La collection qui stocke, jour par jour, les chiffres d’affiliation (chiffre d’affaires généré, commissions).
Chez nous Remplie par le pipeline d’indicateurs, elle alimente l’onglet « Affiliation » du cockpit.
Voir aussi ticket-clicks Affiliation kpi-dailies
Agenda spécialisé dans les scènes impro, expérimentales et jazz de Paris et d’Île-de-France.
Chez nous Source récupérée par lecture de la page web (scraping). Elle a un garde-fou : si 0 concert est extrait (structure du site changée), le code lève une alerte au lieu de publier un catalogue amputé en silence.
Voir aussi Scraping Source Garde-fou 0-résultat
Type Schema.org qui résume plusieurs offres d’un même produit en une seule : prix le plus bas, prix le plus haut, nombre d’offres. Pratique quand il existe plusieurs tarifs.
Voir aussi Offer priceValidUntil
Traitement côté base qui combine et résume beaucoup de documents en un résultat synthétique (compter, grouper, calculer des moyennes…) au lieu de tout ramener puis calculer côté application.
Chez nous Le cockpit agrège les mesures d’usage directement dans MongoDB pour afficher, par exemple, quels filtres sont les plus utilisés.
Voir aussi Pipeline d’agrégation $group $match $facet
Réglage Cloudflare qui décide quels robots d’intelligence artificielle ont le droit de parcourir le site (les autoriser ou les bloquer).
Chez nous On l’a activé pour laisser passer les crawlers IA (ChatGPT, Claude, Perplexity…) après qu’un pare-feu trop strict les renvoyait en erreur 403 — c’est vital pour le référencement IA (GEO).
Voir aussi Crawler IA WAF Cloudflare GEO
Notification envoyée automatiquement quand une mesure sort des clous (site injoignable, erreurs, lenteur), pour prévenir une personne au bon moment.
Chez nous Le moniteur d’uptime de concerts.paris envoie des alertes e-mail classées par gravité (P1 immédiat, P2 à la bascule) ; le bilan d’import alerte aussi en cas d’échec.
Voir aussi Observabilité Uptime Incident Astreinte
Suite d’étapes précises et ordonnées pour résoudre un problème ou obtenir un résultat — comme une recette de cuisine que la machine exécute.
Chez nous Le classement des concerts sur l’accueil (score de popularité + salle + proximité de date) est un algorithme.
Voir aussi Complexité algorithmique Composition du score de classement
Option MongoDB qui autorise une grosse opération (tri, agrégation) à déborder sur le disque quand elle dépasse la mémoire allouée. Sans elle, l’opération échoue au-delà de ~100 Mo.
Chez nous Indisponible sur notre tier de base (Flex) : on garde donc les tris légers et on trie plutôt côté application quand il faut.
Voir aussi Tri en mémoire MongoDB Atlas Agrégation
Stratégie qui livre d’abord une page qui fonctionne pour tous (HTML de base), puis ajoute des améliorations (JavaScript, animations) pour les navigateurs qui les gèrent.
Voir aussi Dégradation gracieuse SSR
Étude du journal du serveur (qui a demandé quoi, quand) pour voir comment les robots des moteurs explorent réellement le site : quelles pages, à quelle fréquence, avec quelles erreurs.
Voir aussi Crawler Budget de crawl
Le texte cliquable d’un lien. Il donne aux moteurs un indice sur le sujet de la page pointée (« billetterie » plutôt que « cliquez ici »).
Voir aussi Backlink Maillage interne
Dans l’affiliation, le marchand qui vend le produit et rémunère les sites qui lui apportent des ventes.
Chez nous Nos annonceurs sont les billetteries partenaires : Fnac Spectacles (via Awin) et Fever (via Impact).
Voir aussi Éditeur Affiliation Réseau d’affiliation Fever Fnac Spectacles
Élément Schema.org représentant la réponse associée à une question dans une FAQ balisée.
Chez nous Le pendant de la Question dans nos blocs FAQPage.
Voir aussi FAQPage Question (Schema.org)
Trois types spéciaux de TypeScript : « any » désactive toute vérification (à éviter), « unknown » dit « type inconnu, à vérifier avant usage » (plus sûr), « never » désigne ce qui ne peut jamais arriver.
Voir aussi Type Garde de type Vérification de types
Technique réseau où une même adresse est annoncée depuis plusieurs endroits du monde ; chaque visiteur est automatiquement dirigé vers le point le plus proche.
Chez nous C’est ce qui permet à Cloudflare d’amener chaque visiteur au serveur (PoP) le plus proche sans configuration côté visiteur.
Version temporaire et isolée d’une application, mise en ligne pour prévisualiser un changement avant de le publier pour de bon.
Voir aussi Environnement Déploiement PR (Pull Request)
Interface de programmation : une « prise » standardisée par laquelle deux logiciels se parlent. Un programme demande une donnée ou une action, l’autre répond.
Chez nous On consomme des API externes (Ticketmaster, Deezer, Cloudflare…) et on en expose (l’API de Payload, le feed pour les IA).
Point d’entrée unique placé devant plusieurs services : il reçoit toutes les requêtes puis les aiguille, en gérant au passage l’authentification, la limite de débit ou le cache.
Voir aussi Reverse proxy Rate limit API
Retirer une fiche de la circulation sans l’effacer : elle passe en « archivé » (page 404 + non-indexée), l’historique est conservé.
Chez nous Concerts passés et non-musicaux repérés. archive:non-music pour les non-concerts, archivage des fiches de plus de ~90 jours ; les deux tournent chaque semaine.
Voir aussi Événement non-musical Purge de cache Noindex
Ensemble d’attributs HTML (aria-*) qui décrivent le rôle et l’état des éléments interactifs aux technologies d’assistance, quand le HTML seul ne suffit pas à les rendre compréhensibles.
Chez nous Utilisé sur les composants interactifs (menus de filtres, boutons, calendrier des salles) pour rester utilisables au lecteur d’écran.
Voir aussi Rôle Lecteur d’écran Accessibilité
Découpage administratif de Paris en 20 secteurs numérotés. Sert de repère géographique pour situer et filtrer les concerts.
Chez nous L’arrondissement d’une salle sert de filtre sur l’accueil et alimente des pages d’intention par quartier.
Voir aussi Salle Île-de-France Pages d’intention
Le résultat produit par une construction (build) : le paquet prêt à déployer ou à réutiliser (site compilé, image de conteneur, fichier de rapport…).
Voir aussi Build Pipeline Image de conteneur
Le plus ancien encodage, limité à 128 caractères (lettres non accentuées, chiffres, ponctuation de base) — sans accents ni emojis. Socle historique repris par UTF-8.
Voir aussi UTF-8 Unicode Encodage de caractères
Affirmation vérifiée par un test : « le résultat DOIT être égal à X ». Si c’est faux, le test échoue.
Voir aussi Test unitaire Snapshot test
Organisation où une personne est joignable en dehors des heures ouvrées pour intervenir en cas d’incident. En anglais : on-call.
Cadre de développement (framework) pour construire des sites web très rapides. Il génère surtout du HTML « prêt à servir » et n’embarque du JavaScript que là où c’est utile.
Chez nous C’est le moteur du site public concerts.paris (les pages concert, salle, artiste) et aussi du cockpit que tu regardes en ce moment.
Adaptateur officiel qui permet à un site Astro de tourner comme un vrai serveur Node.js (nécessaire pour le rendu à la volée des pages).
Chez nous C’est l’adaptateur qui fait tourner le site concerts.paris en mode serveur (SSR) sur Railway.
Extension officielle d’Astro qui génère automatiquement le plan du site (sitemap) pour les moteurs de recherche.
Chez nous Elle participe à la génération du sitemap de concerts.paris (complété par des pages sur mesure : salles, arrondissements, genres…).
Syntaxe JavaScript qui écrit du code asynchrone (qui attend un résultat) presque comme du code normal, ligne après ligne, ce qui le rend beaucoup plus lisible que les enchaînements de callbacks.
Se dit d’une opération lancée sans attendre son résultat : le programme continue et sera prévenu quand c’est prêt. Indispensable pour ne pas geler pendant un appel réseau.
Chez nous Récupérer les concerts depuis l’API ou la base se fait de façon asynchrone (async/await) pour ne pas bloquer le rendu.
Moteur de recherche « plein texte » intégré à MongoDB Atlas, pour chercher dans les données comme sur un moteur de recherche.
Chez nous On ne l’utilise PAS : nos recherches se font ailleurs (index de recherche côté frontend) — un index Atlas Search traîne sur le cluster mais reste inutilisé.
Voir aussi MongoDB Atlas
Format de flux de publication (basé sur XML), cousin plus rigoureux du RSS, pour diffuser une liste d’éléments datés.
Garantie qu’une opération se fait « tout ou rien » : impossible qu’elle s’arrête au milieu en laissant un état incohérent.
Voir aussi Transaction ACID Upsert
Information supplémentaire posée sur une balise HTML (par ex. l’adresse d’un lien, le texte alternatif d’une image), écrite sous la forme nom="valeur".
Voir aussi Élément Balise Data-attribute
Rattacher une vente au clic (et donc au site) qui l’a provoquée, pour savoir qui doit être rémunéré.
Chez nous Repose sur les identifiants de suivi (clickref côté Awin, subId côté Impact) transportés par le lien de réservation.
Voir aussi Affiliation clickref subId UTM
Règle d’attribution la plus courante : la vente est créditée au tout dernier lien cliqué avant l’achat, même si le visiteur avait vu d’autres publicités avant.
Chez nous Si un visiteur clique notre lien « Réserver » puis achète, la vente nous revient — sauf s’il repasse ensuite par un autre affilié juste avant de payer.
Voir aussi Attribution Fenêtre de cookie Affiliation
Groupe de personnes ciblé par une campagne, défini par des critères communs (centres d’intérêt, comportement, visite passée d’un site).
Voir aussi Reciblage Segmentation de liste First-party data
Vérifier QUI est l’utilisateur (prouver son identité, par ex. via mot de passe ou jeton). À distinguer de l’autorisation, qui décide ce qu’il a le droit de faire.
Chez nous Les scripts et l’API du backend s’authentifient par clé (PAYLOAD_API_KEY) ; l’admin Payload par identifiants.
Voir aussi Autorisation JWT
En-tête HTTP qui transporte la preuve d’identité du demandeur (jeton, identifiants) pour accéder à une ressource protégée.
Voir aussi En-tête HTTP Token 401 Unauthorized Basic Auth
Réglage qui laisse l’orchestrateur choisir tout seul la profondeur de l’import.
Chez nous C’est le mode du cron nocturne. Depuis « Option A » il renvoie TOUJOURS « complet » (avant, c’était complet le mardi et léger les autres jours).
Voir aussi Profondeur d’import Orchestrateur d’import
Décider ce qu’un utilisateur (déjà authentifié) a le DROIT de faire ou de voir. Répond à « as-tu la permission ? », pas à « qui es-tu ? ».
Voir aussi Authentification RBAC
Organisme de confiance qui délivre les certificats de sécurité des sites. Les navigateurs ne font confiance qu’aux certificats signés par une autorité reconnue.
Voir aussi Certificat TLS Let’s Encrypt Enregistrement CAA
Estimation de la « crédibilité » globale d’un site aux yeux des moteurs, bâtie surtout sur la quantité et la qualité des liens entrants. Plus elle est haute, plus il est facile de bien se classer.
Chez nous Notre principal frein pour les requêtes très concurrentielles : « concerts paris » est en page 3 par manque d’autorité, pas par défaut technique.
Voir aussi Backlink E-E-A-T Position moyenne
Ajustement automatique des ressources (nombre de machines ou d’instances) selon la charge du moment : on monte en cas d’affluence, on redescend quand ça se calme.
Voir aussi Mise à l’échelle horizontale Serverless
Champ Schema.org d’une offre qui indique l’état du stock : en vente, épuisé (« complet »), en prévente, etc. Il pointe vers une valeur normalisée de schema.org.
Chez nous Sert à baliser « Complet » (sold-out) ou une prévente sur une fiche, en cohérence avec le badge affiché au visiteur.
Voir aussi Offer priceValidUntil
Format d’image encore plus efficace que WebP (fichiers souvent plus petits à qualité égale), mais pas compris par tous les navigateurs — d’où l’intérêt de prévoir un repli.
Chez nous Proposé en premier choix pour les affiches concert via <picture> ; le navigateur retombe sur WebP puis JPEG s’il ne sait pas le lire.
Voir aussi WebP Picture Image responsive
Réseau d’affiliation : un intermédiaire qui relie des sites (comme le nôtre) à des marchands, suit les clics et gère les commissions.
Chez nous C’est par Awin que passe le partenariat Fnac Spectacles : quand un visiteur clique « Réserver » vers la Fnac, Awin trace le clic pour qu’on soit rémunéré.
Voir aussi Affiliation Deeplink clickref Fnac Spectacles
Amazon Web Services : le plus grand fournisseur de services d’hébergement et d’infrastructure dans le cloud.
Chez nous Pas d’hébergement chez AWS, mais notre base MongoDB Atlas tourne sur l’infrastructure AWS à Paris (région eu-west-3), co-localisée avec Railway.
Voir aussi MongoDB Atlas S3 Railway
Boîte à outils logicielle fournie par Amazon pour dialoguer avec ses services (dont le stockage S3) depuis son propre code.
Chez nous Le client S3 de l’AWS SDK sert à pousser affiches et photos sur notre stockage R2 (compatible S3).
Voir aussi S3 Cloudflare R2 Node.js
Remplir après coup des données manquantes ou passées, pour combler un trou dans l’historique.
Chez nous Par exemple recalculer des indicateurs KPI sur des jours passés qui n’avaient pas été enregistrés.
Voir aussi Seed Enrichissement
Lien d’un autre site vers le nôtre. C’est un vote de confiance : plus on reçoit de liens de sites sérieux, plus on gagne en autorité aux yeux des moteurs.
Chez nous Levier reconnu mais lent : faire monter les têtes génériques (« concerts paris ») tient surtout à l’autorité, donc aux backlinks, pas à un correctif technique.
Voir aussi Autorité de domaine Anchor text E-E-A-T Nofollow
Pastille « Complet » affichée sur une fiche quand tous les billets sont épuisés.
Chez nous S’allume à partir de la disponibilité « SoldOut ». Comme le cache des fiches dure 6 h, il faut purger le cache après un rafraîchissement, sinon le badge met jusqu’à 6 h à apparaître.
Voir aussi Disponibilité (availability) Purge de cache Rafraîchissement Fnac
Le logo d’un partenaire de billetterie (Fever, Fnac) affiché sur une fiche pour signaler l’origine officielle du lien.
Chez nous Rendu par PartnerBadge à partir d’un registre de logos. Il suit le domaine du lien de réservation (offers.url), pas la source ni un mot-clé.
Voir aussi partnerDomains Emplacement sponsorisé Fever Fnac Spectacles
Le fait d’« étiqueter » les éléments d’une page pour en préciser le rôle ou le sens, à destination des moteurs et des IA.
Chez nous Notre balisage principal est le JSON-LD Schema.org des fiches ; on parle aussi de balisage pour les balises title et meta description.
Voir aussi Données structurées JSON-LD Microdonnées
Mot-clé entre chevrons (comme <p> ou <img>) qui marque le début ou la fin d’un élément HTML et indique au navigateur de quoi il s’agit.
Voir aussi Élément HTML Balise sémantique
Balise HTML qui décrit le SENS du contenu plutôt que son apparence (par ex. <nav> pour la navigation, <article> pour un article) : elle aide les moteurs de recherche et les lecteurs d’écran à comprendre la page.
Chez nous Utile pour le SEO et l’accessibilité des fiches concert : une structure claire aide Google et les IA à situer l’info.
Voir aussi HTML SEO Lecteur d’écran Balise
Le titre d’une page tel qu’il apparaît dans l’onglet du navigateur et, surtout, en gros bleu dans les résultats Google. Un des leviers les plus forts pour donner envie de cliquer.
Chez nous Réécrire les titles des « locomotives » bloquées en bas de page 1 (beaucoup d’impressions, position 7-9) est notre gisement de clics n°1.
Voir aussi Meta description CTR SERP Position moyenne
Quantité de données qu’un réseau peut faire passer par seconde : plus elle est élevée, plus on peut transférer d’images, de vidéos ou de pages en même temps.
Service qui suit les concerts et tournées des artistes et prévient leurs fans.
Chez nous Un connecteur existe côté backend, mais cette source est considérée fermée/non exploitable en pratique.
Voir aussi Songkick Source Ticketmaster
Approche opposée à ACID, privilégiant la disponibilité et la mise à l’échelle : les données peuvent être temporairement désynchronisées puis « convergent » vers un état cohérent. Fréquent dans les systèmes distribués.
Voir aussi ACID Cohérence à terme Replica set
Base de données qui range l’information en « documents » souples (au format proche du JSON) plutôt qu’en tables rigides. Chaque document peut avoir ses propres champs.
Chez nous MongoDB est une base documentaire : un concert est stocké comme un document, avec ses champs propres (titre, date, salle, offres…).
Voir aussi NoSQL Base relationnelle
Base de données qui range l’information en tables (lignes et colonnes) reliées entre elles par des clés, et qu’on interroge en SQL.
Voir aussi SQL Base documentaire Clé primaire
Manière d’écrire des données binaires (image, fichier) en texte, avec un jeu de 64 caractères sûrs. Cela grossit un peu la taille mais permet de faire transiter du binaire là où seul du texte est accepté.
Voir aussi Sérialisation Content-Type
Point de référence auquel on compare : la version ou la mesure de départ. Un « gain » n’a de sens que rapporté à sa baseline.
Protection d’accès la plus simple : un identifiant et un mot de passe demandés par le navigateur avant d’afficher la page.
Chez nous C’est ce qui protège ce cockpit : un seul couple identifiant/mot de passe, partagé entre Arthur et Philippe.
Voir aussi Token
Plateforme de surveillance (disponibilité, journaux, alertes, page de statut) pour applications en production.
Voir aussi Uptime UptimeRobot
Déformation systématique d’une mesure qui la pousse toujours dans le même sens (échantillon non représentatif, question mal posée…), au point de fausser la conclusion.
Voir aussi Saisonnalité Corrélation vs causalité Taille d’échantillon
Ensemble de code déjà écrit et réutilisable qu’on ajoute à son projet pour ne pas tout refaire soi-même. On l’appelle quand on en a besoin.
Voir aussi Framework Dépendance Package
Le compte rendu de la nuit : combien de fiches créées, mises à jour, écrasées, sautées ou mises en relecture, et l’état de santé des sources.
Chez nous Envoyé par e-mail (via Resend) à la fin de l’import. Depuis le 01/07 il part AVANT le réchauffage du cache et alerte si une étape échoue, au lieu d’avaler l’erreur en silence.
Voir aussi Orchestrateur d’import Rapport de scraping Récap 21h Resend
La plateforme qui vend réellement les billets d’un concert (Fnac Spectacles, Fever, Ticketmaster…).
Chez nous On ne vend pas de billet nous-mêmes : on oriente vers la billetterie de chaque concert. Le badge partenaire suit d’ailleurs la billetterie du bouton, pas la source de la fiche.
Voir aussi CTA Affiliation Source
Moteur de recherche de Microsoft ; il alimente aussi des réponses d’assistants IA.
Voir aussi Bing Webmaster Tools IndexNow Crawler IA
Équivalent Bing de la Search Console de Google : suivre et gérer la présence d’un site dans le moteur Bing.
Voir aussi Google Search Console IndexNow SEO
Recherche automatique du commit qui a introduit un bug : Git coupe l’historique en deux à répétition (dichotomie) et demande à chaque étape si le problème est là, jusqu’à isoler le coupable.
Voir aussi Commit Régression Blame
Plus petite unité d’information : un 0 ou un 1. Huit bits forment un octet. La vitesse d’un réseau se mesure souvent en bits par seconde (Mbit/s).
Voir aussi Octet
Vue qui, ligne par ligne, indique quel commit (et donc quand et par qui) a introduit chaque ligne d’un fichier — utile pour comprendre l’histoire d’un bout de code.
Situation où une ressource (souvent CSS ou script) doit être chargée et traitée avant que le navigateur puisse afficher la page, retardant le premier affichage.
Voir aussi Critical CSS FCP First paint Script defer
Méthode de déploiement où deux versions du site coexistent (« bleue » en service, « verte » toute prête) : on bascule le trafic d’un coup, et on peut revenir en arrière instantanément.
Voir aussi Déploiement Zéro interruption Rollback Canary
Fait de réserver et programmer un artiste pour une date : le travail de calage entre l’artiste (ou son agence) et le lieu ou l’organisateur.
Voir aussi Promoteur Programmation Résidence
Type de donnée qui ne peut prendre que deux valeurs : vrai ou faux (true / false). Sert à représenter un oui/non dans le code.
Voir aussi Type de données
Instruction qui répète un bloc de code tant qu’une condition est remplie (ou pour chaque élément d’une liste) — le moyen courant de traiter beaucoup de données.
Enchaînement d’étapes qui répare tout seul la qualité au fil des nuits : une fiche mise en relecture peut être re-publiée automatiquement dès qu’elle repasse au-dessus du seuil.
Chez nous Dans l’import : les affiches sont d’abord ré-essayées PUIS mises en attente (jamais l’inverse, pour éviter le yo-yo). Une fiche en relecture qui récupère une vraie affiche et un score ≥ 50 est re-promue en publiée.
Voir aussi Porte qualité pending_review Affiche (cover)
E-mail qui n’a pas pu être livré et revient à l’expéditeur : « dur » si l’adresse n’existe pas (à retirer définitivement), « doux » si le blocage est temporaire (boîte pleine).
Voir aussi Délivrabilité Réputation d’expéditeur ESP
Façon dont le navigateur calcule la taille d’un élément : son contenu, plus la marge intérieure (padding), la bordure et la marge extérieure (margin) qui l’entourent.
Une ligne de travail parallèle dans le code : on y fait ses modifications à l’écart, sans toucher à la version en ligne, avant de les fusionner.
Chez nous La version en ligne vit sur la branche « main ». Chaque évolution part d’une branche dédiée (feat/…, fix/…) puis revient dans main par une PR.
Voir aussi Merge PR (Pull Request) Worktree Commit
Type Schema.org qui décrit le « fil d’Ariane » d’une page (Accueil › Salle › Concert). Google peut l’afficher à la place de l’adresse brute dans ses résultats.
Chez nous Émis sur chaque fiche concert et hub. L’audit refuse une fiche concert qui n’a pas son BreadcrumbList.
Voir aussi ListItem Rich result Maillage interne
Méthode de compression web plus récente que gzip, souvent plus efficace (fichiers plus petits). Proposée par les serveurs et CDN modernes quand le navigateur la gère.
Voir aussi Compression Gzip CDN
Version d’un contenu enregistrée mais pas encore publiée : on peut la préparer et la relire sans qu’elle apparaisse tout de suite sur le site public.
Voir aussi Version Payload CMS pending_review
Montant qu’un annonceur accepte de dépenser sur une période, en général par jour et par campagne ; une fois atteint, les annonces s’arrêtent de diffuser.
Chez nous La campagne « Paradis Latin » est plafonnée à 5 € par jour.
Voir aussi Campagne CPC Enchère Google Ads
La quantité de pages qu’un moteur veut bien explorer sur un site dans un temps donné. Sur un gros site, il ne faut pas la gaspiller sur des pages inutiles.
Chez nous Enjeu quand le catalogue grossira : ne pas envoyer les robots sur des pages creuses ou des redirections, et bien prioriser via le sitemap.
Voir aussi Crawler Sitemap Page orpheline Analyse de logs
Étape qui transforme le code source (écrit par l’humain) en une version optimisée, prête à être mise en ligne.
Chez nous Un build vert prouve que le code compile, mais pas forcément que le rendu est bon à l’œil — d’où les aperçus visuels.
Voir aussi Déploiement TypeScript
Une petite page qui expose des infos sur la version en ligne (dont l’heure de démarrage/construction), utile pour vérifier qu’un déploiement a bien pris.
Chez nous Sert de signal de vie au moniteur d’uptime, et sert AUSSI de repère pour la purge : on attend que sa date de construction CHANGE avant de purger le cache, sinon on remet en cache l’ancien HTML.
Voir aussi Moniteur d’uptime Purge de cache Déploiement
Recette automatique qui détecte le type d’un projet et le transforme en image de conteneur sans qu’on écrive de Dockerfile : le langage et les dépendances sont devinés.
Voir aussi Nixpacks Image de conteneur Docker Build
Fichier unique produit par un outil de build en regroupant plusieurs modules JavaScript (ou CSS), pour limiter le nombre de fichiers à télécharger.
Voir aussi Chunk Code splitting Minification
Copie temporaire d’un résultat déjà calculé, gardée sous la main pour répondre bien plus vite la prochaine fois, sans tout refaire.
Chez nous Nos pages sont mises en cache par Cloudflare, au plus près du visiteur. C’est ce qui rend le site quasi instantané — mais il faut « purger » ce cache pour montrer une nouvelle version.
Voir aussi CDN Edge TTL Purge de cache Warm
Interface du navigateur, pilotée par le service worker, qui stocke localement des réponses réseau (pages, images) pour les resservir instantanément ou en cas de coupure.
Voir aussi Service worker Offline Cache
Règles Cloudflare qui disent, URL par URL, ce qu’il faut mettre en cache et pour combien de temps.
Chez nous Une Cache Rule sur media.concerts.paris fait servir les images (affiches, photos de salles) depuis le cache en « immutable », pour un affichage instantané.
Voir aussi Cache CDN Cloudflare R2 Cloudflare
En-tête HTTP qui dicte combien de temps une page ou un fichier peut être gardé en cache, et par qui (navigateur, CDN…).
Chez nous C’est ainsi qu’on fixe la durée de cache par type de page dans le middleware Astro (fiches 6 h, listes ~30 min).
Voir aussi En-tête HTTP Cache TTL ETag CDN
À quelle fréquence et à quelle heure l’import du catalogue se déclenche.
Chez nous Un seul cron nocturne (import-runner à 2 h du matin) fait un import COMPLET toutes les nuits (« Option A »). Les passages de jour (prix/dispo) et les runs à la main utilisent le mode léger.
Voir aussi Profondeur d’import Cron import-runner
Calendrier mensuel interactif en tête des pages salle et artiste, montrant les concerts jour par jour.
Chez nous Construit côté serveur puis rendu au clic/survol (un jour → aperçu de la fiche). Attention au cache des pages (6 h) : une modif peut mettre du temps à apparaître.
Voir aussi Hub Purge de cache
Fonction passée en argument à une autre pour être appelée « plus tard », par exemple quand un événement se produit ou qu’une donnée arrive.
Voir aussi Promesse Async/await Écouteur d’événement
Unité d’organisation d’une action publicitaire : un ensemble d’annonces partageant un budget, un objectif et des réglages communs.
Chez nous Une seule campagne Google Ads active côté concerts.paris, « Paradis Latin » (dîner-cabaret), maintenue en pause.
Voir aussi Groupe d’annonces Google Ads SEA Budget
La « porte d’entrée » par laquelle un visiteur arrive : recherche naturelle, accès direct, réseau social, IA… Regrouper les visites par canal montre d’où vient l’audience.
Chez nous Le cockpit distingue notamment un canal « GEO » (visites venues d’assistants IA comme ChatGPT/Perplexity) du SEO classique.
Voir aussi Trafic organique Trafic direct Trafic référent GEO
Méthode de déploiement où une nouvelle version n’est d’abord montrée qu’à une petite fraction des visiteurs. Si tout va bien, on l’étend ; sinon, on l’arrête tôt.
Voir aussi Déploiement Blue-green Rollback Feature flag
Situation où plusieurs pages d’un même site visent le même mot-clé et se font concurrence : Google hésite, et aucune ne se classe aussi bien qu’une page unique et claire l’aurait fait.
Voir aussi Canonical Contenu dupliqué Mot-clé
L’adresse « officielle » d’une page, déclarée pour dire aux moteurs : « en cas de plusieurs adresses menant au même contenu, voici celle qui compte ». Évite le contenu dupliqué.
Chez nous Chaque fiche déclare son URL canonique ; les doublons pointent vers la fiche de référence.
Voir aussi SEO Redirect 301/302 Dédoublonnage
Zone de dessin en HTML où le JavaScript peut tracer des formes, du texte ou des images pixel par pixel (graphiques, jeux, effets visuels).
Voir aussi SVG JavaScript
Principe du CSS (le « C » de Cascading) qui décide, quand plusieurs règles s’appliquent au même élément, laquelle gagne — selon leur origine, leur spécificité et leur ordre.
Voir aussi Spécificité Variable CSS
L’ensemble des contenus du site : les concerts, les salles et les artistes référencés.
Chez nous Alimenté chaque nuit par un import qui agrège plusieurs sources, puis dédoublonne et enrichit les fiches.
Voir aussi Source Seed Dédoublonnage Enrichissement
Réseau de serveurs répartis dans le monde qui gardent une copie du site près de chaque visiteur, pour livrer les pages plus vite.
Chez nous Notre CDN, c’est Cloudflare. Un visiteur à Paris est servi depuis un serveur proche, sans attendre notre serveur d’origine.
Voir aussi Cache Edge Cloudflare
Fichier électronique qui prouve l’identité d’un site et permet de chiffrer la connexion. C’est lui qui déclenche le cadenas et le « https » dans le navigateur.
Chez nous concerts.paris a un certificat pour le domaine racine (émis une fois le plan Railway Hobby activé) ; Cloudflare fournit aussi le sien devant le site.
Voir aussi TLS HTTPS Let’s Encrypt Autorité de certification Enregistrement CAA
Conditions générales d’utilisation : le contrat qui fixe les règles d’usage d’un service ou d’un site. À vérifier avant d’exploiter une source de données (a-t-on le droit ?).
Voir aussi robots.txt RGPD Source
Écriture (avec ?.) qui va chercher une valeur en profondeur sans planter si un maillon est absent : au lieu d’une erreur, on obtient « rien ».
Voir aussi Nullish Garde de type
Suite de caractères (lettres, chiffres, symboles) manipulée comme du texte par le code, par ex. « concerts.paris » ou un titre de concert.
Voir aussi Type de données Encodage de caractères Échappement
Suite de redirections en cascade (A mène à B, qui mène à C) avant d’arriver à la bonne page. Ça ralentit le visiteur et fait perdre un peu d’autorité SEO ; mieux vaut rediriger en une seule étape.
Voir aussi Redirect 301/302 Canonical
Une propriété nommée à l’intérieur d’un document ou d’un enregistrement (par exemple le titre, la date ou la salle d’un concert). L’équivalent d’une colonne dans un tableur.
Chez nous Les collections Payload (concerts, salles…) sont définies champ par champ, avec leur type et leurs règles.
Voir aussi Document Collection Payload CMS
Journal des changements : liste, version par version, ce qui a été ajouté, corrigé ou modifié dans un projet.
Voir aussi SemVer Conventional commits Tag
Prendre un commit précis d’une branche et l’appliquer sur une autre, sans importer tout le reste de la branche.
Transformation de données en une forme illisible sans la bonne clé, pour les protéger. On distingue le chiffrement « en transit » (pendant l’échange) et « au repos » (une fois stockées).
Voir aussi TLS Chiffrement au repos Chiffrement en transit Hachage
Chiffrement des données une fois stockées (base de données, fichiers), pour qu’un accès physique au disque ne les révèle pas en clair.
Voir aussi Chiffrement Chiffrement en transit
Chiffrement des données pendant qu’elles voyagent sur le réseau (entre le visiteur et le serveur), pour qu’on ne puisse pas les intercepter en clair.
Chez nous Assuré par HTTPS/TLS sur tout concerts.paris (site, API, images).
Voir aussi Chiffrement TLS HTTPS Chiffrement au repos
Navigateur web de Google, aussi utilisé comme outil de test et de mesure (DevTools, Lighthouse).
Voir aussi Lighthouse Playwright
Morceau de code issu du découpage d’un bundle : plutôt qu’un seul gros fichier, on livre plusieurs petits chargés au besoin.
Voir aussi Bundle Code splitting
Part des clients ou abonnés perdus sur une période (désabonnements, comptes inactifs). Un churn élevé oblige à recruter sans cesse juste pour compenser les départs.
Voir aussi Valeur vie client Désabonnement Newsletter
Automatiser les vérifications du code (CI, intégration continue) et sa mise en ligne (CD, déploiement continu), pour livrer souvent et sans erreur manuelle.
Chez nous Nos vérifications tournent sur GitHub Actions à chaque PR ; le déploiement, lui, part automatiquement quand on fusionne dans main.
Voir aussi GitHub Actions Déploiement Build
Le fait qu’une intelligence artificielle mentionne et attribue une source dans sa réponse (avec un lien ou un nom). C’est la « conversion » du GEO : être cité, pas seulement lu.
Chez nous L’objectif final : quand un assistant répond sur les concerts à Paris, qu’il cite concerts.paris. Distinct de l’entraînement (nourrir le modèle).
Voir aussi GEO Moteur de réponse Crawler IA Grounding
Grand réseau d’affiliation international (ex-Commission Junction) reliant éditeurs et annonceurs.
Voir aussi Awin Impact Affiliation Rakuten Advertising
Fonction CSS clamp() qui borne une valeur entre un minimum et un maximum tout en la laissant varier au milieu : parfait pour une taille de texte fluide qui ne devient jamais trop petite ni trop grande.
Chez nous Employée dans la feuille de style du site et du cockpit pour des tailles de texte et des espacements qui s’adaptent à l’écran sans casser.
Voir aussi Variable CSS Media query
Décider dans quel genre musical ranger un concert, à partir du titre, de la salle, des étiquettes de la source et de l’artiste.
Chez nous Cascade : détection « non-musical » d’abord, puis étiquettes de la source, puis heuristique par mots-clés, puis repli par la salle ; à l’enrichissement, le genre Deezer de l’artiste peut affiner. Souci récurrent = la SUR-classification.
Voir aussi Genre par défaut Genre de la salle Genre Deezer Sur-classification Événement non-musical
Champ d’un enregistrement qui pointe vers l’identifiant d’un autre, matérialisant un lien entre eux (par exemple la salle rattachée à un concert).
Champ (ou combinaison de champs) qui identifie de façon unique chaque enregistrement d’une table, pour ne jamais confondre deux lignes.
Chez nous Dans MongoDB, chaque document a un identifiant unique _id qui joue ce rôle de clé primaire.
Voir aussi Clé étrangère Contrainte unique ObjectId
Étiquette de suivi ajoutée à un lien d’affiliation Awin : elle voyage jusqu’au marchand et permet d’identifier quel clic a mené à une vente.
Chez nous Utilisée sur les liens vers Fnac Spectacles pour attribuer les ventes.
Voir aussi Awin Attribution Deeplink subId
Technique qui masque une longue adresse d’affiliation derrière une adresse courte et propre du site, plus lisible et qui permet de changer la destination sans toucher aux pages.
Chez nous Nos liens passent par /go/tickets : le visiteur voit une adresse concerts.paris, la redirection vers le lien tracé du marchand se fait côté serveur.
Voir aussi Lien de tracking Redirect 301/302 Deeplink
Copier un dépôt distant sur son ordinateur pour pouvoir travailler dessus, avec tout son historique.
Fonction JavaScript qui « se souvient » des variables de l’endroit où elle a été créée, même une fois ce contexte terminé. Très utilisé pour garder un état privé.
Société qui met ses serveurs entre les visiteurs et notre site. Elle accélère le site (cache), le protège (pare-feu), gère les noms de domaine (DNS) et stocke des fichiers.
Chez nous Tout le trafic de concerts.paris passe par Cloudflare : cache des pages, protection contre les robots malveillants, DNS, stockage des images (R2) et mesure de vitesse (RUM).
Voir aussi CDN Cache WAF Cloudflare R2 Cloudflare Worker DNS Purge de cache
Base de données SQL légère (SQLite) proposée par Cloudflare et accessible depuis les Workers.
Voir aussi Cloudflare Workers Workers KV Cloudflare
Service d’hébergement de Cloudflare pour les sites web « statiques » ou rendus côté client, avec déploiement automatique depuis un dépôt Git.
Voir aussi Cloudflare Déploiement SSG Vercel
Service de stockage de fichiers dans le cloud (photos, documents…), compatible avec le standard « S3 » d’Amazon mais sans frais de sortie.
Chez nous On y range les images (affiches de concerts, photos de salles). Elles sont servies depuis l’adresse media.concerts.paris.
Voir aussi Cloudflare Enrichissement
Service d’enregistrement de noms de domaine intégré à Cloudflare, réputé pour vendre les domaines au prix coûtant.
Voir aussi Cloudflare DNS OVH
Service de Cloudflare pour héberger et diffuser des vidéos, avec lecteur et encodage adaptatif inclus.
Voir aussi Cloudflare Cloudflare R2
Outil de Cloudflare qui expose un service privé (par ex. tournant sur une machine locale) sur Internet via un tunnel sécurisé, sans ouvrir de port.
Voir aussi Cloudflare Reverse proxy
Outil de mesure d’audience de Cloudflare qui compte les visites sans cookie ni pistage, respectueux de la vie privée.
Chez nous Source des visites « réelles » (cookieless) et des Core Web Vitals p75 remontés au récap du soir et au cockpit KPI.
Voir aussi RUM Core Web Vitals Cloudflare Cookieless
Petit programme qui s’exécute directement sur les serveurs de Cloudflare, au plus près du visiteur, sans serveur à gérer.
Chez nous Un Worker surveille en continu que le site et ses fonctions clés répondent (« moniteur d’uptime ») et alerte par e-mail en cas de souci.
Voir aussi Edge Uptime Cloudflare
Service de Cloudflare qui exécute du code directement sur son réseau mondial, au plus près des visiteurs, sans qu’on ait à gérer de serveur.
Chez nous On s’en sert pour le petit programme « concerts-uptime » qui surveille la prod et alerte par e-mail en cas de panne.
Voir aussi Cloudflare Edge Cloudflare Worker Wrangler
Suite de sécurité Cloudflare fondée sur le principe « ne faire confiance à personne par défaut » : chaque accès à une ressource interne est vérifié individuellement.
Voir aussi Cloudflare Basic Auth
Cumulative Layout Shift : mesure les sauts intempestifs de la mise en page pendant le chargement (le bouton qui bouge au moment où on clique). Plus c’est bas, mieux c’est.
Voir aussi Core Web Vitals LCP INP
Type d’enregistrement DNS qui dit « ce nom est un alias d’un autre nom » : au lieu de pointer une adresse, il renvoie vers un autre domaine.
Chez nous Les sous-domaines (comme media.concerts.paris ou l’API) sont branchés par CNAME vers l’adresse fournie par Railway ou Cloudflare.
Voir aussi DNS Enregistrement DNS Domaine racine
Le numéro à trois chiffres qu’un serveur renvoie pour dire comment la requête s’est passée : 2xx = réussi, 3xx = redirection, 4xx = erreur du demandeur, 5xx = erreur du serveur.
Voir aussi 200 OK 404 Not Found 500 Internal Server Error Redirect 301/302
Suite de caractères qu’un acheteur saisit au paiement pour obtenir une réduction ; sert aussi à mesurer l’effet d’une campagne ou d’un partenaire quand le code lui est propre.
Voir aussi Conversion Affiliation Panier moyen
Découpage du JavaScript en plusieurs fichiers chargés à la demande (par page ou par fonctionnalité), pour ne pas tout télécharger d’un coup et accélérer la première visite.
Voir aussi Chunk Bundle Lazy loading
Outil d’analyse de code de GitHub qui cherche automatiquement les failles de sécurité en interrogeant le code comme une base de données.
Voir aussi GitHub GitHub Actions
Environnement de développement complet fourni par GitHub dans le cloud, accessible depuis un navigateur.
Voir aussi GitHub
Sécurité qui remplace tout genre « hors liste » par « autre » avant l’enregistrement.
Chez nous Corrige un vrai bug : un genre invalide (variete-internationale, eurovision…) GELAIT toute modification de la fiche dans l’admin. En le ramenant à « autre » avant validation, on « dégèle » la fiche.
Voir aussi Genre par défaut Classement de genre
Conversion (parfois automatique) d’une valeur d’un type vers un autre en JavaScript — par ex. un nombre transformé en texte. Pratique mais source de surprises quand elle est implicite.
Voir aussi Garde de type Coup de cœur
Modèle où, après une écriture, toutes les copies des données finissent par s’aligner — mais pas forcément dans l’instant. On accepte un court décalage en échange de rapidité et de résilience.
Voir aussi BASE Replica set Cache
Un groupe de visiteurs réunis par un point commun (par exemple « tous ceux arrivés cette semaine »), qu’on suit dans le temps pour voir s’ils reviennent.
Voir aussi Visiteur unique Session
Dans MongoDB, un ensemble de documents de même nature, comme une « table ». Ex. la collection des concerts, celle des salles.
Chez nous Nos collections : events (concerts), hubs (salles/artistes/lieux), usage-events (mesures), ticket-clicks (clics de réservation)…
Voir aussi MongoDB Atlas Document
Dans Payload, un type de contenu défini une fois (ses champs, ses règles, ses droits) que l’on peut ensuite créer et gérer depuis l’interface d’administration. Chaque collection devient une collection MongoDB.
Chez nous On en compte neuf (concerts, salles/artistes, médias, abonnés, clics billetterie, usage du site, indicateurs…), chacune décrite dans le code du backend.
Voir aussi Payload CMS Collection Champ Contrôle d’accès
Type Schema.org qui qualifie une page comme étant une page de collection (une liste, un catalogue thématique) plutôt qu’un contenu unique.
Chez nous Utilisé sur nos pages de listes (guides thématiques), en tandem avec une ItemList.
Voir aussi ItemList Pages d’intention
Fonction CSS color-mix() qui fabrique une nouvelle couleur en mélangeant deux couleurs dans une proportion donnée — utile pour des teintes translucides ou des dégradés cohérents.
Chez nous Utilisée dans les styles du site et du cockpit pour des bordures et fonds légèrement teintés dérivés des couleurs de la charte.
Voir aussi Variable CSS Dark mode
Somme versée à l’éditeur par le marchand pour chaque vente (ou action) qu’il a apportée, en général un pourcentage du montant acheté.
Chez nous C’est le revenu de concerts.paris : un pourcentage du billet acheté quand le visiteur réserve via notre lien Fnac ou Fever.
Voir aussi Taux de commission Affiliation Validation de vente Règlement
Un enregistrement daté d’un lot de modifications du code, avec un petit message qui explique ce qui change. C’est l’unité de base de l’historique.
Chez nous On écrit les messages en français, avec un préfixe (feat:, fix:, perf:) qui aide aussi à raconter la livraison dans le récap du soir.
Voir aussi Branche Merge PR (Pull Request)
Ancien système de modules de Node.js (require/module.exports), antérieur à la norme ESM. On croise encore les deux dans l’écosystème JavaScript.
Outil qui traduit d’un coup tout un code source en un autre langage exécutable (par ex. TypeScript → JavaScript) avant qu’il ne tourne.
Voir aussi Interpréteur TypeScript Runtime
Mesure de la façon dont le temps (ou la mémoire) d’un algorithme grossit quand on lui donne plus de données. On la note en « grand O » (par ex. O(n) = proportionnel au nombre d’éléments).
Voir aussi Algorithme
La recette qui ordonne les concerts sur l’accueil, en mélangeant plusieurs critères pondérés.
Chez nous Environ 0,60 popularité de l’artiste + 0,20 taille de la salle + 0,20 proximité de la date, avec un petit bonus pour les partenaires. Puis la rotation quotidienne brasse légèrement l’ensemble.
Voir aussi Ranking Popularité Rotation quotidienne Emplacement sponsorisé
Réduction de la taille de données pour les envoyer plus vite ou les stocker à moindre coût, puis décompression à l’arrivée. Sur le web, elle accélère le chargement des pages.
Gérer plusieurs tâches qui progressent sur une même période en s’entrelaçant (sans forcément s’exécuter au même instant), par ex. attendre plusieurs réponses réseau à la fois.
Voir aussi Parallélisme Asynchrone
Bug qui survient quand le résultat dépend de l’ordre — imprévisible — dans lequel deux traitements simultanés accèdent à la même ressource.
Chez nous Deux imports lancés en même temps sont une condition de course : un verrou Mongo (import_locks) les empêche de se marcher dessus.
Voir aussi Concurrence Interblocage
Situation où Git ne sait pas fusionner tout seul deux versions parce que les mêmes lignes ont été modifiées différemment de chaque côté : il faut trancher à la main.
Dispositif de Google qui ajuste la mesure et la publicité selon que le visiteur a accepté ou refusé les cookies : sans accord, il n’enregistre qu’un comptage anonyme et allégé.
Voir aussi RGPD Cookieless GA4 First-party data
Boîte logicielle qui emporte une application avec tout ce dont elle a besoin pour tourner (code, dépendances, réglages), afin qu’elle fonctionne pareil partout.
Chez nous Chaque service de concerts.paris (frontend, backend, worker d’import) tourne dans son propre conteneur sur Railway.
Voir aussi Docker Image de conteneur Railway Couche (image)
En-tête HTTP qui annonce la nature du contenu échangé (page HTML, données JSON, image…), pour que l’autre côté sache comment l’interpréter.
Voir aussi En-tête HTTP JSON HTML
CMS « headless » commercial hébergé (SaaS) : on y saisit le contenu, qui est ensuite consommé par API.
Voir aussi Payload CMS Headless CMS Sanity
Un même contenu accessible à plusieurs adresses, ou copié d’une page à l’autre. Les moteurs doivent choisir laquelle compter, ce qui dilue le référencement.
Chez nous Géré par les URL canoniques et des redirections 301 : les fiches salle en double pointent vers la fiche de référence.
Voir aussi Canonical Redirect 301/302 Cannibalisation
Contenu présenté de façon à être compris sans effort par un programme ou une IA : données structurées, texte clair et bien découpé, formats standard — pas seulement joli pour l’œil humain.
Chez nous Le principe directeur du site « IA-first » : JSON-LD, feed dédié, llms.txt, réponses answer-first. Tout est pensé pour être lu par une machine autant que par un humain.
Groupe d’éléments dont l’ordre de superposition (z-index) est calculé entre eux, indépendamment du reste de la page. Certaines propriétés CSS (opacity, transform…) en créent un, ce qui explique des z-index qui « ne marchent pas ».
Règle posée sur un champ pour interdire deux enregistrements ayant la même valeur (par ex. un e-mail d’inscription ne peut exister qu’une fois).
Voir aussi Clé primaire Index
Écart de luminosité entre un texte et son fond. Un contraste suffisant est nécessaire pour que le texte reste lisible, notamment en cas de basse vision.
Voir aussi Accessibilité Dark mode
La « promesse » qu’une API fait à ceux qui l’utilisent : quelles adresses existent, quels paramètres accepter, quelle forme aura la réponse. Le respecter, c’est éviter de casser les applications clientes.
Voir aussi API OpenAPI Versionnage d’API
Règles qui décident qui a le droit de lire, créer, modifier ou supprimer chaque donnée. Cœur de la sécurité d’une API.
Chez nous Dans Payload, l’écriture publique (clic billetterie, mesure d’usage) n’est permise qu’avec une clé API partagée en en-tête ; la lecture de ces collections reste réservée aux administrateurs connectés.
Voir aussi Payload CMS Token 401 Unauthorized 403 Forbidden
Convention d’écriture des messages de commit : un préfixe standard (feat pour une nouveauté, fix pour un correctif, perf pour la performance…) suivi d’une description, pour un historique lisible et automatisable.
Chez nous On les utilise en français ; le préfixe (feat/fix/perf) sert d’icône dans le récap e-mail du soir, et les branches suivent feat/… fix/… perf/…
Action utile qu’un visiteur réalise sur le site et qu’on cherche à obtenir : un achat, une inscription, un clic clé. La conversion est le but que mesure l’analytics commercial.
Chez nous Notre conversion de référence est le clic sur « Réserver » vers la billetterie (mesuré côté visiteur par GA4 et compté dans la collection ticket-clicks).
Voir aussi Taux de conversion Micro-conversion CTA Entonnoir de conversion
Petit fichier qu’un site dépose dans le navigateur pour se souvenir d’une information entre deux visites (panier, connexion, provenance d’un clic publicitaire).
Chez nous Le site public est volontairement sans cookie de suivi (mesure d’usage anonyme) ; en affiliation, en revanche, c’est un cookie posé chez la billetterie qui rattache la vente à notre clic.
Voir aussi Fenêtre de cookie Cookieless Attribution RGPD
Petit fichier que le site dépose dans le navigateur et qui est renvoyé à chaque requête. Sert à mémoriser une préférence ou un consentement ; peut aussi servir au suivi publicitaire, d’où l’encadrement RGPD.
Chez nous concerts.paris évite les cookies pour la mesure d’audience (approche « cookieless ») ; un cookie sert surtout à retenir le choix de consentement du visiteur.
Voir aussi Cookieless RGPD localStorage
Se dit d’une mesure d’audience faite SANS déposer de cookie sur l’ordinateur du visiteur — donc sans bandeau de consentement et plus respectueux de la vie privée.
Chez nous Nos mesures d’usage et nos tests A/B sont sans cookie : anonymes, conformes au RGPD, et sans le fameux bandeau.
Voir aussi RGPD A/B test sendBeacon
Trois indicateurs de Google qui mesurent la qualité vécue d’une page : vitesse d’affichage, réactivité aux clics, stabilité visuelle. Ils comptent pour le référencement.
Chez nous Suivis dans le récap du soir grâce à la mesure « vrais visiteurs » de Cloudflare (RUM).
La charge de données envoyée avec une requête (souvent en JSON), typiquement lors d’une création ou d’une modification. Un simple GET n’en a généralement pas.
Voir aussi Méthode HTTP JSON Content-Type Query string
Deux choses qui varient ensemble (corrélation) ne signifie pas que l’une cause l’autre (causalité) : il peut y avoir une cause commune ou une coïncidence. Le test A/B, lui, isole la cause.
Voir aussi Biais A/B test Saisonnalité
Règle de sécurité des navigateurs qui décide si une page a le droit d’appeler une API hébergée sur un autre domaine que le sien.
Chez nous À cadrer proprement quand le site (concerts.paris) appelle l’API du back-office (autre domaine).
Voir aussi API Rate limit
Une image de conteneur est faite d’une pile de couches successives (chaque instruction de construction ajoute une couche). Les couches inchangées sont réutilisées, ce qui accélère les constructions.
Chez nous Un piège connu : si un réglage n’est pas déclaré au bon endroit du Dockerfile, la couche de construction ne change pas et le changement passe inaperçu.
Voir aussi Image de conteneur Docker Build
Étiquette qui dit de quelle source provient un événement pendant la fusion (ticketmaster, opendata, fever…), un peu comme des calques que l’on empile.
Chez nous Chaque source a sa couche ; l’ordre de fusion est fixe (sources riches d’abord, agrégateurs ensuite, partenaires en dernier). Après fusion, une fiche issue de plusieurs couches est marquée « merged ».
Voir aussi Fusion inter-sources Source Dédoublonnage
Distinction éditoriale mise en avant sur certaines fiches par un petit cœur.
Chez nous Badge attribué automatiquement selon des règles (ex. artiste émergent avec une base de fans dans une certaine fourchette). Purement visuel, non filtrable.
Voir aussi Popularité Ranking
Dépense moyenne engagée (publicité, promotion) pour gagner un nouveau client. À comparer à ce que ce client rapporte pour savoir si l’effort est rentable.
Voir aussi CPA Valeur vie client ROAS Panier moyen
Mesure de la part du code réellement exécutée par les tests, en pourcentage : elle montre ce qui est testé et ce qui ne l’est pas (mais un fort pourcentage ne garantit pas l’absence de bug).
Voir aussi Test unitaire Test d’intégration
Coût par action (ou par acquisition) : l’annonceur ne paie que lorsqu’une action précise est réalisée — une vente, une inscription. Le modèle le plus proche de l’affiliation.
Voir aussi CPC CPL Conversion Commission
Coût par clic : mode de facturation publicitaire où l’annonceur paie chaque fois qu’un internaute clique sur son annonce (et non à l’affichage).
Chez nous C’est le modèle de la campagne Google Ads « Paradis Latin » (enchère plafonnée à 0,30 € le clic).
Voir aussi CPM CPA Google Ads Enchère
Coût par lead : l’annonceur paie pour chaque contact commercial généré (par ex. un formulaire rempli, une inscription), sans qu’une vente soit encore faite.
Voir aussi CPA Lead Conversion
Coût pour mille affichages : mode de facturation où l’annonceur paie par tranche de 1 000 fois où son annonce est montrée, qu’on clique dessus ou non.
Voir aussi CPC Impression CPA
Robot qui parcourt automatiquement les pages du web, de lien en lien, pour les découvrir et les indexer (ex. le robot de Google).
Chez nous On les guide avec le sitemap (ce qu’il faut voir) et robots.txt (ce qu’il faut ignorer).
Voir aussi Crawler IA Sitemap robots.txt Indexation
Robot appartenant à une intelligence artificielle (GPTBot d’OpenAI, ClaudeBot d’Anthropic…) qui lit les pages pour nourrir les réponses des IA.
Chez nous Cœur de notre stratégie « GEO » : on VEUT que ces robots lisent nos fiches. Un réglage Cloudflare trop strict les avait bloqués par erreur.
Petite portion de CSS strictement nécessaire pour afficher le haut de la page, injectée directement dans le HTML pour peindre l’écran au plus vite sans attendre le reste des styles.
Voir aussi Above the fold FCP Blocage du rendu
Minuteur qui déclenche une tâche automatiquement à heure fixe (chaque nuit, chaque lundi…). Le nom vient d’un vieil outil Unix.
Chez nous Nos tâches planifiées : l’import du catalogue chaque nuit, le récap e-mail du soir, etc. Réparties entre Railway et GitHub Actions.
Voir aussi GitHub Actions Railway Seed
Petit utilitaire qui permet de définir une variable d’environnement dans un script en fonctionnant de la même façon sur Windows, macOS et Linux.
Chez nous Plusieurs scripts l’utilisent pour imposer des réglages comme « COVERS_STORAGE=r2 » au moment de l’import ou des migrations d’images.
Voir aussi Variable d’environnement npm
Proposer à un acheteur des produits complémentaires à celui qu’il regarde ou vient d’acheter, pour augmenter la valeur de la commande (« vous aimerez aussi »).
Voir aussi Up-selling Panier moyen Recommandation
Les quatre opérations de base sur des données : Créer, Lire, Mettre à jour, Supprimer (en anglais Create, Read, Update, Delete). Le socle de toute gestion d’enregistrements.
Voir aussi REST Collection Document
Règle de sécurité envoyée par un site (en-tête) qui liste les sources autorisées de scripts, images ou styles. Elle limite fortement les dégâts d’une tentative d’injection de code.
Voir aussi XSS Injection En-tête HTTP Sanitisation
Attaque qui piège le navigateur d’un utilisateur connecté pour lui faire exécuter une action à son insu sur un site (ex. un virement, un changement de réglage). On s’en protège par un jeton anti-CSRF.
Voir aussi XSS CORS Jeton d’accès
Le langage qui décrit l’apparence des pages web : couleurs, polices, disposition, animations.
Voir aussi HTML
Format de tableau en texte simple : une ligne par enregistrement, des colonnes séparées par des virgules (ou points-virgules). Universel pour échanger des données avec un tableur.
Chez nous Le flux de la Fnac Spectacles (via Awin) arrive sous cette forme et alimente l’import.
Call To Action : le bouton ou lien qui invite le visiteur à agir. Chez nous, typiquement le bouton « Réserver ».
Chez nous Nos CTA « Réserver » sont des liens d’affiliation tracés : leur clic est notre principale conversion.
Voir aussi Deeplink Affiliation Billetterie
Taux de clic : part des personnes qui cliquent sur un élément (annonce, lien, e-mail) par rapport au nombre de fois où il leur a été montré. Mesure son pouvoir d’attraction.
Voir aussi Impression Conversion Quality score Taux de clic
Outil en ligne de commande universel pour envoyer des requêtes web (HTTP) et voir la réponse ; le couteau suisse du test d’API.
Chez nous Très utilisé pour vérifier la prod : contrôler qu’un build est en ligne (build-info.json), l’état du cache Cloudflare, ou qu’une image est bien servie.
Repère (souvent un identifiant ou une date) qui marque « où on s’est arrêté » dans une liste, pour reprendre la page suivante à partir de là — plus robuste et rapide que l’offset sur de grands volumes.
Voir aussi Pagination Offset / limit Curseur Mongo
Poignée que MongoDB rend pour parcourir un grand résultat par lots au fur et à mesure, plutôt que de tout charger en mémoire d’un coup.
Voir aussi Curseur Requête Pagination
Thème d’affichage sombre, souvent calé sur la préférence système de l’utilisateur via la media query prefers-color-scheme.
Chez nous Le cockpit de pilotage propose un mode sombre (suivant la préférence système, mémorisée) ; le site public grand public, lui, reste en thème clair.
Voir aussi prefers-color-scheme Variable CSS Media query
Attribut HTML personnalisé commençant par « data- » (par ex. data-genre) qui sert à ranger une donnée sur un élément pour que le JavaScript ou le CSS s’en serve ensuite.
Chez nous Chaque carte concert porte des data-attributes (data-search, data-dates, data-presale, data-free…) que le filtrage côté navigateur lit pour montrer ou cacher la carte ; l’accueil bascule aussi grille/liste via data-home-view.
Voir aussi Attribut JavaScript CSS
Type de données structurées (Schema.org) qui décrit un « jeu de données » pour que moteurs et IA comprennent qu’une page publie des chiffres réutilisables.
Chez nous Piste pour exposer nos données agrégées (ex. un baromètre des concerts) de façon exploitable par les IA.
Jour et heure où les billets d’un concert deviennent achetables. Avant, l’événement peut être annoncé sans billetterie ouverte (prévente à venir).
Chez nous Récupérée via un flux partenaire (colonne available_from), elle alimente le badge « Prévente · {date} » et le filtre préventes de l’accueil.
Voir aussi Billetterie Popularité Fnac Spectacles
Attaque par saturation : un grand nombre de machines inondent un site de requêtes en même temps pour le faire tomber. On s’en protège avec un service capable d’absorber le flot.
Chez nous Cloudflare protège concerts.paris contre les attaques DDoS en filtrant et absorbant le trafic malveillant avant qu’il n’atteigne l’origine.
Voir aussi Pare-feu WAF Cloudflare Gestion des bots
Traquer et corriger les bugs d’un programme : reproduire le problème, observer ce qui se passe, isoler la cause, la réparer.
Voir aussi Trace Pile d’appels
Technique qui attend une courte pause avant d’exécuter une action déclenchée en rafale (frappe au clavier, redimensionnement) : on n’agit qu’une fois l’utilisateur « calmé », pour éviter des calculs inutiles.
Voir aussi Throttle Écouteur d’événement
Saut visuel où un élément déjà affiché bouge parce qu’un contenu arrive au-dessus (image sans taille réservée, police tardive). Ces sauts, gênants, sont mesurés par le CLS.
Chez nous Limité en réservant à l’avance la place des affiches (ratio d’aspect fixe) pour que la page ne saute pas quand elles finissent de charger.
Voir aussi CLS Ratio d’aspect Reflow FOUT
La règle unique qui répond « cette source doit-elle tourner cette nuit ? » en appliquant toujours le même ordre de priorité.
Chez nous Ordre : SEED_ONLY d’abord, sinon l’interrupteur SEED_ENABLE, sinon le défaut de la fiche, et enfin un pré-requis dur (clé API présente ?). Une source sans sa clé est ignorée en silence, même si elle est allumée.
Voir aussi SEED_ENABLE SEED_ONLY Registre des sources isConfigured
Repérer et fusionner les doublons : quand un même concert (ou une même salle) remonte de plusieurs sources, on n’en garde qu’une fiche.
Chez nous Étape délicate de l’import : bien fusionner évite les fiches en double, mais fusionner à tort colle deux concerts différents. Cœur de plusieurs garde-fous.
Voir aussi Matching Catalogue Canonical Redirect 301/302
Dernier filet contre les doublons : avant de créer une fiche, on cherche en base un concert déjà présent à la même salle et à ±2 h, et on saute la création si on en trouve un.
Chez nous findDuplicateEvent. ⚠️ Il ne sert QU’À sauter une création — jamais à décider qui écrase qui (incident Capéo/Thiéfaine : la même salle + même soir SANS vérifier l’artiste a fait écraser la mauvaise fiche).
Voir aussi Dédoublonnage Règle de match Soft-update
Lien « profond » qui mène directement à une page précise chez un partenaire (la bonne billetterie du bon concert), enrichi des étiquettes de suivi pour tracer le clic.
Chez nous Nos boutons « Réserver » passent par un relais interne (/go/tickets) qui fabrique le deeplink tracé et compte le clic avant de rediriger.
Voir aussi CTA Affiliation Attribution clickref subId
Plateforme de musique en ligne. Elle propose une interface technique (API) pour récupérer des infos sur les artistes.
Chez nous Source des extraits audio jouables sur les fiches et d’un repère de genre musical par artiste.
Voir aussi Enrichissement Spotify
Chargement des résultats au fur et à mesure qu’on descend la page, au lieu d’une pagination par boutons.
Chez nous Au-delà des ~150 cartes rendues côté serveur, les suivantes sont ajoutées depuis l’index de recherche.
Voir aussi Index de recherche Plafond de cartes SSR
Principe consistant à ce qu’une page reste utilisable même si une fonctionnalité échoue : si le JavaScript ne se charge pas, le contenu essentiel doit rester lisible.
Voir aussi Amélioration progressive
Technique consistant à poser un seul écouteur sur un élément parent plutôt qu’un par enfant : il attrape les événements qui « remontent » depuis les enfants. Plus léger et gère les éléments ajoutés après coup.
Chez nous Le mouchard d’usage anonyme utilise un unique écouteur délégué en tête de page pour suivre filtres et écoutes sans multiplier les écouteurs.
Voir aussi Écouteur d’événement Événement DOM
Capacité d’un e-mail à réellement arriver dans la boîte de réception (et non en spam ou bloqué). Elle dépend de la réputation de l’expéditeur et de la qualité de la liste.
Voir aussi Réputation d’expéditeur Plainte spam Bounce ESP
Choix inverse de la normalisation : on recopie volontairement une information à plusieurs endroits pour lire plus vite (moins d’allers-retours), au prix de devoir la mettre à jour partout.
Voir aussi Normalisation Imbrication Problème N+1
Robot de GitHub qui surveille les bibliothèques utilisées par un projet et propose automatiquement leurs mises à jour de sécurité.
Voir aussi GitHub PR (Pull Request)
Bibliothèque externe dont ton projet a besoin pour fonctionner. Elles sont listées dans package.json et installées dans node_modules.
Voir aussi Package Lockfile Dépendance transitive Bibliothèque
Dépendance dont dépendent tes dépendances : tu ne l’as pas demandée directement, mais elle est installée parce qu’une bibliothèque que tu utilises en a besoin.
Voir aussi Dépendance Lockfile
Action de mettre une nouvelle version du code en ligne, accessible aux vrais visiteurs.
Chez nous Chez nous, fusionner une PR dans main déclenche tout seul le déploiement sur Railway. Après un déploiement, on pense à purger le cache Cloudflare.
Voir aussi Railway Rollback Purge de cache Merge
Dossier de projet suivi par Git : il garde l’historique complet de toutes les versions du code, avec qui a changé quoi et quand.
Chez nous Le dépôt du projet est concerts-paris/concerts.paris, hébergé sur GitHub (privé).
Possibilité pour un abonné de quitter une liste d’envoi en un clic ; un lien de désabonnement clair est obligatoire dans tout e-mail marketing et protège la réputation de l’expéditeur.
Voir aussi Newsletter RGPD Plainte spam Churn
L’opération inverse de la sérialisation : reconstruire une donnée exploitable par le programme à partir de son texte ou de ses octets (par exemple lire un JSON reçu).
Voir aussi Sérialisation JSON
Écriture qui extrait d’un coup plusieurs champs d’un objet ou éléments d’une liste dans des variables séparées, en une seule ligne.
Voir aussi Opérateur spread Tuple
État de Git où l’on regarde un commit précis sans être sur une branche : on peut explorer, mais un nouveau commit fait là serait « flottant » et facile à perdre si l’on ne crée pas de branche.
Propriété d’un traitement qui, pour les mêmes entrées, produit toujours exactement le même résultat. L’inverse (résultat variable) rend les bugs difficiles à reproduire.
Voir aussi Condition de course
Audit en lecture seule qui recense les défauts de qualité des fiches, classés par gravité.
Chez nous Ventile score faible (< 50), « à retravailler », affiche de repli, description maigre. Comme la plupart des audits, il ne modifie rien par défaut (il faut --apply pour écrire).
Voir aussi Score de qualité Readiness Porte qualité
Billetterie mobile de concerts et de vie nocturne, connue pour ses billets nominatifs anti-revente.
Voir aussi Shotgun Ticketmaster Billetterie
Vue des différences entre deux versions d’un fichier ou d’un projet : ce qui a été ajouté (en vert) et retiré (en rouge), ligne par ligne.
Voir aussi Commit PR (Pull Request) Blame
Instruction envoyée avec une page (dans l’en-tête Cache-Control) qui dit qui peut la garder en cache, combien de temps, et comment la rafraîchir.
Chez nous concerts.paris règle finement le cache par ce moyen : durée côté CDN (s-maxage), pages fraîches en priorité, et service de version datée pendant le rafraîchissement.
Voir aussi s-maxage max-age stale-while-revalidate no-store En-tête HTTP Cache
CMS « headless » open source qui se pose au-dessus d’une base de données SQL existante et en expose le contenu par API.
Voir aussi Payload CMS Strapi Headless CMS
Sécurité qui bascule l’index de recherche en mode dégradé (moins d’entrées) si la base répond trop lentement, pour ne pas la surcharger.
Chez nous searchIndexBreaker : sur réponse lente, renvoie un index réduit marqué « dégradé » et réessaie plus tard, plutôt que de marteler la base.
Voir aussi Index de recherche
L’état des billets d’un concert : en vente (InStock), en prévente (PreOrder) ou complet (SoldOut).
Chez nous offers.availability. Recalculée à chaque import : « complet » SEULEMENT si toutes les séances à venir le sont, « prévente » si toutes sont en prévente. Jamais figée en cours de run.
Voir aussi rollupAvailability Badge Complet Prévente in_stock
Signature invisible ajoutée aux e-mails d’un domaine et vérifiable via le DNS : elle prouve que le message vient bien de ce domaine et n’a pas été modifié en route.
Chez nous Les e-mails automatiques de concerts.paris (récap, alertes) sont signés en DKIM, ce qui améliore leur délivrabilité.
Voir aussi SPF DMARC Enregistrement TXT Resend
Règle DNS qui dit aux boîtes mail quoi faire d’un e-mail qui échoue aux contrôles d’authenticité (SPF/DKIM) : le laisser, le mettre en spam ou le rejeter.
Voir aussi SPF DKIM Enregistrement TXT
L’annuaire d’Internet : il traduit un nom lisible (concerts.paris) en l’adresse technique du serveur qui répond. Sans lui, il faudrait retenir des suites de chiffres.
Chez nous Notre DNS est géré par Cloudflare ; le nom de domaine est enregistré chez OVH.
Voir aussi Cloudflare OVH
Technologie qui emballe une application avec tout ce dont elle a besoin dans une « boîte » (conteneur) qui tourne à l’identique partout.
Chez nous Sert à construire et déployer nos services de façon reproductible sur Railway.
Voir aussi Railway Déploiement Build
Outil qui lance et coordonne plusieurs conteneurs Docker ensemble à partir d’un seul fichier de configuration (utile en développement).
Voir aussi Docker
Dans MongoDB, une entrée individuelle (un concert, une salle…), stockée sous une forme souple proche du JSON.
Voir aussi Collection MongoDB Atlas
Représentation en mémoire d’une page web sous forme d’arbre : le navigateur transforme le HTML reçu en objets qu’il affiche, et que le JavaScript peut lire ou modifier en direct.
Chez nous Quand tu filtres les concerts sur l’accueil, le JavaScript ajoute ou retire des cartes dans le DOM sans recharger la page.
Voir aussi HTML Élément JavaScript
Le nom de domaine « nu », sans préfixe (ex. concerts.paris), par opposition à ses sous-domaines. On l’appelle aussi apex.
Chez nous concerts.paris est le domaine racine (le site public) ; api.concerts.paris et media.concerts.paris en sont des sous-domaines.
Voir aussi Sous-domaine DNS CNAME
Informations ajoutées dans une page dans un format que les machines comprennent sans ambiguïté (date, lieu, prix d’un événement…). Elles aident les moteurs à afficher de « beaux » résultats et les IA à citer juste.
Chez nous Le cœur de notre stratégie : on décrit concerts, salles et artistes en données structurées (JSON-LD / Schema.org) pour être compris et cités par Google comme par les IA.
Voir aussi JSON-LD Schema.org Rich result GEO
Deux façons de mesurer la vitesse : « labo » = un test dans des conditions fixes et contrôlées (reproductible mais artificiel) ; « terrain » = ce que vivent les vrais visiteurs (variable mais réel). Google se fie au terrain pour le classement.
Chez nous On regarde les deux : la CI (Lighthouse = labo) attrape les régressions, mais nos Core Web Vitals de référence viennent du terrain (RUM Cloudflare).
Voir aussi Lighthouse RUM Monitoring synthétique Core Web Vitals
Service de gestion centralisée des secrets et variables d’environnement, synchronisés vers les différentes plateformes.
Chez nous On ne l’utilise pas : notre solution équivalente est Infisical.
Voir aussi Infisical HashiCorp Vault Variable d’environnement
Petite bibliothèque qui charge les variables d’un fichier « .env » dans une application, pour séparer la configuration du code.
Chez nous Elle charge le fichier backend/.env (régénéré depuis le coffre Infisical) au démarrage des scripts et du backend.
Voir aussi Variable d’environnement Infisical Node.js
Inscription à une liste e-mail en deux temps : l’internaute laisse son adresse, puis clique un lien de confirmation reçu par mail. Garantit un consentement clair et une liste saine (adresses réelles et volontaires).
Chez nous Objectif pour la newsletter concerts.paris (encore à mettre en place au-dessus de la capture actuelle).
Voir aussi Newsletter RGPD ESP Délivrabilité
Protection légale spécifique des bases de données : on ne peut en extraire que des portions non substantielles, en citant la source et en gardant un lien vers l’original.
Chez nous Encadre la légalité d’agréger une source : usage éditorial (citer + lier) plutôt que copie massive. Fait partie du verdict de faisabilité d’une source.
Voir aussi Faisabilité de source robots.txt
Principe « ne te répète pas » : éviter de dupliquer la même logique à plusieurs endroits, pour ne la corriger qu’une fois. La duplication qui dérive est une source classique de bugs.
Chez nous Un fil rouge de la dette technique du projet : des valeurs dupliquées non centralisées (listes de domaines partenaires, etc.) qui divergent et créent des bugs.
Voir aussi Source autoritaire
Mode « répétition à blanc » : le programme affiche ce qu’il ferait, sans rien écrire ni modifier.
Chez nous À lancer avant un vrai import pour vérifier le plan des étapes (et voir lesquelles seraient sautées en mode léger) sans risque.
Voir aussi Orchestrateur d’import Seed
Le temps passé sur le site par un visiteur, de son arrivée à sa dernière activité, mesuré sans cookie.
Chez nous Mesure maison : un identifiant éphémère (pas un cookie) + un « battement de cœur » toutes les 15 s tant que l’onglet est visible, envoyé à la fermeture. On garde la durée max par visite, puis on fait la moyenne. GA4 a été abandonné au profit de cette mesure (tous les visiteurs, sans cookie).
Voir aussi usage-events sendBeacon Cookieless
Le temps qu’un visiteur passe sur une page après avoir cliqué depuis les résultats, avant de revenir en arrière. Un temps long suggère que la page a répondu à son besoin.
Voir aussi Taux de rebond Taux d’engagement Session
Grille de qualité de Google : Expérience, Expertise, Autorité, Fiabilité (Experience, Expertise, Authoritativeness, Trustworthiness). Elle guide l’évaluation d’un contenu, surtout sur les sujets sensibles.
Chez nous Pour un site jeune, la partie « autorité » se construit avec le temps, le contenu original et les liens entrants — d’où l’effort sur le contenu des salles.
Voir aussi Backlink Autorité de domaine Thin content
E-mail déclenché par une action précise d’un utilisateur (confirmation d’inscription, reçu, alerte), envoyé à une seule personne — à distinguer de l’e-mail marketing envoyé en masse pour promouvoir.
Chez nous Nos e-mails internes (récap du soir, bilan d’import) sont transactionnels et partent via Resend, pas via un outil de campagne marketing.
Voir aussi Resend ESP Newsletter Délivrabilité
Mesure de dispersion exprimée dans la même unité que les données (c’est la racine de la variance) : il dit de combien, en moyenne, les valeurs s’éloignent de la moyenne.
Fait de neutraliser un caractère spécial pour qu’il soit traité comme du texte ordinaire et non comme une instruction — par ex. pour éviter qu’un < dans un titre ne casse le HTML.
Chez nous Échapper le contenu affiché protège contre l’injection de script (XSS) et évite qu’un caractère d’un titre de concert ne casse la page.
Voir aussi Encodage de caractères
Bout de code (posé avec addEventListener) qui « écoute » un type d’événement sur un élément (clic, survol, saisie, défilement) et réagit quand il se produit.
Chez nous Un seul écouteur délégué capte tous les clics utiles de l’accueil (filtres, écoutes) pour la mesure d’usage ; les écouteurs de défilement sont posés en « passive » pour ne pas gêner le scroll.
Voir aussi Événement Délégation d’événements Callback
La « périphérie » du réseau : les serveurs les plus proches géographiquement du visiteur, par opposition au serveur central d’origine.
Chez nous Le cache et la logique légère (Workers) s’exécutent sur l’edge de Cloudflare, ce qui rapproche le site du visiteur.
Voir aussi CDN Cache Cloudflare Worker
Cache installé sur les serveurs en bordure de réseau (au plus près du visiteur) : il garde des copies des pages pour les servir instantanément sans repasser par l’origine.
Chez nous Cloudflare garde en edge cache les pages de concerts.paris (fiches 6 h, listes 30 min) pour un affichage quasi immédiat.
Voir aussi Edge CDN Cache Origine État de cache
Dans l’affiliation, le site qui recommande un produit et envoie des visiteurs vers le marchand ; il touche une commission sur les ventes qu’il apporte.
Chez nous C’est le rôle de concerts.paris : on envoie l’acheteur vers la billetterie (Fnac, Fever…) et on est rémunéré si la vente se fait.
Voir aussi Affiliation Annonceur Réseau d’affiliation Commission
Toute action d’un code qui touche au monde extérieur en plus de calculer (écrire un fichier, appeler une API, modifier une variable partagée). Utile mais à surveiller, car source d’imprévus.
Voir aussi Fonction pure Immutabilité
Brique de base d’une page HTML (un titre, un paragraphe, une image, un bouton…), délimitée par une balise ouvrante et une balise fermante.
Le plus gros contenu visible au chargement (souvent l’image ou le titre principal) : c’est lui que mesure l’indicateur LCP. L’afficher vite améliore directement le score.
Chez nous Identifié en tête de page pour être préchargé en priorité (preload + fetchpriority="high"), afin d’améliorer le LCP des fiches et de l’accueil.
Voir aussi LCP Preload fetchpriority Above the fold
Mode qui saute l’import et n’envoie QUE le bilan e-mail, pour vérifier que le mail part bien.
Chez nous Utilisé pour tester le bilan d’import sans relancer toute la nuit ; le mail est alors marqué comme un test.
Voir aussi Bilan d’import Orchestrateur d’import
Transformation d’un texte en une liste de nombres qui capture son sens, pour qu’une machine puisse comparer des contenus « par le sens » (et pas juste par les mots exacts). Base de la recherche moderne et du RAG.
Voir aussi RAG LLM Contenu lisible par machine
Espace mis de côté à l’avance dans une page pour un contenu rémunéré, indépendamment du classement habituel : la place est garantie, ce n’est pas un « bonus » qui pousse un élément vers le haut.
Chez nous L’accueil réserve environ un quart des cent premières places à des concerts rémunérés (Fever) — un emplacement dédié, à ne pas confondre avec le bonus de score des partenaires.
Voir aussi Ranking Popularité Fever Affiliation
Places réservées dans le classement à des concerts qui nous rémunèrent, sans « gonfler » leur score — juste des créneaux réservés.
Chez nous Sur l’accueil uniquement, environ 1 créneau sur 4 du haut du classement est réservé aux meilleurs concerts Fever. Le signal est le domaine du lien de billetterie, pas un mot-clé.
Voir aussi Composition du score de classement Fever Badge partenaire
En-tête HTTP qui indique depuis combien de secondes une page est gardée dans le cache. Un Age élevé signale une copie déjà ancienne.
Voir aussi En-tête HTTP Cache État de cache
Ligne d’information technique jointe à une requête ou une réponse web (type de contenu, règles de cache, jeton d’identité…), sans faire partie du contenu lui-même.
Voir aussi Cache-Control Content-Type ETag Authorization Vary
Somme maximale qu’un annonceur accepte de payer pour un clic ou un affichage ; les places publicitaires sont attribuées par une mise aux enchères instantanée entre annonceurs.
Chez nous La campagne Google Ads « Paradis Latin » enchérit au maximum 0,30 € par clic.
Voir aussi CPC Ad rank Quality score Google Ads SEA
Table de correspondance qui dit comment chaque lettre ou symbole est stocké en octets. Si l’émetteur et le lecteur n’utilisent pas la même, on voit des caractères bizarres (« é » au lieu de « é »).
Une adresse (URL) précise d’une API, correspondant à une donnée ou une action. Par exemple /api/events pour la liste des concerts.
Adresse spéciale d’un service, sans intérêt pour le visiteur, qu’un outil de surveillance interroge en boucle : si elle répond « OK », le service est considéré en vie.
Chez nous Le backend expose un tel point (`/api/v1/health`) que la supervision appelle pour vérifier qu’il tourne.
Voir aussi Healthcheck Uptime Endpoint
Type d’enregistrement DNS qui fait pointer un nom de domaine vers une adresse IP (le « numéro de rue » d’un serveur), en version classique IPv4.
Voir aussi DNS Enregistrement DNS Enregistrement AAAA
Comme l’enregistrement A, mais pour une adresse IP au nouveau format (IPv6, des adresses beaucoup plus longues et plus nombreuses).
Voir aussi DNS Enregistrement A
Enregistrement DNS qui précise quelles autorités ont le droit d’émettre un certificat de sécurité (HTTPS) pour un domaine. Une barrière anti-usurpation de certificat.
Voir aussi DNS Certificat TLS Autorité de certification
Ligne dans l’annuaire d’un nom de domaine qui dit « ce nom pointe vers là ». Il en existe plusieurs types (adresse, alias, mail…) selon ce qu’on veut faire pointer.
Chez nous Les enregistrements DNS de concerts.paris sont gérés dans Cloudflare : ils dirigent le site, l’API, les images et les e-mails vers les bons serveurs.
Voir aussi DNS Cloudflare Enregistrement A CNAME
Enregistrement DNS qui indique quel serveur reçoit les e-mails envoyés à un domaine (le « bureau de poste » du courrier).
Chez nous Les MX de concerts.paris pointent vers la messagerie (OVH) pour la réception du courrier ; l’envoi automatique passe, lui, par Resend.
Enregistrement DNS qui désigne les serveurs de noms faisant autorité sur un domaine, c’est-à-dire ceux qui détiennent l’annuaire officiel de ce domaine.
Chez nous Les NS de concerts.paris pointent vers Cloudflare, qui héberge la zone DNS du domaine.
Voir aussi DNS Zone DNS Cloudflare
Enregistrement DNS qui contient du texte libre. Il sert surtout à prouver qu’on est bien propriétaire d’un domaine ou à publier des règles (mail, sécurité).
Chez nous On pose des TXT pour vérifier un domaine (ex. « railway-verify ») et pour l’authentification des e-mails (SPF, DKIM, DMARC).
Étape d’enrichissement qui rédige le résumé factuel en tête de chaque fiche.
Chez nous Tourne dans l’import complet. Utilise Gemini ou un gabarit déterministe, et garde les faits volatils hors du résumé.
Voir aussi Résumé factuel Enrichissement
Étape qui ajoute aux fiches les extraits à écouter/regarder (lecteur Spotify de l’artiste, vidéo YouTube).
Chez nous Alimente le bloc « Écouter & voir ». Encore absent sur une bonne partie des fiches (l’identifiant Spotify du hub artiste n’est pas toujours réutilisé en repli).
Voir aussi Enrichissement Spotify YouTube Deezer
Compléter une fiche avec des données venues d’ailleurs : photo depuis Wikidata, genre depuis Deezer, nombre de fans depuis Spotify, résumé, etc.
Chez nous Tourne dans l’import nocturne. Permet de passer d’une fiche brute et pauvre à une fiche riche et présentable.
Voir aussi Wikidata Deezer Spotify Cloudflare R2 Thin content
Compléter les fiches de salles avec photo, capacité, adresse et coordonnées, en s’appuyant sur Wikidata.
Chez nous Commande enrich:venues. Incrémental (saute les champs déjà remplis sauf si on force). C’est là qu’un mauvais QID Wikidata peut ramener une mauvaise photo ou description.
Voir aussi Enrichissement QID Wikidata Thin content
Collection de valeurs sans doublon et sans ordre imposé : on y teste surtout l’appartenance (« cet élément est-il dedans ? »). « Set » en JavaScript.
Voir aussi Tableau Table de hachage
Nombre sans partie décimale (…, -1, 0, 1, 2, …). L’un des types de nombres de base d’un langage de programmation.
Voir aussi Flottant Nombre Type de données
Une « chose » identifiée de façon unique (un artiste, une salle, un lieu), au-delà des simples mots-clés. Les moteurs et les IA raisonnent de plus en plus par entités reliées entre elles.
Chez nous Nos fiches se relient en un graphe d’entités : un concert pointe vers sa salle et son artiste par un identifiant stable, renforcés par les liens « sameAs ».
Voir aussi sameAs Wikidata Knowledge panel Hub & Spoke
La représentation des étapes menant à une conversion (voir la fiche → cliquer « Réserver »), avec le nombre de visiteurs qui « tombent » à chaque étape. Ça montre où l’on perd du monde.
Chez nous On regarde l’entonnoir billetterie (de la fiche au clic « Réserver ») pour repérer les fuites.
Voir aussi Conversion Taux de conversion CTA
Représentation des étapes que traverse un visiteur jusqu’à l’achat (arrivée → fiche → clic « Réserver » → achat), à chacune desquelles une partie abandonne. Sert à repérer où l’on perd le plus de monde.
Chez nous Le cockpit affiche un « Entonnoir billetterie · GA4 » qui suit la descente du visiteur jusqu’au clic vers la billetterie.
Voir aussi Conversion Taux de conversion Micro-conversion GA4
Élément Schema.org qui décrit « le point d’entrée » d’une action : concrètement, le gabarit d’URL à utiliser pour la déclencher (par exemple une recherche).
Chez nous Utilisé dans la SearchAction de l’accueil pour indiquer le format de l’URL de recherche.
Voir aussi SearchAction WebSite (Schema.org)
Liste fermée de valeurs nommées et fixées à l’avance (par ex. les statuts possibles d’une fiche), pour éviter les fautes de frappe et les valeurs invalides.
Un exemplaire complet d’une application configuré pour un usage précis : la production (le vrai site public), une préproduction pour tester, ou un aperçu temporaire.
Chez nous concerts.paris tourne surtout en production (Railway) ; les changements sont testés en local puis validés avant d’atteindre la prod.
Voir aussi Déploiement Variable d’environnement Aperçu de déploiement
Revenu moyen généré pour cent clics envoyés vers un marchand (« earnings per click », souvent exprimé pour 100 clics). Indicateur de rentabilité d’un programme d’affiliation : plus il est haut, plus chaque clic rapporte.
Voir aussi Commission Taux de conversion Affiliation
Outil qui transforme et regroupe très rapidement le code JavaScript/TypeScript pour le préparer à la mise en ligne.
Voir aussi Vite Rollup Build TypeScript
Le linter de référence pour JavaScript et TypeScript : il signale les erreurs et applique des règles de style et de bonnes pratiques.
Voir aussi Lint Prettier TypeScript
Système officiel de modules de JavaScript (import/export) permettant de découper le code en fichiers réutilisables ; compris nativement par les navigateurs modernes.
Voir aussi CommonJS Tree-shaking Bundle
Service spécialisé dans l’envoi d’e-mails en masse (newsletters, campagnes) qui gère les listes d’abonnés, la délivrabilité et les statistiques d’ouverture et de clic.
Voir aussi Newsletter Délivrabilité Resend E-mail transactionnel
Étiquette (une sorte d’empreinte) qu’un serveur attache à une réponse. Au prochain passage, le navigateur la présente : si le contenu n’a pas changé, le serveur répond « rien de neuf » (304) au lieu de tout renvoyer.
Voir aussi En-tête HTTP 304 Not Modified Cache
Indication (dans un en-tête HTTP) qui dit si une page a été servie depuis le cache ou depuis l’origine, et pourquoi. Elle sert à vérifier que le cache fonctionne.
Chez nous Sur concerts.paris on lit l’en-tête cf-cache-status de Cloudflare (HIT, MISS, DYNAMIC…) pour vérifier qu’une page est bien cachée après une purge.
Voir aussi HIT MISS En-tête HTTP Edge cache Cache
Mots qui décrivent le FORMAT d’un événement (« Concert », « Festival ») et non son genre musical — à ne pas confondre avec un genre.
Chez nous Les qfapTags de l’Open Data en portent presque partout. « Festival » est un cadre, pas un genre : le classement les rejette pour ne pas fausser le genre.
Voir aussi Sur-classification Classement de genre
Extraire, Transformer, Charger : la chaîne qui va chercher des données à une source, les met en forme, puis les range dans sa propre base.
Chez nous L’import du catalogue suit cette logique : récupérer les concerts des sources, les nettoyer et dédoublonner, puis les enregistrer en base.
Voir aussi Enrichissement Dédoublonnage Seed
Un concert (ou spectacle) du catalogue, avec sa date, son lieu et sa billetterie. Le cœur du site.
Chez nous Stocké dans la collection events, présenté sur une « fiche concert » à l’adresse /events/{slug}.
Voir aussi Hub Catalogue Slug Collection Univers
Une action précise mesurée sur le site (un clic, une écoute, un défilement), au-delà du simple chargement de page. On compte les événements pour comprendre ce que font les visiteurs.
Chez nous On enregistre des événements anonymes (filtres utilisés, écoutes d’extraits, clics « Réserver ») dans la collection « usage-events », sans cookie.
Voir aussi Objectif (analytics) Conversion sendBeacon Cookieless
Repérer ce qui n’est PAS un concert (humour, one-man-show, atelier, exposition) pour l’écarter du catalogue.
Chez nous isNonMusicEvent : signaux « forts » (one-man-show, humoriste, café-théâtre) testés partout, signaux « faibles » (humour, atelier, exposition) seulement dans le titre et la salle. « Comédie musicale » est épargnée. En dernier recours, on lit le métier de l’artiste sur Wikidata.
Voir aussi Classement de genre Archivage
Type Schema.org générique décrivant un événement (date de début, lieu…). On lui préfère souvent un sous-type plus précis quand il existe.
Chez nous On n’émet JAMAIS un « Event » nu : nos concerts sont des « MusicEvent », plus précis et mieux compris de Google.
Voir aussi MusicEvent Schema.org
Mécanisme au cœur de JavaScript qui traite les tâches une par une et enchaîne les événements (clics, réponses réseau, minuteurs) sans jamais faire plusieurs choses en même temps. D’où l’importance de ne pas le bloquer, sous peine de figer la page.
Voir aussi Promesse Callback Async/await Jank
Plateforme de billetterie et d’événements où particuliers et organisateurs publient et vendent des billets.
Chez nous C’est une de nos sources d’événements (connecteur backend + emplacement dans le registre des sources).
Voir aussi Ticketmaster Source Billetterie
Une exposition : un des trois univers du site, à côté des concerts et du théâtre. Elle se visite pendant une PÉRIODE (du 3 mars au 12 juillet), là où un concert a lieu un soir précis.
Chez nous Cette différence change les comptages : une expo compte tant qu’elle n’a pas FERMÉ, pas tant qu’elle n’a pas commencé. Une expo ouverte le mois dernier et visible jusqu’en décembre est « en cours », pas « passée » — le cockpit la range en conséquence.
Étape d’agrégation MongoDB qui exécute plusieurs sous-analyses en un seul passage sur les mêmes données, et renvoie tous leurs résultats à la fois.
Chez nous Le cockpit s’en sert pour calculer d’un coup les chiffres d’usage sur trois fenêtres (24 h, 7 j, 30 j) en une seule requête.
Voir aussi Pipeline d’agrégation $group $match
Choix de sécurité qui « laisse passer » en cas de panne d’un garde-fou, plutôt que de tout bloquer.
Chez nous Le verrou d’import est fail-open : si la base est injoignable au moment de poser le verrou, on autorise quand même l’import (mieux vaut un import qu’un catalogue qui ne se met jamais à jour).
Voir aussi Verrou d’import
L’étude amont qui dit, AVANT de coder, si une nouvelle source est exploitable : accès technique, légalité, volume réellement nouveau.
Chez nous Trois questions : peut-on la récupérer (API ouverte, flux, ou scraping) ? A-t-on le droit (CGU, robots.txt, droit des bases de données) ? Combien de « net-new » réel apporte-t-elle ? Verdict go / no-go avant tout branchement.
Voir aussi Net-new Mur anti-bot Droit sui generis Provider (source)
Solution de secours affichée ou utilisée quand l’idéal n’est pas disponible : une valeur par défaut, une image de remplacement, un mode dégradé.
Chez nous Ex. si une salle n’a pas de photo, on affiche un visuel par défaut ; si une clé d’API manque, le bloc concerné se replie proprement.
Voir aussi Enrichissement
Type Schema.org qui balise une liste de questions-réponses d’une page. Bien fait, il aide les moteurs et les IA à extraire directement une réponse.
Chez nous Chaque fiche concert et chaque page d’intention embarque une FAQ balisée en FAQPage — utile pour le référencement IA (réponse directe).
Voir aussi Question (Schema.org) Answer (Schema.org) AEO Featured snippet
Fusion « en avance rapide » : quand la branche cible n’a pas bougé depuis, Git avance simplement le repère sans créer de commit de fusion.
Deux fiches qui AURAIENT dû fusionner en une seule mais sont restées séparées (le même concert apparaît en double).
Chez nous Souvent parce que les deux salles ne partagent qu’un mot générique, ou que le nom d’artiste n’a pas été reconnu. Le regroupement en tournées ou la dédup par salle sont censés rattraper le cas.
Voir aussi Règle de match Regroupement en tournées Dédoublonnage
Petite icône du site affichée dans l’onglet du navigateur et les favoris.
Voir aussi Meta
Instant où le premier contenu (texte ou image) apparaît à l’écran (« First Contentful Paint ») : premier signe visible pour le visiteur que la page se charge.
Voir aussi First paint LCP TTFB Speed Index
Interrupteur logiciel pour activer ou couper une fonctionnalité sans re-livrer de code. Pratique pour tester ou lancer progressivement.
Chez nous On active/coupe des sources d’import ou des options par des réglages (variables d’environnement), sans toucher au code.
Voir aussi Variable d’environnement A/B test
Encadré de réponse que Google place tout en haut des résultats, en citant un extrait d’une page. Souvent appelé « position zéro ».
Chez nous Cible naturelle de nos réponses « answer-first » et de nos FAQ balisées, pensées pour être extraites telles quelles.
Voir aussi SERP FAQPage AEO Rich result
Flux de données structuré, pensé pour être consommé directement par les intelligences artificielles plutôt que lu par un humain.
Chez nous Notre « geo-feed » liste les concerts sous forme exploitable par les IA (accessible à /api/v1/geo-feed).
Voir aussi GEO Crawler IA JSON
Durée pendant laquelle une vente est encore attribuée à l’éditeur après le clic (par ex. 30 jours) : si l’internaute achète dans ce délai, l’éditeur touche sa commission ; passé ce délai, non.
Chez nous Détermine combien de temps après un clic sur « Réserver » un achat nous est encore crédité par Awin ou Impact.
Voir aussi Attribution Attribution au dernier clic Cookie Commission
Regarder les événements sur une durée récente qui « glisse » (par ex. les 30 dernières heures) plutôt que sur le seul dernier run.
Chez nous Le rapport de scraping juge une source « morte » sur ~30 h (DEAD_LOOKBACK_HOURS) : ça absorbe un run isolé sauté (comme le télescopage du mardi) sans crier au loup.
Voir aussi Rapport de scraping Scraping mort (faux positif)
Événement qui réunit de nombreux concerts et artistes sur plusieurs jours ou scènes. C’est un format, pas un genre musical.
Chez nous « Festival » est un tag de FORMAT, à ne pas confondre avec un genre : le classer comme genre est un piège de sur-classification déjà corrigé.
Voir aussi Programmation Tête d’affiche
Récupérer les dernières nouveautés du dépôt distant SANS toucher à son propre travail : on télécharge les changements pour les regarder, mais rien n’est encore fusionné.
Chez nous Le fetch se fait forcé en HTTPS via l’aide de gh (le fetch SSH est bloqué : port 22 en timeout).
Attribut qui indique au navigateur l’importance d’une ressource (« high » ou « low »), pour qu’il télécharge d’abord ce qui compte le plus à l’écran.
Chez nous L’image de tête (LCP) des fiches et de l’accueil porte fetchpriority="high" pour être chargée avant le reste et accélérer l’affichage perçu.
Billetterie et organisateur d’expériences (concerts à la bougie « Candlelight », etc.).
Chez nous Premier partenaire d’affiliation signé. Le suivi des clics passe par le réseau Impact. C’est une « source autoritaire » : sa fiche fait référence.
Voir aussi Affiliation Impact Source autoritaire Billetterie
Mettre à jour une fiche existante SANS matching risqué, en écrivant directement sur la bonne fiche déjà identifiée.
Chez nous C’est la voie SÛRE pour recorriger un recouvrement (elle a rebasculé les liens Fnac avec 0 erreur), par opposition à la dédup date+salle qui, mal utilisée pour écraser, a causé l’incident Capéo/Thiéfaine.
Voir aussi Dédup base (date + salle) Soft-update Règle de match
Une fiche qui a collé par erreur plusieurs concerts DIFFÉRENTS (programmes distincts recousus ensemble).
Chez nous Arrive quand la clé de regroupement en tournée a sur-fusionné (par ex. deux spectacles « Candlelight » différents rangés sous le même artiste). Le biais du projet est l’inverse : mieux vaut rater une fusion que fusionner à tort.
Voir aussi Regroupement en tournées Faux doublon Absorption
Liste de tâches en attente d’être traitées, l’une après l’autre, souvent par un programme dédié. Permet d’encaisser un afflux de travail sans tout faire dans l’instant.
Voir aussi Worker Tâche de fond Cron
Option de l’accueil qui n’affiche que les concerts encore en prévente.
Chez nous Paramètre ?presale=1. L’index de recherche porte le drapeau « prévente » et le libellé de mise en vente, et la puce du filtre existe côté web et mobile.
Voir aussi Prévente Index de recherche Filtres accueil
Les tris et filtres de la page d’accueil (genre, salle, arrondissement, prix, gratuits, prévente, proximité…) qui portent sur tout le catalogue.
Chez nous Reposent sur l’index de recherche. « Filtre mort » = un filtre qui ne fait rien, souvent parce que l’info n’a pas été câblée dans l’index ou dans le format d’entrée.
Voir aussi Index de recherche Mode index complet Filtre prévente
Technique qui reconnaît un visiteur sans cookie, en combinant des caractéristiques de son navigateur (empreinte). Puissant mais intrusif, donc encadré par le RGPD.
Chez nous La mesure d’usage du site est volontairement anonyme et SANS fingerprinting ni cookie (collection usage-events), pour rester respectueuse de la vie privée.
Voir aussi Cookie RGPD Visiteur unique
Tout premier moment où le navigateur peint quelque chose à l’écran (par ex. la couleur de fond), avant même le premier contenu utile.
Voir aussi FCP Blocage du rendu
Données récoltées en direct par le site auprès de ses propres visiteurs (avec leur accord), par opposition aux données achetées à des tiers. Plus fiables et durables, surtout depuis la fin annoncée des cookies tiers.
Chez nous Notre mesure d’usage anonyme (collection usage-events) et les e-mails de la newsletter sont des données first-party.
Voir aussi Cookieless RGPD Newsletter Consent mode
Jeu de données ou d’état préparé à l’avance pour faire tourner un test dans des conditions connues et reproductibles.
Voir aussi Mock Test unitaire Snapshot test
Mode de disposition CSS qui aligne des éléments sur une ligne ou une colonne et répartit l’espace entre eux, en s’adaptant à la place disponible.
Chez nous Sert à agencer la barre d’en-tête (logo, recherche, boutons) et à la réorganiser sur mobile.
Voir aussi Grid Box model Media query
Nombre à virgule (par ex. 12,50 ou 3,14), stocké de façon approchée par la machine — d’où de petites erreurs d’arrondi possibles.
Voir aussi Entier Nombre Type de données
Donnée traitée au fil de l’eau, morceau par morceau, sans tout charger d’un coup en mémoire — utile pour de gros fichiers ou une réponse réseau progressive.
Fichier fourni par le marchand qui liste ses produits avec leurs détails (nom, prix, lien, disponibilité), rafraîchi régulièrement, que l’éditeur importe pour les présenter sur son site.
Chez nous La Fnac Spectacles nous transmet un flux produit via Awin d’où l’on tire les concerts, leurs prix et leur disponibilité (fetchParisFnacConcerts).
Voir aussi Feed IA Awin Fnac Spectacles Catalogue
Plateforme d’hébergement qui déploie des applications sous forme de conteneurs dans des régions proches des utilisateurs.
Voir aussi Railway Docker Déploiement
Billetterie de la Fnac pour les spectacles et concerts.
Chez nous À la fois une source de concerts pour notre catalogue et un partenaire d’affiliation (via Awin). Elle fait autorité sur ses fiches, comme Fever.
Voir aussi Awin Affiliation Source autoritaire Billetterie
Élément actuellement « sélectionné » au clavier, celui qui reçoit la frappe. Une navigation au clavier claire suppose que le focus se déplace de façon logique et visible.
Chez nous Pris en compte notamment sur le calendrier des salles, navigable au clavier.
Voir aussi Focus visible Tabindex Accessibilité Pseudo-classe
Indication visuelle (contour, halo) montrant quel élément a le focus, essentielle pour se repérer quand on navigue au clavier plutôt qu’à la souris.
Chez nous Le lien d’évitement du site n’apparaît qu’au focus clavier (:focus), illustrant cette logique.
Voir aussi Focus Skip link Accessibilité
Bref instant où un texte reste invisible (« Flash Of Invisible Text ») pendant le chargement de sa police web, avant d’apparaître d’un coup.
Fonction qui prend une autre fonction en entrée ou en renvoie une (comme map, filter) : elle manipule des comportements, pas seulement des valeurs.
Voir aussi Fonction fléchée Fonction pure
Façon courte d’écrire une fonction en JavaScript avec la flèche => (par ex. x => x * 2). Très utilisée pour les petites fonctions passées en argument.
Voir aussi Fonction d’ordre supérieur Fonction pure
Fonction qui, pour les mêmes entrées, renvoie toujours le même résultat et ne modifie rien à l’extérieur : facile à tester et à prévoir.
Voir aussi Effet de bord Immutabilité Mémoïsation
Copie personnelle d’un dépôt sur son propre compte, pour y travailler librement sans toucher à l’original avant d’y reproposer ses changements.
Chez nous Il existe un vieux fork « errada » hérité de Philippe : les PR vont toujours vers origin (concerts-paris/concerts.paris), JAMAIS vers ce fork.
Voir aussi Upstream PR (Pull Request) Dépôt
Fonction qui fabrique un identifiant traçable pour chaque événement importé, en préfixant l’identifiant d’origine par un code de source.
Chez nous Préfixes : tm- (Ticketmaster), eb- (Eventbrite), ic- (InfoConcert), ra- (Resident Advisor), oa- (OpenAgenda), aig- (Agenda Informe), fever-, fnac-. Sans préfixe déclaré, le repli qfap- s’applique (rappel : la source d’origine du projet est quefaire.paris.fr).
Voir aussi Provider (source) Slug
Formats d’image modernes plus légers que le JPEG, servis en priorité aux navigateurs qui les acceptent, avec repli sinon.
Chez nous Les affiches sont servies via une balise <picture> proposant WebP et AVIF plus une vignette, pour accélérer le chargement. Ne s’applique qu’aux images stockées sur R2.
Voir aussi Affiche (cover) Cloudflare R2 Core Web Vitals
Zone d’une page web où le visiteur saisit des informations (champ de texte, case à cocher, menu…) pour les envoyer au site.
Chez nous Le champ de recherche de l’accueil et l’inscription à la newsletter sont des formulaires.
Voir aussi DOM JavaScript
Bref instant où la page s’affiche sans ses styles (« Flash Of Unstyled Content ») avant que le CSS soit appliqué, donnant une apparence cassée d’une fraction de seconde.
Voir aussi Critical CSS Blocage du rendu FOUT
Bref instant où un texte s’affiche d’abord dans une police de secours (« Flash Of Unstyled Text ») avant de basculer vers la police web une fois chargée, provoquant un léger saut.
Voir aussi FOIT Web font Décalage de mise en page
Squelette de code structurant qui impose une façon d’organiser une application et fournit l’essentiel du câblage. Contrairement à une bibliothèque, c’est lui qui appelle ton code.
Chez nous Astro (frontend) et Payload/Next.js (backend) sont les frameworks du projet.
Voir aussi Bibliothèque Astro Next.js SSR
Défaut où un programme réserve de la mémoire sans jamais la libérer : elle s’accumule, jusqu’au ralentissement ou au plantage.
Voir aussi Ramasse-miettes Mémoire
Rassembler en UNE seule fiche les versions d’un même concert vues par plusieurs sources différentes.
Chez nous Se fait d’abord en mémoire (buildHybridAgendaFromSources) : chaque événement entrant cherche un jumeau déjà présent ; s’il en trouve un, il est absorbé, sinon il rejoint le lot. L’ordre des sources est fixe et important.
Voir aussi Dédoublonnage Règle de match Couche (layer) Absorption
Google Analytics 4 : l’outil de statistiques d’audience de Google (nombre de visiteurs, pages vues, provenance du trafic).
Chez nous Utilisé en complément de nos mesures maison, surtout pour rattacher les visites payantes (Google Ads) aux clics de réservation.
Voir aussi Google Ads RUM UTM
Bureau d’enregistrement (registrar) français de noms de domaine, aussi hébergeur de messagerie.
Voir aussi OVH Cloudflare Registrar DNS
Petit test dans le code qui restreint le type d’une valeur (par ex. « si c’est bien un texte… ») pour que TypeScript, à partir de là, sache à quoi il a affaire.
Voir aussi Union discriminée any / unknown / never Coercition
Sécurité qui fait échouer bruyamment un scraper quand il ne récupère aucun élément, au lieu de conclure « rien ce soir » en silence.
Chez nous Sur Agenda Informe : 0 concert extrait ⇒ le code lève une erreur (« structure HTML modifiée ? »). Sans ça, un site qui change de structure amputerait le catalogue sans alerte.
Voir aussi Scraping Agenda Informe
Petit identifiant que Google Ads ajoute à l’adresse quand un internaute arrive par une annonce payante ; il permet de relier ensuite la visite (et l’achat) à la campagne qui l’a amenée.
Chez nous Sa présence classe une visite en « Payant » dans GA4 — mais attention : un gclid ne prouve pas qu’un euro a été dépensé (clic gratuit, favori), seule la dépense Google Ads réelle fait foi.
Voir aussi Google Ads GA4 UTM SEA
Famille de modèles d’intelligence artificielle de Google, capables de comprendre et générer du texte (et d’autres contenus).
Chez nous On dispose d’une clé Google/Gemini dans le coffre de secrets (usages d’enrichissement/IA).
Voir aussi Imagen Crawler IA
Type « à trou » réutilisable, paramétré par un autre type : par ex. une liste générique marche pour une liste de nombres comme de textes, sans réécrire le code.
Voir aussi Type Interface Inférence de type
L’étiquette qui dit de quoi il s’agit : rap, jazz, comédie, peinture… Une fiche porte UN genre, et un seul.
Chez nous Depuis l’ouverture au théâtre et aux expos, trois listes de genres cohabitent sur le même champ ; c’est l’univers de la fiche qui dit laquelle s’applique. Le cockpit affiche donc une liste de genres PAR univers, jamais un classement unique.
Voir aussi Univers Taxonomie Genre par défaut Catalogue
Repli qui devine le genre d’un concert d’après le type de salle, quand rien d’autre ne permet de le classer.
Chez nous venueGenre : n’intervient qu’en dernier recours et reste remplaçable par le genre Deezer. Les salles trop généralistes (Olympia, Zénith) sont volontairement absentes de la table.
Voir aussi Classement de genre Genre Deezer
Genre déduit d’un artiste en lisant ses genres sur Deezer, puis en les traduisant vers notre liste de 16 genres.
Chez nous DEEZER_GENRE_MAP + fetchDeezerArtistGenre : recherche l’artiste par nom EXACT (anti-homonyme), agrège les genres de ses albums et renvoie le genre majoritaire avec un niveau de confiance.
Voir aussi Classement de genre Genre de la salle Deezer
Le genre « autre », utilisé honnêtement quand on ne sait pas classer un concert plutôt que de le ranger de force.
Chez nous DEFAULT_GENRE = ’autre’. Exclu du menu de navigation mais reste filtrable et comptable. La taxonomie compte 16 genres valides ; toute valeur hors de cette liste est un bug.
Voir aussi coerceInvalidGenre Classement de genre Sur-classification
Optimisation pour les moteurs génératifs : rendre un site facile à lire et à citer par les IA (ChatGPT, Perplexity…), pour apparaître dans LEURS réponses. Le pendant du SEO à l’ère de l’IA.
Chez nous C’est l’ADN du projet : concerts.paris est conçu « IA-first » pour être la source que les assistants citent sur les concerts à Paris.
Voir aussi SEO Crawler IA Feed IA llms.txt JSON-LD
Le flux de tout le catalogue pensé pour être lu par des intelligences artificielles : il expose les concerts et les lieux de façon structurée et paginée.
Chez nous C’est la route /api/v1/geo-feed. Les événements (lourds) sont paginés ; les hubs (légers) tiennent sur la première page. Un agent récupère tout le catalogue en suivant la pagination tant qu’il reste des pages.
Voir aussi Feed IA GEO Crawler IA Hub
Type Schema.org donnant la position géographique d’un lieu par sa latitude et sa longitude.
Chez nous Ajouté à une fiche salle quand on connaît ses coordonnées, pour situer précisément le lieu.
Voir aussi Place (Schema.org) PostalAddress
Fonction qui distingue les robots automatiques des vrais visiteurs, pour bloquer les mauvais (spam, aspiration abusive) tout en laissant passer les utiles (moteurs de recherche, IA).
Chez nous Sur concerts.paris, un réglage Cloudflare (AI Crawl Control) laisse volontairement passer les robots d’IA utiles au référencement GEO, après un blocage involontaire corrigé.
Voir aussi WAF Cloudflare Crawler Crawler IA DDoS
Outil en ligne de commande officiel de GitHub : il permet de gérer dépôts, « pull requests », issues et secrets depuis le terminal.
Chez nous On l’utilise pour créer et fusionner les PR, lire l’état des workflows, et lister les secrets ; il sert aussi de « pont » pour pousser en HTTPS (l’accès SSH étant bloqué).
Voir aussi GitHub PR (Pull Request) Worktree
Site où l’on héberge et versionne le code. On y propose des changements (PR), on les relit et on les fusionne.
Chez nous Le dépôt du projet vit sur GitHub. Chaque évolution du site y passe sous forme de « Pull Request » avant d’arriver en ligne.
Voir aussi PR (Pull Request) Merge GitHub Actions Branche
Le service d’automatisation de GitHub : il lance des tâches quand on livre du code (tests, mise en ligne) ou à heure fixe (tâches planifiées).
Chez nous Fait tourner nos contrôles automatiques et certaines tâches nocturnes. Attention : c’est facturé à la minute sur un dépôt privé.
Fichier qui liste ce que Git doit ignorer (ne pas suivre) : dossiers de dépendances, secrets, fichiers générés… pour ne pas les envoyer dans le dépôt.
Chez nous Il exclut node_modules et les .env ; du coup un worktree neuf n’a ni dépendances ni secrets (à réinstaller / régénérer). Il ne couvre pas tout : certains fichiers locaux restent à ne pas committer.
Voir aussi Zone de staging Variable d’environnement Worktree
Plateforme d’hébergement de code et de collaboration (alternative à GitHub), avec sa propre intégration continue.
Voir aussi GitHub CI/CD MR (Merge Request)
Dans Payload, un contenu en exemplaire unique (par opposition à une collection qui en contient beaucoup) : typiquement des réglages ou des textes de site dont il n’existe qu’une seule version.
Voir aussi Payload CMS Collection Payload
La messagerie de Google.
Chez nous Sert à préparer des brouillons d’e-mails pour Philippe. À ne pas confondre avec les e-mails automatiques du projet, qui partent, eux, par Resend.
Voir aussi Resend
La régie publicitaire de Google : on paie pour apparaître en haut des résultats de recherche sur certains mots-clés (publicité, dite « SEA »).
Chez nous Utilisé de façon ciblée, notamment autour du dîner-cabaret « Paradis Latin » où le panier est élevé.
Plateforme Google où l’on dépose son catalogue de produits pour les faire apparaître dans Google Shopping et les annonces produits.
Voir aussi Google Ads SEA
Outil gratuit de Google qui montre comment le site apparaît dans la recherche : mots-clés tapés, position, pages indexées ou non.
Chez nous Notre tableau de bord pour suivre le référencement naturel (SEO) et repérer les pages mal indexées.
Voir aussi SEO Indexation Sitemap
Outil Google qui permet d’ajouter et gérer des scripts de mesure ou de marketing sur un site sans retoucher son code à chaque fois.
Voir aussi GA4 Google Ads Zaraz
Outil de tableaux de bord et de graphiques pour suivre des mesures techniques.
Chez nous A servi un temps de tableau de bord KPI, puis a été remplacé par le cockpit maison que tu utilises aujourd’hui.
Façon d’interroger une API en demandant exactement les données voulues, ni plus ni moins, en une seule requête.
Chez nous Utilisé pour interroger certaines API externes (ex. les statistiques de vitesse de Cloudflare).
Mode de disposition CSS en grille à deux dimensions (lignes et colonnes) : idéal pour ranger des éléments en tableau, comme une galerie de vignettes.
Chez nous La grille de cartes concert de l’accueil et le calendrier mensuel des salles reposent sur CSS Grid.
Le fait d’ancrer la réponse d’une IA dans des sources vérifiables plutôt que dans sa seule mémoire. Bien ancrée, une réponse est plus juste et peut citer d’où elle vient.
Chez nous Nos données structurées et notre feed facilitent ce « grounding » : ils donnent aux IA de la matière fiable et à jour à citer.
Voir aussi RAG Citation IA Hallucination Feed IA
Étape d’un pipeline d’agrégation MongoDB qui regroupe les documents par une clé commune et calcule des totaux par groupe (somme, décompte, moyenne…).
Chez nous Sert dans le cockpit à compter les interactions par type de filtre ou de média.
Voir aussi Pipeline d’agrégation $match $facet
Sous-ensemble d’une campagne qui regroupe des annonces autour d’un même thème et de mots-clés proches, pour montrer le bon message à la bonne recherche.
Voir aussi Campagne Mot-clé négatif Google Ads
Système d’appel de fonctions à distance (RPC) rapide et compact, utilisé surtout entre services internes. Il s’appuie sur un format binaire (Protocol Buffers).
Voir aussi RPC Microservices
Méthode de compression très répandue sur le web : le serveur envoie une version compressée d’une page ou d’un fichier, que le navigateur décompresse, pour un transfert plus léger.
Voir aussi Compression Brotli
Transformation d’une donnée en une empreinte de taille fixe, impossible à inverser. On stocke l’empreinte d’un mot de passe plutôt que le mot de passe lui-même.
Chez nous Le hachage sert aussi ailleurs sur concerts.paris : l’URL d’une image inclut une empreinte de son contenu, pour changer d’adresse dès que l’image change.
Voir aussi Salage Chiffrement
Quand une IA affirme avec aplomb quelque chose de faux ou d’inventé (une date, un lieu qui n’existe pas). Le risque baisse quand la réponse s’appuie sur des sources fiables.
Chez nous Enjeu direct : une donnée propre et structurée réduit le risque qu’une IA raconte n’importe quoi sur un concert — et augmente les chances qu’elle nous cite juste.
Voir aussi Grounding RAG LLM Citation IA
Coffre-fort logiciel de référence pour stocker et distribuer des secrets (clés, mots de passe) de façon sécurisée.
Chez nous On ne l’utilise pas : notre coffre de secrets est Infisical.
Conception visant à ce qu’un service reste accessible presque tout le temps, même si une machine tombe, grâce à des redondances et des reprises automatiques.
Voir aussi Tolérance aux pannes
Repère de Git qui pointe sur « où l’on se trouve » dans l’historique — normalement le dernier commit de la branche courante.
Voir aussi Detached HEAD Commit Branche
Un système de gestion de contenu « sans tête » : il gère les données et fournit une API, mais laisse le choix total de l’apparence du site public.
Chez nous Payload est notre CMS headless : il pilote le catalogue côté back-office, et le site public est fabriqué à part, avec Astro.
Voir aussi Payload CMS API Astro
Petite vérification automatique et régulière qui s’assure qu’un service répond bien (« es-tu vivant ? »).
Chez nous Notre moniteur interroge en boucle les fonctions clés du site et alerte si l’une ne répond plus.
Voir aussi Uptime Cloudflare Worker
Une des premières plateformes d’hébergement « clé en main » (PaaS) : on pousse son code, elle s’occupe de le faire tourner.
Voir aussi Railway Render Déploiement
Système de numération en base 16 (chiffres 0-9 puis lettres A-F), pratique pour écrire des octets de façon compacte — par ex. une couleur CSS comme #1a2b3c.
Ensemble de fonctions du navigateur (pushState, replaceState) qui modifient l’adresse affichée et l’historique sans recharger la page — pratique pour refléter un état dans l’URL.
Chez nous Les filtres de l’accueil se recopient dans l’URL (?genre=…&venue=…) via l’History API, pour que la sélection soit partageable et restaurée au rechargement.
État de cache signifiant que la page a été trouvée dans le cache et servie directement, sans déranger l’origine — le cas le plus rapide.
Chez nous Un cf-cache-status: HIT sur une fiche concert = elle est servie par Cloudflare en ~40 ms au lieu de repartir vers Railway.
Voir aussi État de cache MISS Cache Edge cache
Rechargement à chaud : pendant le développement, l’écran se met à jour instantanément à chaque modification du code, sans recharger toute la page.
Chez nous Confort de dev en local ; sans effet sur le site en production.
Voir aussi Build
Bug où un nom d’artiste ambigu ramène la photo d’une autre personne portant le même nom.
Chez nous Ex. un technicien nommé « Leclerc » ramenant la photo du pilote de F1. Parade : on vérifie sur Wikidata que la personne a bien un métier musical avant d’aller chercher sa photo par nom.
Voir aussi Affiche (cover) QID Wikidata
Point d’accroche où l’on branche du code personnalisé à un moment précis du cycle de vie d’un document (avant validation, avant ou après enregistrement…), par exemple pour corriger ou compléter une valeur automatiquement.
Chez nous Des hooks servent notamment à assainir un genre invalide avant enregistrement, pour éviter qu’une fiche se retrouve bloquée à l’édition.
Voir aussi Payload CMS Collection Payload Validation de schéma
La liste des domaines de billetterie sur lesquels un clic nous rapporte une commission.
Chez nous MONETIZED_TICKET_HOSTS : sert, pendant la fusion, à préférer un lien de billetterie rémunéré à celui d’une source ordinaire. Le badge partenaire suit ce même signal (le domaine du lien), pas un mot-clé.
Voir aussi Badge partenaire partnerDomains Affiliation
Balise qui indique aux moteurs la langue (et éventuellement le pays) d’une page, et vers quelle version renvoyer selon la langue du visiteur. Essentiel pour un site multilingue.
Voir aussi Canonical Balise title
Règle envoyée par un site qui ordonne au navigateur de toujours utiliser la version sécurisée (HTTPS), même si l’utilisateur tape l’adresse sans « https ».
Chez nous concerts.paris envoie un en-tête HSTS (strict-transport-security) valable un an, posé dans le middleware du frontend.
Voir aussi HTTPS TLS En-tête HTTP Middleware
Le langage de base des pages web : il décrit la structure et le contenu (titres, paragraphes, liens, images).
Voir aussi CSS JavaScript
Le langage que parlent les navigateurs et les serveurs pour s’échanger des pages et des données sur le web : le visiteur envoie une « requête », le serveur renvoie une « réponse ».
Version modernisée de HTTP qui charge plusieurs éléments d’une page en parallèle sur une seule connexion, ce qui accélère l’affichage.
Dernière version de HTTP, bâtie sur le transport QUIC : elle établit la connexion plus vite et résiste mieux aux réseaux instables (mobile).
La version sécurisée de HTTP : le même échange web, mais chiffré de bout en bout. C’est le « cadenas » qui garantit que la page n’a pas été espionnée ni modifiée.
Chez nous concerts.paris est servi exclusivement en HTTPS ; les accès non sécurisés sont redirigés et renforcés par une règle HSTS.
Voir aussi HTTP TLS HSTS Certificat TLS
Une fiche « pivot » qui regroupe des concerts : une salle, un artiste ou un lieu/quartier. Autour d’elle gravitent les événements liés.
Chez nous Stockés dans la collection hubs. Une fiche salle ou artiste (/hubs/{slug}) affiche l’agenda des concerts rattachés.
Voir aussi Hub & Spoke Événement Wikidata
Modèle « moyeu et rayons » : des pages pivots (salles, artistes) au centre, et les concerts comme rayons qui s’y rattachent. Structure claire pour l’utilisateur ET le référencement.
Chez nous L’ossature du site : chaque concert relie une salle et un ou plusieurs artistes, ce qui crée un maillage interne solide.
Voir aussi Hub Événement Maillage interne
Le fait « d’activer » le JavaScript sur une page déjà affichée en HTML, pour la rendre interactive (menus, filtres…) une fois arrivée dans le navigateur.
Chez nous Astro n’hydrate que les morceaux qui en ont besoin, ce qui garde les pages légères et rapides.
Voir aussi Astro JavaScript SSR
Internationalisation : préparer un logiciel pour qu’il puisse fonctionner dans plusieurs langues et formats régionaux, sans réécrire le code à chaque langue. (« i » + 18 lettres + « n ».)
Infrastructure en tant que service : location de ressources brutes (serveurs, stockage, réseau) que l’on configure entièrement soi-même.
Infrastructure décrite dans du code (fichiers versionnés) plutôt que réglée à la main dans des interfaces : on peut ainsi la relire, la rejouer et la corriger comme un programme.
Identifiant : code unique qui désigne un élément précis (une fiche, un utilisateur) et permet de le retrouver sans confusion.
Chez nous Chaque document en base a un identifiant unique ; les fiches importées portent aussi un identifiant externe préfixé par leur source.
Propriété d’une opération qu’on peut répéter sans effet supplémentaire : la refaire donne le même résultat qu’une seule fois. Lire (GET) ou remplacer (PUT) est idempotent ; créer (POST) ne l’est pas.
Voir aussi Méthode HTTP Méthode sûre Upsert
Balise HTML qui affiche une autre page web à l’intérieur de la page courante, comme une fenêtre embarquée.
Chez nous Sert à embarquer les lecteurs YouTube et Spotify sur les fiches concert (bloc « Écouter & voir »).
Région autour de Paris (la capitale et sa banlieue). Certains concerts « parisiens » ont lieu en proche banlieue plutôt qu’intra-muros.
Voir aussi Arrondissement Salle
Le modèle figé à partir duquel on lance un conteneur : une photo complète de l’application prête à démarrer. On construit une image, puis on la fait tourner.
Chez nous Railway construit une image à partir du Dockerfile de chaque service concerts.paris, puis la lance en conteneur.
Voir aussi Conteneur Docker Registre d’images Couche (image) Build
Image qui s’adapte à l’écran : on fournit plusieurs versions et le navigateur charge la plus légère suffisante, ce qui accélère l’affichage sur mobile.
Chez nous Les affiches concert combinent <picture> + srcset + variantes WebP/AVIF pour rester nettes sans plomber le temps de chargement.
Voir aussi Srcset Picture WebP AVIF Ratio d’aspect
Modèle d’intelligence artificielle de Google qui génère des images à partir d’une description écrite.
Chez nous Envisagé/testé pour fabriquer des affiches de concert quand aucune image de qualité n’est trouvée (sur crédits Google AI).
Voir aussi Gemini Porte qualité
Type Schema.org décrivant une image de façon détaillée (URL, dimensions, légende, auteur), au-delà d’un simple lien.
Voir aussi Schema.org Sitemap image
Ranger des données liées directement à l’intérieur d’un document parent (par exemple les offres billetterie dans la fiche du concert). Simple et rapide à lire, mais moins souple si l’information est partagée.
Voir aussi Référence Dénormalisation Document
Principe de ne jamais modifier une donnée en place, mais d’en créer une nouvelle version : cela évite des bugs où « quelque chose change dans le dos » d’un autre bout de code.
Voir aussi Fonction pure Effet de bord Opérateur spread
Réglage de cache qui promet qu’un fichier ne changera jamais à cette adresse : le navigateur peut le garder très longtemps sans jamais revérifier.
Chez nous Les images de concerts.paris sont marquées immutable et changent d’URL (via ?v=…) quand leur contenu change, ce qui évite tout cache périmé.
Voir aussi max-age Directive Cache-Control Cloudflare R2
Réseau d’affiliation (comme Awin), qui suit les clics et gère les commissions entre un site et des marchands.
Chez nous C’est le réseau qui gère le partenariat Fever. Le suivi se fait via un identifiant appelé « subId ».
Voir aussi Affiliation Fever subId Awin
Réseau d’affiliation (comme Awin) qui relie des sites à des marchands, suit les clics et gère les commissions.
Chez nous C’est le réseau du partenaire Fever : les liens Fever arrivent déjà tracés (domaine fever.pxf.io) ; on y ajoute juste un identifiant maison (subId1 = le slug du concert) pour l’attribution. Exige les clés ACCOUNT_SID_IMPACT et SECRET_IMPACT.
Voir aussi Affiliation Fever subId Attribution
Nom du worker dédié qui, chez nous, exécute l’import du catalogue de concerts — isolé du site pour ne pas le ralentir.
Chez nous C’est le service Railway qui porte TOUTES les clés des sources (Ticketmaster, Fever, Fnac…) et lance l’import chaque nuit ; on ne fait jamais tourner l’import dans le conteneur du site.
Voir aussi Railway service Seed Source Cron
Un affichage d’une annonce (ou d’un contenu) à l’écran d’un internaute, qu’il clique ou non. On compte les impressions pour mesurer la visibilité.
Chez nous Google Ads remonte les impressions de la campagne « Paradis Latin » au cockpit ; des impressions sans dépense sont normales en facturation au clic.
Voir aussi CPM Taux d’impressions Google Ads
Le fait qu’un lien vers une page soit apparu dans les résultats de recherche d’un internaute, qu’il ait cliqué ou non. Beaucoup d’impressions sans clic = on est vu mais on ne convainc pas.
Chez nous Repère clé dans GSC : une page avec beaucoup d’impressions mais peu de clics (souvent position 7-9) est une « locomotive » à débloquer en réécrivant son titre.
Voir aussi CTR Position moyenne Google Search Console Balise title
Indicateur de stock côté Fnac : 0 signifie « épuisé », au-dessus signifie « il reste des places ».
Chez nous Seule source qui expose un vrai stock exploitable. Une séance est marquée complète si TOUTES ses lignes sont à 0. (Chez Fever, l’info est vide : un concert plein disparaît du flux au lieu d’être marqué complet.)
Voir aussi Disponibilité (availability) Badge Complet Fnac Spectacles Fever
Événement qui perturbe le service (panne, lenteur, bug visible en production) et demande une intervention. On le détecte, on le corrige, puis on en tire les leçons.
Chez nous La mémoire projet garde une trace des incidents de concerts.paris (ex. bilans e-mail ratés, mauvais certificat) et de leur correctif.
Voir aussi Alerte Post-mortem MTTR Uptime
Structure de tri interne à la base qui accélère les recherches, comme l’index d’un livre. Sans lui, la base doit lire tous les documents ; avec lui, elle va droit au but.
Chez nous Les concerts sont indexés (ex. par niche) pour que les listes du site sortent vite, même quand le catalogue grossit.
Voir aussi Index composé Index TTL Requête lente Projection
Index qui porte sur plusieurs champs à la fois, dans un ordre précis, pour accélérer les recherches qui combinent ces champs (par exemple « niche + date »).
Chez nous La collection des concerts a des index composés `niche + date` et `niche + genre + date` qui couvrent pile les listes les plus consultées du site.
Voir aussi Index Requête lente
Un fichier compact listant TOUT le catalogue, chargé à la demande, sur lequel s’appuient la recherche, les filtres, le tri et le défilement infini.
Chez nous /api/search-index.json (construit par buildIndex). Il permet de chercher/filtrer bien au-delà des ~150 cartes affichées d’emblée ; chaque entrée suit un format commun (SearchIndexEntry).
Voir aussi Filtres accueil Défilement infini Mode index complet Disjoncteur d’index
Index spécial de MongoDB qui fait expirer et supprimer automatiquement un document après un certain délai (TTL = durée de vie). Utile pour purger des données temporaires sans intervention.
Chez nous Les mesures d’usage anonymes des visiteurs portent un index TTL qui les efface tout seul après 90 jours.
Voir aussi Index TTL Purge de cache
Le fait qu’un moteur de recherche ait bien enregistré une page dans son index, condition pour qu’elle puisse apparaître dans les résultats.
Chez nous Suivie dans Google Search Console. Beaucoup de pages « non indexées » est souvent normal ; le vrai levier est le contenu et la notoriété.
Voir aussi Google Search Console Sitemap IndexNow Noindex
Protocole qui permet de prévenir instantanément les moteurs de recherche (Bing, Yandex…) qu’une page a changé, au lieu d’attendre qu’ils repassent.
Chez nous On l’utilise pour signaler nos nouvelles pages et mises à jour et accélérer leur prise en compte.
Voir aussi Indexation Sitemap Crawler
Capacité de TypeScript à deviner tout seul le type d’une valeur d’après le code, sans qu’on ait à l’écrire — par ex. deviner qu’une variable est un nombre parce qu’on lui affecte 3.
Voir aussi Type Générique Vérification de types
Coffre-fort à secrets : il centralise et sécurise les mots de passe et clés d’accès (aux bases, aux API…) au lieu de les éparpiller dans des fichiers.
Chez nous Source de vérité de tous nos secrets. Les fichiers de config locaux (.env) sont régénérés depuis Infisical, jamais l’inverse.
Voir aussi Variable d’environnement Token
Site français spécialisé dans l’agenda des concerts et tournées.
Chez nous Source utilisée notamment pour repérer les têtes d’affiche ; elle figure dans notre registre de sources.
Voir aussi Source Ticketmaster Popularité
Famille de failles où des données fournies par l’utilisateur sont interprétées comme des commandes (base de données, système, page web), permettant à un attaquant de détourner le programme.
Voir aussi XSS Sanitisation CSP
Technique où un composant reçoit de l’extérieur les outils dont il a besoin, au lieu de les créer lui-même — cela le rend plus souple et plus facile à tester.
Voir aussi Patron de conception Singleton
Interaction to Next Paint : mesure la réactivité — le délai entre le clic du visiteur et la réponse visible à l’écran. Plus c’est court, plus le site paraît vif.
Voir aussi Core Web Vitals LCP CLS
Client d’API (alternative à Postman) pour envoyer des requêtes REST ou GraphQL et inspecter les réponses.
Situation de blocage total où deux traitements s’attendent mutuellement sans qu’aucun ne puisse avancer — chacun tient une ressource que l’autre réclame.
Voir aussi Condition de course Concurrence
En TypeScript, description de la « forme » attendue d’un objet : quels champs il possède et de quel type — comme un contrat que l’objet doit respecter.
Voir aussi Type Générique Union discriminée
Programme qui lit et exécute un code source directement, ligne à ligne, sans étape de compilation préalable. Le moteur JavaScript d’un navigateur en est un.
Voir aussi Compilateur JavaScript Runtime
Outil du navigateur qui prévient le JavaScript quand un élément entre ou sort de la zone visible à l’écran — sans surveiller le défilement en continu, donc très économe.
Chez nous Alimente le défilement infini de l’accueil : quand le bas de la liste approche, l’observateur déclenche le chargement des cartes suivantes depuis l’index.
Voir aussi Lazy loading MutationObserver Above the fold
Fourchette dans laquelle se trouve probablement la vraie valeur mesurée (par ex. « le taux de clic est entre 3 % et 5 % »). Plus l’échantillon est grand, plus la fourchette se resserre.
Voir aussi p-value Taille d’échantillon Variance
Capacité d’une API GraphQL à se décrire elle-même : un outil peut lui demander la liste de tous ses types et champs disponibles, ce qui aide à l’explorer et à générer de la documentation.
Stock de billets encore disponibles à la vente pour un événement. Connaître l’inventaire en temps réel permettrait d’afficher « il reste X places » ou « complet ».
Chez nous L’inventaire billetterie en temps réel est inaccessible légalement en France ; on se limite au signal « en stock / complet » de la Fnac et aux statuts d’ouverture Ticketmaster.
Voir aussi Sold-out Mise en vente Tarification dynamique
Ancien format d’adresse IP, écrit en quatre nombres séparés par des points (par ex. 192.168.1.10). Le stock d’adresses possibles est presque épuisé, d’où l’IPv6.
Voir aussi Adresse IP IPv6
Format d’adresse IP plus récent et beaucoup plus vaste, écrit en hexadécimal séparé par des deux-points, conçu pour remplacer l’IPv4 qui manque d’adresses.
Voir aussi Adresse IP IPv4
Petit test qui vérifie qu’une source a bien ce qu’il lui faut pour tourner (par ex. sa clé d’accès), sans quoi elle est ignorée.
Chez nous Ex. Ticketmaster exige TICKETMASTER_API_KEY, Fnac exige AWIN_FNAC_FEED_URL. Piège : l’absence de clé n’émet PAS d’erreur, juste un avertissement — une source « qui ne ramène rien » est souvent une clé oubliée sur import-runner.
Voir aussi decideSource Provider (source)
Approche où la page est du HTML statique parsemé de petits « îlots » interactifs, seuls à recevoir du JavaScript. Résultat : des pages légères et rapides. C’est le modèle d’Astro.
Chez nous C’est la philosophie du site (Astro) : les pages sont surtout du HTML servi tel quel, avec juste ce qu’il faut de JavaScript là où c’est utile (filtres, carte).
Voir aussi Astro Hydratation SSR
Norme internationale d’écriture des dates et heures, du plus grand au plus petit (par ex. 2026-07-01T21:00:00Z) : non ambiguë et triable telle quelle comme du texte.
Chez nous Format utilisé pour les dates des concerts échangées entre le backend et le frontend (champ startDate en JSON-LD notamment).
Régénération incrémentale : au lieu de reconstruire tout le site quand une page change, on ne rafraîchit que celle-là, à intervalle défini. Vitesse du statique + fraîcheur du dynamique.
Chez nous Principe visé pour rafraîchir plus souvent une fiche à l’approche du concert (ex. dispo, prix) sans tout reconstruire.
Type Schema.org décrivant une liste d’éléments (par exemple une liste de concerts). Il aide moteurs et IA à saisir qu’une page présente une collection ordonnée.
Chez nous Émis sur les fiches salle/artiste (liste de leurs concerts) et sur les pages de listes, pour rendre la collection lisible par les machines.
Voir aussi ListItem CollectionPage MusicEvent
Fait de répéter un traitement sur chaque élément d’une collection (chaque concert, chaque salle…), un par un.
Sensation de saccade à l’écran (défilement ou animation qui hache) quand le navigateur n’arrive pas à afficher assez d’images par seconde, souvent parce que le fil principal est surchargé.
Voir aussi TBT Reflow requestAnimationFrame Event loop
Nombre maximal de personnes qu’une salle peut accueillir pour un événement — sa capacité.
Chez nous La capacité des salles est un des attributs récupérés à l’enrichissement (Wikidata), utile pour situer un concert (petit club vs grande salle).
Le langage de programmation du web : il rend les pages interactives (menus, filtres, cartes…). Il tourne dans le navigateur et, avec Node.js, aussi côté serveur.
Voir aussi TypeScript Node.js Hydratation
Outil de tests automatisés très répandu dans l’écosystème JavaScript.
Clé temporaire remise après une connexion réussie, qui donne accès à certaines ressources pendant une durée limitée, sans avoir à se ré-identifier à chaque appel.
Voir aussi OAuth Token JWT OpenID Connect
Format texte simple pour échanger des données entre programmes, sous forme de listes et de couples « clé : valeur ». Lisible par l’humain comme par la machine.
Chez nous Le format de nos API et de nos flux (index de recherche, feed pour les IA…).
Petit bloc de données structurées, au format JSON et au vocabulaire Schema.org, glissé dans une page pour que moteurs et IA en comprennent le sens (« ceci est un concert, à telle date, tel lieu, tel prix »).
Chez nous Pierre angulaire de notre référencement IA : chaque fiche décrit son concert en JSON-LD. Un oubli technique avait rendu ce bloc absent en prod — corrigé.
Fichier texte où chaque ligne est un objet JSON complet et indépendant. Pratique pour traiter d’énormes jeux de données ligne par ligne, sans tout charger en mémoire.
Jeton d’authentification compact et signé, qui transporte lui-même des informations (qui est l’utilisateur, ses droits) vérifiables sans consulter la base à chaque fois.
Voir aussi Jeton d’accès OAuth OpenID Connect JSON
Encart d’information que Google affiche à droite des résultats pour une entité connue (un artiste, un lieu), agrégé depuis des sources fiables comme Wikidata.
Chez nous Enjeu indirect : bien relier nos salles et artistes à Wikidata (« sameAs ») aide Google à les reconnaître comme entités.
Voir aussi Wikidata sameAs Entité (SEO)
Indicateur clé de performance : chiffre suivi de près parce qu’il résume la santé d’une activité (visites, taux de conversion, revenu). Sert de boussole pour décider.
Chez nous Le cockpit concerts.paris agrège les KPI du projet (audience, comportement, affiliation) sur des fenêtres glissantes 24 h / 7 j / 30 j.
Voir aussi Conversion Taux de conversion ROAS
La collection qui stocke un « instantané » chiffré par jour (les indicateurs clés du projet), une ligne par journée.
Chez nous Écrite chaque nuit par une tâche planifiée (kpi-daily). C’est la source du tableau de bord de pilotage (cockpit). Piège connu : le slug kpi-daily est pluralisé par Payload en « kpi-dailies ».
Voir aussi Collection Bilan d’import usage-events
Système qui orchestre des conteneurs à grande échelle : il les démarre, les répartit sur plusieurs machines, les redémarre s’ils tombent et les multiplie selon la charge.
Chez nous Non utilisé ici : le projet tourne sur Railway (plus simple), pas sur du Kubernetes.
Voir aussi Conteneur Orchestration Microservices
Localisation : adapter concrètement un logiciel à une langue et une culture données (traductions, formats de date, monnaie). (« l » + 10 lettres + « n ».)
Voir aussi i18n
Page sur laquelle atterrit un visiteur après avoir cliqué une publicité ou un lien de campagne, pensée pour le convertir (l’inciter à agir).
Voir aussi Conversion Quality score Pages d’intention Taux de conversion
Le délai entre une demande et le début de la réponse. Plus la latence est faible, plus le site paraît réactif.
Chez nous Réduite en co-localisant serveurs et base de données à Paris, et en servant les pages depuis le cache proche du visiteur.
Voir aussi Edge CDN Core Web Vitals
Chargement différé : on ne télécharge un contenu (image, liste, script) qu’au moment où on en a besoin, souvent à l’approche de l’écran, pour accélérer le premier affichage.
Chez nous Les affiches hors écran se chargent en lazy (loading="lazy"), et l’index de recherche complet n’est récupéré qu’au moment utile pour ne pas alourdir l’arrivée sur l’accueil.
Voir aussi IntersectionObserver Preload Above the fold Image responsive
Largest Contentful Paint : le temps que met le plus gros élément visible (souvent une image ou un titre) à s’afficher. Un bon repère du ressenti « la page est chargée ».
Voir aussi Core Web Vitals CLS INP Latence
Contact commercial identifié : une personne qui a laissé un moyen de la recontacter (e-mail, formulaire) et qu’on pourra convertir plus tard.
Voir aussi CPL Newsletter Conversion
Logiciel qui lit à voix haute le contenu de l’écran pour les personnes aveugles ou malvoyantes. Il s’appuie sur un HTML bien structuré et les attributs ARIA.
Voir aussi ARIA Rôle Balise sémantique Accessibilité
Autorité de certification gratuite et automatisée qui délivre des certificats de sécurité (HTTPS) à grande échelle. Elle a rendu le « cadenas » gratuit pour tout le web.
Voir aussi Certificat TLS TLS HTTPS Autorité de certification
Éditeur de texte enrichi (gras, listes, liens…) open source, à la base de nombreux champs de saisie de contenu modernes.
Chez nous C’est l’éditeur de texte enrichi des champs de contenu dans le back-office Payload.
Voir aussi Payload CMS React
Contrat qui fixe ce qu’on a le droit de faire avec un logiciel. Les licences permissives (MIT) autorisent presque tout ; d’autres (GPL) imposent de repartager les modifications.
Voir aussi Open source Dépendance
Adresse spéciale qui, en plus de mener au produit, transporte l’identifiant de l’éditeur (et parfois une référence) pour que le réseau sache qui a apporté le visiteur.
Chez nous Nos boutons « Réserver » ne pointent pas vers la billetterie en direct mais vers un relais interne /go/tickets qui fabrique le lien de tracking avant de rediriger.
Voir aussi Deeplink clickref subId Attribution
Lien tracé qui pointe directement vers la page précise d’un produit chez le marchand (et non sa page d’accueil), tout en conservant l’identifiant de l’éditeur pour attribuer la vente.
Chez nous Chaque bouton « Réserver » fabrique un lien profond vers la page exacte du concert sur la billetterie, en y ajoutant notre identifiant d’affilié (fonction resolveAffiliateUrl).
Voir aussi Deeplink clickref subId Affiliation
Outil d’audit intégré à Chrome qui note une page sur la performance, l’accessibilité, les bonnes pratiques et le SEO.
Chez nous Un contrôle Lighthouse tourne dans notre intégration continue sur les pages du frontend (à valider en local quand la CI ne couvre pas le périmètre).
Voir aussi PageSpeed Insights Core Web Vitals CI/CD
Analyse automatique du code qui repère, sans l’exécuter, les erreurs probables et les écarts de style, pour garder un code sain et cohérent.
Chez nous La CI passe le lint du backend à chaque PR (le frontend, lui, n’a pas de lint : c’est le build qui valide).
Voir aussi ESLint Prettier Vérification de types
Liste de ce qui est explicitement permis (adresses, domaines, services) : tout ce qui n’y figure pas est refusé par défaut. Approche plus sûre qu’une liste de blocage.
Voir aussi Pare-feu Moindre privilège CORS
Élément Schema.org représentant une entrée d’une liste ordonnée (une étape d’un fil d’Ariane, un élément d’une liste de concerts), avec sa position.
Chez nous Sert à composer nos fils d’Ariane et nos listes de concerts (ItemList) dans le JSON-LD.
Voir aussi BreadcrumbList ItemList
Grand modèle de langage (Large Language Model) : le type d’IA derrière ChatGPT, Claude ou Gemini, entraîné sur d’énormes volumes de texte pour comprendre et rédiger en langage naturel.
Chez nous Les « lecteurs » qu’on cherche à séduir avec le GEO. Leurs robots (ClaudeBot, GPTBot…) viennent lire nos pages ; on veut qu’ils nous citent.
Voir aussi Crawler IA RAG Embedding GEO
Fichier à la racine d’un site qui s’adresse aux intelligences artificielles, pour leur indiquer le contenu important et comment l’utiliser. Un « robots.txt » pensé pour les IA.
Chez nous On l’expose pour aider les assistants IA à bien lire et citer concerts.paris.
Voir aussi GEO Crawler IA robots.txt
Dans Payload, façon d’accéder aux données directement depuis le code du serveur (fonctions internes) sans passer par une requête HTTP — plus rapide et sans réseau. À distinguer de l’API REST/GraphQL exposée à l’extérieur.
Chez nous Les scripts d’import et d’enrichissement lisent et écrivent les concerts via cette Local API interne.
Voir aussi Payload CMS REST GraphQL Seed
Nom qui désigne « cette machine-ci » (adresse 127.0.0.1) : un service accessible sur localhost ne l’est que depuis l’ordinateur où il tourne.
Chez nous En développement, le site se consulte sur http://localhost:4321 et l’admin Payload sur http://localhost:3000/admin.
Voir aussi Port Adresse IP
Petit espace de stockage dans le navigateur où un site garde des informations qui persistent d’une visite à l’autre (jusqu’à effacement), sans expiration automatique.
Chez nous Mémorise le choix grille/liste de l’accueil (clé homeView) et l’état de la pop-up newsletter (déjà vue / inscrit), pour retrouver ses préférences au retour.
Voir aussi sessionStorage Cookie (client) Cookieless
En-tête HTTP qui, lors d’une redirection, indique la nouvelle adresse vers laquelle le navigateur doit se rendre.
Chez nous Utilisé par le proxy `/go/tickets` : la réponse porte l’adresse finale (avec le suivi d’affiliation) vers laquelle rediriger le clic « Réserver ».
Voir aussi En-tête HTTP Redirect 301/302 Deeplink
Verrou : mécanisme qui empêche deux traitements de s’exécuter en même temps sur la même ressource et de se marcher dessus.
Chez nous Un verrou en base empêche deux imports du catalogue de tourner simultanément (ex. import de nuit qui télescoperait un import manuel).
Fichier de verrouillage (par ex. package-lock.json) qui fige la version EXACTE de chaque dépendance installée, pour que tout le monde ait rigoureusement les mêmes.
Voir aussi Dépendance Package
Journaux : le fil des événements qu’un programme écrit au fur et à mesure (démarrages, requêtes, erreurs). On les relit pour comprendre ce qui s’est passé.
Chez nous On lit les logs Railway (construction et exécution) pour diagnostiquer un déploiement ou une erreur d’un service concerts.paris.
Voir aussi Observabilité Métrique Trace Railway
Système de collecte et de recherche de journaux (logs) conçu par l’équipe de Grafana, pensé pour être léger.
Voir aussi Grafana Prometheus
Variante du polling où le serveur, interrogé, garde la requête en attente et ne répond QUE lorsqu’il a du nouveau — ce qui limite les requêtes inutiles.
L’ensemble des recherches très précises et peu fréquentes (ex. « concert jazz manouche Paris 11 samedi »). Prises une à une c’est peu, mais additionnées ça fait beaucoup de trafic qualifié.
Chez nous Nos pages d’intention et nos fiches artistes visent cette longue traîne, là où la concurrence est faible.
Voir aussi SEO Pages d’intention Maillage interne
Étape d’agrégation MongoDB qui va chercher des documents liés dans une autre collection pour les rattacher au résultat — une sorte de « jointure » entre collections.
Voir aussi Pipeline d’agrégation Référence Relation
Service d’envoi et de réception d’e-mails piloté par API, destiné aux développeurs.
Le réseau de liens entre les pages d’un même site. Un bon maillage aide les visiteurs à circuler et les moteurs à découvrir et hiérarchiser les pages.
Chez nous Concerts liés à leur salle et à leur artiste (modèle « hub & spoke »), liens de pied de page par quartier : tout ça tisse le maillage.
Voir aussi Hub & Spoke Pages d’intention SEO
Petit fichier de configuration (manifest.webmanifest) décrivant l’appli web : son nom, ses icônes, ses couleurs, son mode d’affichage — pour permettre son installation sur l’appareil.
Chez nous Le site fournit un manifest et des icônes (192 et 512 px, icône Apple), ce qui permet de l’installer comme une application.
Voir aussi PWA Service worker Favicon
Façon d’écrire du texte mis en forme (titres, listes, gras) avec des symboles simples. C’est le format de ce dictionnaire côté dépôt (GLOSSAIRE.md).
Étape d’un pipeline d’agrégation MongoDB qui filtre les documents pour ne garder que ceux qui répondent à une condition (l’équivalent du « WHERE » en SQL).
Voir aussi Pipeline d’agrégation $group Requête
Rapprocher deux entrées qui parlent en réalité de la même chose (même concert, même salle) alors qu’elles viennent de sources différentes et s’écrivent un peu différemment.
Chez nous Base du dédoublonnage : on compare dates, lieux et titres. Trop laxiste → faux doublons ; trop strict → doublons manqués.
Voir aussi Dédoublonnage Regex Wikidata
Fonction JavaScript qui teste en direct une media query (largeur d’écran, mode sombre, appareil tactile…) et réagit quand la condition change.
Chez nous Utilisée pour adapter le comportement selon le contexte : distinguer mobile et desktop, détecter le tactile, savoir si le site tourne en mode application (PWA).
Voir aussi Media query prefers-color-scheme Viewport
Réglage de cache qui fixe combien de temps (en secondes) une page peut être gardée avant d’être considérée comme périmée. Il s’applique notamment au cache du navigateur.
Chez nous Les images de concerts.paris sont servies avec un max-age très long (un an, « immutable ») car leur URL change quand l’image change.
Voir aussi Directive Cache-Control s-maxage Immutable
Règle CSS conditionnelle qui applique un style seulement dans certaines conditions (largeur d’écran, mode sombre, mouvement réduit…). C’est la base du responsive.
Chez nous Des media queries adaptent l’accueil au mobile (2 lignes d’en-tête, mode Liste par défaut) ; le JavaScript teste aussi ces conditions via matchMedia.
Voir aussi Viewport Flexbox matchMedia prefers-reduced-motion
Valeur qui coupe une série en deux moitiés égales : la moitié des valeurs est en dessous, l’autre au-dessus. Moins sensible aux extrêmes que la moyenne.
Voir aussi Moyenne p75 Écart-type
Espace de travail rapide et temporaire (la RAM) où un programme garde les données qu’il manipule pendant qu’il tourne — vidé à l’arrêt, contrairement au disque.
Voir aussi Ramasse-miettes Fuite mémoire Cache
Optimisation qui garde en mémoire le résultat d’un calcul coûteux pour le ressortir instantanément si on le redemande avec les mêmes entrées, au lieu de le refaire.
Voir aussi Cache Fonction pure
Fusionner : intégrer les modifications d’une branche dans une autre (typiquement dans « main »). C’est l’étape qui fait entrer un changement en production.
Chez nous Le merge est un geste de relecture : Arthur (ou Philippe) fusionne une PR après validation ; le déploiement suit tout seul.
Voir aussi PR (Pull Request) MR (Merge Request) Branche Déploiement
Balise placée dans l’en-tête d’une page qui donne des informations non affichées : description pour Google, aperçu pour les réseaux sociaux, réglage d’affichage mobile…
Chez nous Les fiches concert génèrent leurs balises meta (titre, description, og:image pour l’aperçu social) via frontend/src/lib/seo.ts.
Court texte de présentation d’une page que Google peut afficher sous le titre dans ses résultats. Elle n’influe pas sur le classement, mais beaucoup sur l’envie de cliquer.
Chez nous Sert aussi de repli à la description dans notre JSON-LD de fiche concert quand aucune description dédiée n’existe.
Voir aussi Balise title CTR SERP
Le verbe d’une requête web, qui dit l’intention : GET pour lire, POST pour créer, PUT/PATCH pour modifier, DELETE pour supprimer.
Chez nous L’API REST de Payload suit ces verbes : le site lit les concerts en GET et enregistre un clic billetterie en POST.
Voir aussi REST Idempotence Méthode sûre
Méthode HTTP qui ne modifie rien côté serveur — elle ne fait que lire. GET en est l’exemple type : l’appeler ne doit jamais changer les données.
Voir aussi Méthode HTTP Idempotence
Mesure chiffrée suivie dans le temps (nombre de visites, temps de réponse, taux d’erreur…). Les métriques se lisent bien en courbes et déclenchent des alertes.
Chez nous Le cockpit de concerts.paris affiche des métriques (visites, vitesse, clics billetterie) lues en base et via Cloudflare.
Voir aussi Observabilité Logs Tableau de bord RUM SLI
Authentification à plusieurs facteurs : exiger au moins deux preuves d’identité de nature différente (mot de passe + code sur le téléphone, par ex.) pour renforcer la sécurité. La 2FA en est le cas à deux facteurs.
Voir aussi Authentification SSO
Petite action intermédiaire, en amont de l’achat, qui montre un intérêt et rapproche de la conversion finale (écouter un extrait, ouvrir un calendrier, s’inscrire à la newsletter).
Chez nous On mesure sans cookie ces micro-conversions (écoutes d’extraits, usage des filtres, calendrier des salles) via la collection usage-events, sur la page « Comportement » du cockpit.
Voir aussi Conversion Entonnoir de conversion Newsletter
Une des façons d’insérer des données structurées, en ajoutant des attributs directement sur les balises HTML visibles. Approche plus ancienne, aujourd’hui souvent remplacée par le JSON-LD (un bloc à part).
Voir aussi JSON-LD Données structurées RDFa
Architecture où une application est découpée en petits services indépendants, chacun avec sa responsabilité, qui communiquent entre eux — à l’opposé du monolithe.
Voir aussi Monolithe Orchestration RPC
Couche de code qui s’intercale entre la demande du visiteur et la réponse, pour faire un traitement commun (vérifier un accès, ajouter un en-tête…).
Chez nous Un middleware ajoute les règles de cache aux pages ; un autre protège le cockpit par mot de passe.
Voir aussi Basic Auth Cache
Opération planifiée qui fait évoluer la structure ou le contenu d’une base d’une version à la suivante (ajouter un champ, transformer des valeurs) de façon contrôlée et rejouable.
Voir aussi Backfill Validation de schéma Upsert
Compression du code (suppression des espaces, commentaires, raccourcissement des noms) pour réduire le poids des fichiers sans changer leur fonctionnement, donc accélérer le chargement.
Voir aussi Bundle Tree-shaking Source map
Encaisser plus de charge en ajoutant des machines (ou des copies) qui se partagent le travail, plutôt qu’en grossissant une seule machine.
Chez nous Le scale se fait surtout par le cache en périphérie (Cloudflare) : les visiteurs sont servis par le réseau, sans surcharger le serveur.
Voir aussi Mise à l’échelle verticale Autoscaling
Encaisser plus de charge en donnant plus de puissance à une même machine (plus de processeur, de mémoire), plutôt qu’en en ajoutant d’autres.
Voir aussi Mise à l’échelle horizontale Autoscaling
Moment où les billets d’un événement deviennent achetables pour le grand public. Avant cette date, la billetterie est fermée ou en prévente.
Chez nous La date de mise en vente future est stockée dans offers.validFrom et déclenche l’affichage d’un badge « Prévente » sur la fiche.
Voir aussi Prévente Sold-out Inventaire
État de cache signifiant que la page n’était pas dans le cache : il a fallu aller la chercher à l’origine, puis (souvent) la garder pour la prochaine fois.
Chez nous Après une purge, le premier accès à une page de concerts.paris est un MISS (elle repart de l’origine), puis les suivants passent en HIT.
Voir aussi État de cache HIT Cache Origine Purge de cache
Méthode de conception qui part de l’écran mobile (le plus contraint) puis enrichit la mise en page pour les grands écrans — plutôt que l’inverse.
Chez nous La majorité du trafic étant mobile, l’en-tête et l’accueil sont pensés mobile d’abord (mode Liste par défaut sur petit écran).
Voir aussi Responsive Point de rupture
Fausse version d’un composant (une API, une base…) fabriquée pour un test : elle imite le vrai pour tester sans dépendre de lui.
Bascule dans laquelle l’accueil abandonne la grille de départ pour filtrer/afficher les résultats à partir de l’index complet du catalogue.
Chez nous Activé dès qu’on pose un filtre ou choisit un tri (data-full-index / fullIndexMode). C’est ce qui rend un concert lointain trouvable, alors qu’il n’est pas dans les cartes rendues au départ.
Voir aussi Index de recherche Filtres accueil
Principe de sécurité : ne donner à chaque personne, service ou clé que les droits strictement nécessaires, et rien de plus, pour limiter les dégâts en cas de fuite.
Chez nous Illustré par les jetons Cloudflare de concerts.paris : un jeton dédié à la seule purge du cache (un seul droit) plutôt que la clé toute-puissante.
Voir aussi Token Rotation de secret Liste d’autorisation Cloudflare
La version hébergée « clé en main » de la base de données MongoDB : Atlas s’occupe des serveurs, des sauvegardes et de la sécurité.
Chez nous Notre base de données : tout le catalogue (concerts, salles, artistes) et les mesures y sont stockés. Hébergée à Paris, à côté de nos serveurs.
Voir aussi Mongoose Collection Document
Application avec interface graphique pour explorer une base MongoDB : voir les collections, filtrer les documents, lancer des requêtes à la souris.
Voir aussi MongoDB Atlas mongosh Collection
Outil MongoDB qui exporte le contenu d’une base dans des fichiers, typiquement pour en faire une sauvegarde.
Voir aussi MongoDB Atlas Backfill
Bibliothèque qui simplifie le dialogue entre le code (Node.js) et la base MongoDB, en décrivant la forme attendue des données.
Chez nous Utilisée côté back-office (Payload) pour lire et écrire dans la base.
Voir aussi MongoDB Atlas Payload CMS Node.js
Console en ligne de commande de MongoDB : on y tape des requêtes pour lire ou modifier les données directement dans la base.
Voir aussi MongoDB Atlas MongoDB Compass
Un petit programme qui vérifie en continu que le site et ses fonctions clés répondent, et alerte par e-mail en cas de souci.
Chez nous Worker Cloudflare « concerts-uptime », qui teste toutes les 15 min (plus un test après chaque déploiement) et alerte selon la gravité. Il n’écrit son état en base que s’il change, pour éviter les alertes parasites.
Voir aussi Uptime Cloudflare Worker build-info.json Healthcheck
Surveillance qui rejoue automatiquement des parcours ou des chargements « pour de faux », à intervalle régulier, pour vérifier que tout marche — sans attendre qu’un vrai visiteur tombe sur un problème.
Chez nous Complément de la mesure « vrais visiteurs » : un moniteur interroge en boucle les fonctions clés, et le rejeu de parcours (Playwright) est envisagé comme étage 2.
Voir aussi Données terrain vs labo RUM Uptime Healthcheck
Application construite d’un seul tenant, où toutes les fonctions vivent dans un même programme déployé en bloc. Simple au début, plus lourd à faire évoluer en grandissant.
Voir aussi Microservices
Un dépôt de code unique qui contient plusieurs applications ou services, au lieu d’un dépôt séparé pour chacun.
Chez nous Notre dépôt regroupe le back-office, le site, le cockpit et les scripts au même endroit.
Le ou les mots qu’un internaute tape dans un moteur. Le référencement consiste en partie à bien se positionner sur les mots-clés qui comptent pour son activité.
Chez nous On distingue les têtes génériques très concurrentielles (« concerts paris ») de la longue traîne d’intention et d’artistes, où l’on gagne plus facilement.
Voir aussi Requête de recherche Longue traîne Position moyenne Cannibalisation
Terme sur lequel un annonceur choisit de NE PAS diffuser son annonce, pour écarter les recherches sans rapport et ne pas gaspiller son budget.
Chez nous La campagne « Paradis Latin » utilise une liste d’exclusions pour ne pas apparaître sur des requêtes hors sujet.
Voir aussi Groupe d’annonces Quality score Google Ads SEA
Outil qui répond directement à une question en une synthèse rédigée, au lieu de renvoyer une liste de liens (ChatGPT, Perplexity, l’« AI Overview » de Google). On dit aussi « answer engine ».
Chez nous La cible du projet : être la source que ces moteurs de réponse citent quand on demande des concerts à Paris. C’est tout le sens du GEO.
Voir aussi GEO AEO Citation IA Featured snippet
Liste de mots trop banals pour prouver que deux fiches sont le même concert (« concert », « jazz », « festival », « église », « arena », « saint »…).
Chez nous GENERIC_MATCH_TOKENS (titres/artistes) et GENERIC_VENUE_TOKENS (salles). Sans eux, « Accor Arena » et « Adidas Arena » fusionneraient. « Candlelight » est exclu exprès (c’est le programme qui distingue « Candlelight Vivaldi » de « Candlelight Zimmer »).
Voir aussi Règle de match Faux doublon
Somme des valeurs divisée par leur nombre. Simple, mais elle peut être tirée vers le haut ou le bas par quelques valeurs extrêmes.
Voir aussi Médiane Écart-type p75
Site classique fait de plusieurs pages HTML distinctes : chaque navigation charge une nouvelle page depuis le serveur. Bon pour le SEO et l’affichage initial.
Chez nous Astro produit un site plutôt multi-pages (une URL = une page rendue), ce qui sert le référencement et l’indexation par les IA.
Même chose qu’une « Pull Request » (proposer un changement de code à relire et fusionner), mais c’est le nom employé sur GitLab.
Chez nous Nous, on est sur GitHub : on dit donc « PR ». « MR » et « PR » désignent la même idée.
Voir aussi PR (Pull Request) Merge
Temps moyen de réparation : la durée moyenne entre le moment où un incident survient et celui où le service est rétabli. Plus il est court, mieux c’est.
Voir aussi Incident Post-mortem Uptime
Architecture où un même système sert plusieurs univers distincts, cloisonnés par un identifiant, sans tout dupliquer.
Chez nous Nos données portent une « niche » (concerts-paris) : le même moteur pourra servir d’autres niches (ex. expo-paris) sans repartir de zéro.
Voir aussi Niche
Barrière automatique d’un site pour bloquer les robots : elle renvoie un défi JavaScript ou une erreur 403, et empêche de lire la page sans navigateur simulé.
Chez nous Rencontré à l’étude de sources (Datadome, checkpoint Vercel, WAF…). Il bloque souvent depuis les adresses de datacenter (nos serveurs), ce qui rend certaines sources difficiles ou impossibles à récupérer.
Voir aussi Faisabilité de source WAF Scraping
Base de données musicale ouverte et collaborative (artistes, albums, morceaux) maintenue par une communauté.
Chez nous Fait partie des fournisseurs de données côté backend (dossier des « providers ») pour enrichir les informations musicales.
Voir aussi Wikidata Deezer Enrichissement
Type Schema.org qui décrit un événement musical (un concert) : nom, date, lieu, artiste, prix. C’est un « Event » spécialisé pour la musique.
Chez nous Le type central de nos fiches concert : chaque fiche émet un MusicEvent (jamais un simple « Event »), avec ses séances en sous-événements.
Voir aussi Event (Schema.org) Place (Schema.org) Offer JSON-LD
Type Schema.org décrivant un groupe ou un artiste musical : nom, liens vers ses fiches de référence (Wikidata, Spotify…).
Chez nous Le type de nos fiches artiste et des « performers » d’un concert. On n’y met que de vrais artistes liés, jamais le titre du concert.
Voir aussi PerformingArtsTheater Person (Schema.org) sameAs MusicEvent
Type Schema.org décrivant un enregistrement musical (un morceau). Il relie un artiste à une œuvre écoutable.
Chez nous Émis quand une fiche a des performers, pour relier l’artiste à un extrait média (« Écouter & voir »).
Voir aussi MusicGroup JSON-LD
En GraphQL, l’opération d’écriture : créer, modifier ou supprimer des données (l’équivalent des POST/PUT/DELETE de REST).
Voir aussi GraphQL Requête GraphQL Méthode HTTP
Outil du navigateur qui surveille les changements du DOM (ajout, suppression ou modification d’éléments) et prévient le JavaScript quand ils surviennent.
Voir aussi IntersectionObserver DOM
Organisation d’une application en trois rôles : le Modèle (les données), la Vue (l’affichage) et le Contrôleur (la logique qui relie les deux).
Voir aussi Patron de conception
Produit minimum viable : la plus petite version d’un produit qui apporte déjà de la valeur et permet de tester une idée auprès de vrais utilisateurs, avant d’investir plus.
Voir aussi PoC
Bureau d’enregistrement (registrar) de noms de domaine en ligne, connu pour ses tarifs bas.
Voir aussi OVH Gandi Cloudflare Registrar
Sigle de « Not a Number » : valeur spéciale renvoyée quand un calcul numérique n’a pas de résultat valable (par ex. transformer « abc » en nombre).
Le vrai nombre de concerts NOUVEAUX qu’une source apporte, une fois retiré tout ce qu’on connaissait déjà.
Chez nous Critère clé pour juger une source avant de la brancher : le catalogue est déjà quasi complet sur les concerts en salle billettés, le gisement restant est surtout en électro/clubbing.
Voir aussi Recouvrement Faisabilité de source
Plateforme d’hébergement de sites et d’applications web, avec déploiement automatique depuis Git et fonctions serverless.
Voir aussi Vercel Cloudflare Pages Déploiement
E-mail envoyé régulièrement aux abonnés qui l’ont demandé, pour les tenir informés et les faire revenir sur le site. Outil clé de fidélisation.
Chez nous La capture des inscriptions est en place sur le site (phase 0) ; l’envoi d’une lettre régulière aux abonnés reste à construire.
Voir aussi Double opt-in ESP Désabonnement Segmentation de liste
Cadre de développement web basé sur React, capable de générer des pages côté serveur et de fournir des API.
Chez nous C’est la fondation sur laquelle tourne Payload, notre back-office (l’admin du catalogue).
Voir aussi Payload CMS Node.js SSR
Un SITE servi par le moteur, identifié par une étiquette. Le projet est conçu pour en héberger plusieurs sans tout dupliquer.
Chez nous La niche actuelle est « concerts-paris ». À ne pas confondre avec l’« univers » (concert / théâtre / expo), qui est une facette À L’INTÉRIEUR d’un même site : le théâtre et les expos vivent sur concerts.paris, pas sur un site séparé — sinon une salle comme Le Trianon, qui programme les deux, aurait deux fiches concurrentes et deux agendas incomplets.
Voir aussi Multi-tenant Catalogue Univers
Outil (utilisé par Railway) qui construit automatiquement une image de conteneur à partir du code, sans Dockerfile, en détectant le langage du projet.
Chez nous concerts.paris n’utilise PAS Nixpacks : chaque service est construit à partir d’un Dockerfile écrit à la main (contexte à la racine du monorepo).
Voir aussi Buildpack Docker Image de conteneur Railway
Réglage de cache qui autorise à garder une copie, mais oblige à vérifier auprès de l’origine qu’elle est toujours à jour avant de la servir. Différent de « no-store » (qui, lui, ne garde rien).
Voir aussi Directive Cache-Control no-store Revalidation
Réglage de cache qui interdit de garder une page en mémoire : elle doit être redemandée à chaque fois. On l’utilise pour des contenus qui ne doivent jamais être datés.
Chez nous La page qui indique la date du dernier déploiement (build-info) est en no-store pour toujours renvoyer la valeur réelle du moment.
Voir aussi Directive Cache-Control no-cache Cache
Environnement qui permet d’exécuter du JavaScript en dehors du navigateur, côté serveur.
Chez nous Le moteur commun sous le capot : back-office (Payload/Next.js), site (Astro) et scripts d’import tournent tous avec Node.
Voir aussi JavaScript TypeScript Astro Next.js
Bibliothèque Node.js pour composer et envoyer des e-mails depuis une application.
Attribut posé sur un lien pour dire aux moteurs « ne transmettez pas d’autorité par ce lien ». Sert par exemple pour les liens non vérifiés ou payants.
Voir aussi Sponsored (lien) UGC (lien) Backlink
Consigne donnée aux moteurs pour qu’ils n’ajoutent PAS une page à leur index (elle reste accessible, mais n’apparaît pas dans les résultats).
Chez nous Utile pour les pages sans intérêt de recherche (pages techniques, contenu trop maigre) afin de ne pas diluer le référencement.
Voir aussi Indexation Thin content robots.txt
En JavaScript, type unique regroupant entiers et nombres à virgule (il n’y a pas de type entier séparé), plus quelques valeurs spéciales comme NaN.
Voir aussi Entier Flottant NaN Type de données
Manière d’organiser les données en évitant les répétitions : une information n’existe qu’à un seul endroit, et les autres y font référence. Évite les incohérences, au prix de recoller les morceaux à la lecture.
Voir aussi Dénormalisation Référence Relation Clé étrangère
Familles de bases de données qui ne suivent pas le modèle relationnel classique en tables — par ex. les bases orientées documents comme MongoDB.
Chez nous MongoDB, la base du projet, est une base NoSQL orientée documents (données rangées en documents JSON souples plutôt qu’en tables rigides).
Voir aussi SQL Base documentaire
Application tout-en-un de notes, documents et bases de connaissances collaboratives.
Voir aussi Markdown
Gestionnaire de paquets de l’écosystème JavaScript : il installe les bibliothèques dont un projet a besoin et lance ses scripts (« npm run … »).
Chez nous C’est notre gestionnaire de paquets ; toutes les commandes du projet passent par « npm run » (dev, seed, enrich, audit…).
Compagnon de npm qui exécute un outil sans avoir à l’installer durablement (« npx <outil> »).
Chez nous Utilisé ponctuellement, par ex. « npx wrangler deploy » pour publier le Worker ou « npx tsx <script> » pour lancer un script.
Valeur spéciale qui signifie « rien », « vide voulu » : la place existe mais on y a délibérément mis « aucune valeur ».
Se dit d’une valeur « vide » au sens strict : null ou undefined (mais PAS 0 ni la chaîne vide). L’opérateur ?? sert à fournir une valeur de repli seulement dans ces cas.
Voir aussi Chaînage optionnel Fallback any / unknown / never
Mécanisme standard qui permet à une application d’accéder, avec l’accord de l’utilisateur, à des données détenues ailleurs (ex. Google), sans jamais connaître son mot de passe.
Chez nous concerts.paris utilise OAuth pour se connecter à des services Google (Search Console, Google Ads, Analytics) via des autorisations plutôt que des mots de passe.
Voir aussi OpenID Connect Jeton d’accès SSO Google Search Console Google Ads
Identifiant unique que MongoDB attribue automatiquement à chaque document (le champ `_id`). Compact, il encode aussi la date de création du document.
Voir aussi Document MongoDB Atlas Clé étrangère
Une action désignée comme importante dans un outil de statistiques, qu’on suit comme réussite (souvent une conversion). En anglais, « goal ».
Chez nous Notre objectif principal est le clic « Réserver » vers la billetterie.
Voir aussi Conversion Événement (analytics) Taux de conversion
En programmation, regroupement de données nommées (paires « clé : valeur ») décrivant une chose : un concert, par ex., a un titre, une date, une salle. En JavaScript, on l’écrit entre accolades { … }.
Voir aussi Tableau JSON Type de données
Capacité à comprendre ce qui se passe dans un système en production à partir de ce qu’il émet (journaux, mesures, traces) : détecter, diagnostiquer et corriger vite.
Chez nous Pour concerts.paris, elle repose sur les logs Railway, la mesure de vitesse (RUM Cloudflare), le récap e-mail quotidien et le moniteur d’uptime.
Unité de base de la taille des données informatiques, composée de 8 bits. Un caractère simple pèse environ un octet ; on compte les fichiers en kilo-octets (Ko), méga-octets (Mo), etc.
Voir aussi Bit Encodage de caractères
Bibliothèque qui fait le pont entre le code et la base : on manipule des objets dans le langage de programmation, elle les traduit en écritures/lectures dans la base. ORM pour les bases SQL, ODM pour les bases documents comme MongoDB.
Chez nous Payload s’appuie sur Mongoose (un ODM) pour parler à MongoDB.
Voir aussi Mongoose MongoDB Atlas Payload CMS
Type Schema.org décrivant une offre commerciale : prix, devise, disponibilité, lien d’achat. Pour un concert, c’est le billet.
Chez nous On émet une Offer sur une fiche dès qu’on a un prix OU un lien billetterie ; le lien pointe vers notre redirection tracée /go/tickets, pas la billetterie brute. Un concert gratuit a un prix de 0.
Voir aussi AggregateOffer availability (Schema.org) priceValidUntil Deeplink
Capacité d’un site à rester consultable sans connexion, en servant depuis un cache local des contenus déjà visités, grâce au service worker.
Voir aussi Service worker Cache API PWA
Le bloc commercial d’une fiche : à partir de quel prix, disponible ou complet, et à partir de quand les billets sont en vente.
Chez nous Trois champs : offers.price (« dès X € »), offers.availability (complet/dispo/prévente) et offers.validFrom (date de mise en vente). Alimenté par les sources et affiché en badges sur les cartes.
Voir aussi Prix « dès X € » Disponibilité (availability) Prévente Badge Complet
Façon classique de paginer : « limit » dit combien d’éléments renvoyer, « offset » combien en sauter depuis le début. Simple, mais coûteux sur de très grandes listes.
Voir aussi Pagination Curseur
Méthode d’objectifs : un but qualitatif (Objectif) assorti de quelques résultats chiffrés (Key Results) qui disent concrètement qu’on l’a atteint.
Voir aussi KPI
Données publiques mises à disposition librement et gratuitement, réutilisables par tous.
Chez nous Une de nos sources de concerts les plus riches : elle fournit une base d’événements qu’on complète ensuite avec les billetteries.
Ensemble de balises meta qui décrivent une page pour les réseaux sociaux et messageries : titre, description et image affichés dans l’aperçu quand on partage un lien.
Chez nous Chaque fiche concert expose des balises Open Graph (dont og:image) pour un joli aperçu au partage — géré dans lib/seo.ts.
Voir aussi SEO
Logiciel dont le code source est public : chacun peut le lire, l’utiliser, le modifier et le partager, selon les conditions d’une licence.
Voir aussi Licence logicielle Dépôt
Service d’agendas d’événements ouverts, largement utilisé par les collectivités et lieux culturels français.
Chez nous Source de concerts en Île-de-France, récupérée via l’API Opendatasoft (data.iledefrance.fr) — des données propres, pas du scraping.
Voir aussi Open Data Source Opendatasoft
Standard pour décrire une API REST dans un fichier structuré (les adresses, les paramètres, les réponses). Sert à documenter, tester et générer du code automatiquement. Anciennement « Swagger ».
Voir aussi REST Contrat d’API Schéma
Plateforme qui publie des jeux de données ouverts et les rend interrogeables par une API standardisée.
Chez nous C’est par une API Opendatasoft (portail Île-de-France) qu’on récupère les événements OpenAgenda.
Voir aussi OpenAgenda Open Data API
Couche d’identité posée au-dessus d’OAuth : elle sert à prouver « qui est l’utilisateur » (connexion), là où OAuth gère surtout « à quoi il donne accès ».
Écriture (avec …) qui « étale » le contenu d’une liste ou d’un objet ailleurs : pour copier, fusionner ou passer des éléments un à un.
Voir aussi Déstructuration Immutabilité
Le chef d’orchestre de la nuit : il enchaîne dans l’ordre toutes les étapes (import, archivage, genres, dédoublonnage, affiches, purge du cache, enrichissements, bilan e-mail, réchauffage).
Chez nous C’est run-import.ts et sa liste d’étapes STEPS[]. Depuis le 01/07 le bilan e-mail part AVANT le réchauffage, pour arriver même si le run est coupé en cours de route.
Voir aussi Pipeline d’import Profondeur d’import Bilan d’import Réchauffage du cache
Coordination automatique de plusieurs traitements ou services dans le bon ordre et au bon moment, comme un chef d’orchestre.
Chez nous L’import du catalogue est orchestré par run-import.ts, qui enchaîne les étapes (collecte des sources, fusion, écriture en base, bilan e-mail).
Voir aussi Pipeline d’import Kubernetes
Type Schema.org décrivant une organisation (entreprise, marque, éditeur du site) : nom, logo, site officiel, réseaux.
Chez nous L’accueil émet une fiche Organization pour concerts.paris (l’éditeur du site) ; une salle apparaît aussi comme « organizer » de ses concerts.
Voir aussi WebSite (Schema.org) JSON-LD sameAs
Nom par défaut du dépôt distant de référence — celui d’où l’on a cloné et vers lequel on pousse.
Chez nous origin pointe sur concerts-paris/concerts.paris ; origin/main = la version en production. On code toujours à partir du vrai origin/main, jamais depuis le dossier local (souvent en retard).
Le serveur « source » qui produit réellement les pages, derrière le cache et le proxy. Quand le cache n’a pas la réponse, il va la chercher à l’origine.
Chez nous L’origine de concerts.paris, ce sont les services Railway (frontend Astro et backend Payload) ; Cloudflare met leur contenu en cache devant.
Voir aussi CDN Cache Reverse proxy Railway Edge
Hébergeur et bureau d’enregistrement (« registrar ») de noms de domaine, français.
Chez nous Le nom de domaine concerts.paris y est enregistré. La gestion du DNS et du cache est ensuite déléguée à Cloudflare, et l’hébergement des applications à Railway.
Voir aussi DNS Cloudflare Railway
Chiffre entre 0 et 1 qui dit à quel point un résultat pourrait n’être dû qu’au hasard : plus il est petit (souvent sous 0,05), plus on est confiant que la différence observée est réelle.
Voir aussi Significativité statistique z-test Intervalle de confiance
75ᵉ centile : la valeur en dessous de laquelle se situent 75 % des cas. Plus honnête qu’une moyenne car peu sensible aux valeurs extrêmes.
Chez nous Utilisé pour les indicateurs de vitesse (Core Web Vitals) : « ce que vit le visiteur typique », pas le meilleur ni le pire cas.
Voir aussi Core Web Vitals RUM
Plateforme en tant que service : environnement clé en main où l’on déploie son application sans gérer les serveurs sous-jacents.
Chez nous Railway, qui héberge le backend et le frontend, est ce genre de plateforme.
Unité de code publiée et réutilisable, installable via un gestionnaire (npm pour JavaScript). Un projet est fait de son propre code plus des packages qu’il installe.
Voir aussi Dépendance Bibliothèque Lockfile
Page qui n’est pointée par aucun lien interne : ni les visiteurs ni les robots ne tombent dessus naturellement, donc elle reste invisible.
Chez nous Risque à surveiller à mesure que le catalogue grandit ; notre maillage (concert → salle → artiste, footer par quartier) sert justement à l’éviter.
Voir aussi Maillage interne Sitemap Budget de crawl
Le chargement d’une page par un visiteur. C’est l’unité de base de la mesure d’audience : « X pages vues » = le nombre de fois où des pages ont été affichées.
Voir aussi Session Visiteur unique Taux de rebond
Pages taillées pour répondre à un besoin précis exprimé dans une recherche (« ce soir », « gratuits », « ce week-end »), plutôt qu’à une simple liste générique.
Chez nous On en a plusieurs (/ce-soir, /gratuits, /ce-week-end…) plus des pages par quartier, pour capter la longue traîne.
Voir aussi Longue traîne Maillage interne SEO
Outil gratuit de Google qui note la vitesse d’une page et donne des conseils pour l’accélérer.
Voir aussi Core Web Vitals LCP Lighthouse
Le fait de renvoyer une longue liste par tranches (pages) plutôt qu’en un seul bloc, pour ne pas surcharger le serveur ni le réseau.
Chez nous L’API REST de Payload pagine ses résultats ; sur le site, la recherche complète charge le catalogue au fil du défilement (scroll infini).
Voir aussi Offset / limit Curseur API REST
La façon de gérer, pour les moteurs, une liste découpée en plusieurs pages (page 1, 2, 3…) : leur faire comprendre la suite sans créer de doublons ni perdre des éléments.
Chez nous Notre accueil n’utilise pas de pages numérotées classiques mais un défilement infini alimenté par l’index de recherche ; le feed IA, lui, se pagine explicitement.
Voir aussi Feed IA Contenu dupliqué
Niveau de confiance accordé à une source : « partenaire » (fait autorité) ou « communautaire » (fusionnée et dédoublonnée).
Chez nous Champ tier dans le registre des sources. Basculer une source en tier: ’partner’ suffit à la rendre autoritaire — tout le reste (protection du lien, anti-fusion) en découle.
Voir aussi Source partenaire Source communautaire Registre des sources
Espace où un acheteur regroupe les articles qu’il compte acheter avant de payer. Le suivi du panier révèle où et quand les achats se concluent ou s’abandonnent.
Voir aussi Panier moyen Abandon de panier Conversion
Montant moyen dépensé par commande. Un panier moyen élevé rend chaque vente plus rentable, y compris pour l’éditeur affilié qui touche un pourcentage.
Chez nous Levier clé du dîner-cabaret Paradis Latin (panier 280–560 €) : c’est ce gros panier qui rend son achat publicitaire potentiellement rentable, contrairement à un billet de concert classique.
Voir aussi Commission ROAS Conversion
Exécuter réellement plusieurs traitements en même temps, sur plusieurs cœurs de processeur. À distinguer de la concurrence (qui entrelace sans forcément simultanéité).
Voir aussi Concurrence Thread
Barrière qui filtre le trafic réseau selon des règles : elle laisse passer ce qui est autorisé et bloque le reste, pour protéger un serveur ou un site.
Chez nous Cloudflare fait office de pare-feu devant concerts.paris (dont un pare-feu applicatif, le WAF, qui filtre les requêtes web malveillantes).
Voir aussi WAF Cloudflare DDoS Reverse proxy
Marchand partenaire dont les informations sont considérées comme faisant foi : ses données (description, prix, disponibilité) écrasent celles des autres sources sur une fiche.
Chez nous Fever et la Fnac Spectacles sont des sources autoritaires : leur contenu prime sur les autres billetteries lors de la fusion des fiches.
Voir aussi Source autoritaire Fever Fnac Spectacles Matching
Les domaines web d’une source partenaire (sa page officielle + son domaine de tracking) déclarés dans le registre.
Chez nous Ex. Fever : feverup.com + fever.pxf.io ; Fnac : fnacspectacles.com + francebillet.com. Ils servent à reconnaître une fiche partenaire pour protéger son lien d’une rétrogradation et sa description d’un ré-enrichissement.
Voir aussi Source partenaire Hôtes billetterie monétisés Badge partenaire
Plateforme d’affiliation et de partenariats, orientée grandes marques et pilotage fin des commissions.
Voir aussi Impact Awin Affiliation
Point de passage d’un réseau vers un autre (par ex. la box qui relie ton ordinateur à Internet). À ne pas confondre avec une « passerelle d’API », qui est logicielle.
Voir aussi Adresse IP API Gateway
Solution éprouvée et réutilisable à un problème d’organisation du code qui revient souvent — un « modèle type » à adapter, pas du code tout fait.
Voir aussi Singleton Injection de dépendances MVC
Système de gestion de contenu (CMS) « sans tête » : il fournit une interface d’administration et une API pour gérer des données, mais n’impose pas l’apparence du site public.
Chez nous Notre back-office : c’est là qu’est géré le catalogue (concerts, salles, artistes). Le site public, lui, est fait avec Astro.
Voir aussi Headless CMS Next.js REST MongoDB Atlas
Le plafond du nombre d’événements récupérés depuis la base pour construire et mettre en cache une page.
Chez nous Fixé à ~500. C’est différent du plafond d’affichage (150 cartes) : celui-ci sert au fetch et au cache. Un ancien piège plafonnait à 500 « par date » et rendait invisibles des têtes d’affiche lointaines.
Voir aussi Plafond de cartes SSR Cache
Extension officielle de Payload qui stocke les fichiers déposés dans le back-office sur un espace de stockage compatible S3 (au lieu du disque du serveur).
Chez nous Elle envoie les médias uploadés dans le back-office vers notre bucket Cloudflare R2 (le disque des conteneurs Railway étant éphémère).
Voir aussi Payload CMS Cloudflare R2 S3
Erreur classique en test A/B : regarder les résultats en cours de route et s’arrêter dès qu’ils semblent bons. Cela gonfle les faux positifs — il faut fixer la durée/taille à l’avance.
Voir aussi A/B test p-value Taille d’échantillon
État « en attente de relecture » : une fiche jugée pas assez propre pour être publiée telle quelle, mise de côté en attendant une vérification.
Chez nous Une porte qualité déclasse en pending_review les fiches sous le seuil (ex. affiche manquante), pour ne pas dégrader le site.
Voir aussi Porte qualité Enrichissement
Type Schema.org pour une salle de spectacle (théâtre, salle de concert). C’est un lieu spécialisé, plus précis qu’un simple « Place ».
Chez nous Le type qu’on donne à nos fiches salle dans le JSON-LD (les artistes, eux, sont des « MusicGroup »).
Voir aussi Place (Schema.org) MusicGroup Hub
Type Schema.org décrivant une personne (nom, liens de référence). Sert par exemple à décrire un artiste solo plutôt qu’un groupe.
Voir aussi MusicGroup Schema.org
Balise HTML qui propose au navigateur plusieurs versions d’une même image (formats ou tailles différents) et le laisse charger la mieux adaptée.
Chez nous Chaque affiche concert est servie via <picture> : le navigateur prend l’AVIF ou le WebP s’il sait les lire, sinon le JPEG (composants EventCard.astro / EventHeroCompact.astro).
Voir aussi Srcset WebP AVIF Image responsive
Structure de données « dernier arrivé, premier sorti » (comme une pile d’assiettes) : on ajoute et on retire toujours par le haut.
Voir aussi Pile d’appels
Registre qu’un programme tient pour savoir « qui a appelé qui » : chaque fonction en cours s’empile, et se dépile quand elle a fini. C’est ce qu’on voit dans un message d’erreur (la « stack trace »).
Petit test réseau qui envoie un signal à une machine et mesure le temps de réponse (en millisecondes) — sert à vérifier qu’elle répond et à quelle vitesse.
Voir aussi Latence Adresse IP
Suite d’étapes automatisées qui s’enchaînent, par exemple : récupérer le code, le tester, le construire, puis le mettre en ligne. On parle de « chaîne » ou de « tuyau ».
Chez nous Le pipeline de concerts.paris teste le code (CI) avant le merge, puis Railway construit et déploie automatiquement après le merge.
Voir aussi CI/CD Build Déploiement GitHub Actions
Suite d’étapes que MongoDB enchaîne pour transformer des données : chaque étape (filtrer, grouper, projeter…) reçoit le résultat de la précédente, comme une chaîne de montage.
Chez nous Le cockpit « Comportement » calcule ses statistiques avec un pipeline d’agrégation lu en direct dans la base.
Voir aussi Agrégation $match $group $facet $project
La chaîne complète qui, chaque nuit, va chercher les concerts chez toutes les sources, les fusionne, les dédoublonne, contrôle leur qualité et les enregistre.
Chez nous Cœur du projet : elle traverse lecture des sources → fusion en mémoire → porte qualité → écriture en base (seed-hybrid-paris.ts). Elle tourne sur un service dédié (import-runner).
Voir aussi Seed import-runner Porte qualité Orchestrateur d’import
Restauration « à un instant T » : capacité à ramener une base exactement dans l’état où elle était à une date et une heure précises, et pas seulement à la dernière sauvegarde.
Voir aussi Sauvegarde
Minuscule image invisible (ou bout de code) déposée sur une page de confirmation d’achat : son chargement signale au réseau qu’une vente a eu lieu, ce qui permet de l’attribuer au bon éditeur.
Voir aussi Postback Attribution Conversion Affiliation
Type Schema.org décrivant un lieu physique : nom, adresse postale, coordonnées géographiques.
Chez nous Le lieu d’un concert. Le champ « location » est OBLIGATOIRE : si la salle est inconnue, on met au moins « Paris, France » en repli, sinon Google signale une erreur.
Voir aussi PostalAddress GeoCoordinates PerformingArtsTheater MusicEvent
Manière dont le public est disposé : assis (places numérotées) ou debout (fosse). Cela change l’expérience et souvent le prix.
Voir aussi Jauge Salle Billetterie
Le nombre de cartes de concert réellement dessinées côté serveur au premier chargement, pour garder la page légère.
Chez nous Environ 150 cartes rendues au départ (SSR_CARD_CAP), au-delà le défilement infini prend le relais. À ne pas confondre avec le plafond de récupération du catalogue (~500) qui, lui, alimente le cache.
Voir aussi SSR Défilement infini PAYLOAD_EVENT_CAP
Signalement d’un e-mail comme indésirable par un destinataire (bouton « Spam »). Un taux de plaintes élevé abîme la réputation de l’expéditeur et fait tomber tous ses envois en spam.
Voir aussi Réputation d’expéditeur Délivrabilité Désabonnement
Outil qui pilote un vrai navigateur automatiquement pour tester qu’un site fonctionne (clics, formulaires, affichage).
Chez nous Envisagé comme « étage 2 » de la surveillance de production : rejouer des parcours réels pour détecter une panne visible.
Voir aussi Healthcheck Uptime
Gestionnaire de paquets JavaScript alternatif à npm, réputé plus rapide et plus économe en espace disque (dépendances partagées).
Preuve de concept : petite réalisation qui sert à vérifier qu’une idée est techniquement faisable, sans viser un produit fini.
Chez nous concerts.paris est présenté comme un POC de moteur de niches « Agentic-First / GEO ».
Échange initial entre navigateur et serveur pour se mettre d’accord (identité, clés de chiffrement) avant de commencer à s’envoyer des données. En anglais : handshake.
Largeur d’écran à laquelle la mise en page bascule d’une disposition à une autre (par ex. passer d’une colonne sur mobile à trois sur ordinateur), défini en CSS.
Voir aussi Responsive Mobile-first Media query
Technique où le client redemande régulièrement au serveur « du nouveau ? » à intervalle fixe, pour simuler du temps réel. Simple mais peu efficace (beaucoup de requêtes pour rien).
Voir aussi Long polling SSE WebSocket
Bout de code qui réimplémente une fonctionnalité récente absente d’un navigateur ancien, pour que le site marche quand même partout.
Voir aussi Transpilation
Réserve de connexions à la base ouvertes d’avance et réutilisées, plutôt que d’en rouvrir une à chaque requête. Cela réduit la latence et ménage la base.
Voir aussi Mongoose MongoDB Atlas Latence
Point de présence : un des nombreux centres de serveurs d’un réseau mondial (CDN), répartis géographiquement pour être physiquement proches des visiteurs.
Chez nous Cloudflare sert concerts.paris depuis le PoP le plus proche de chaque visiteur, ce qui réduit le temps de chargement.
Estimation de la notoriété d’un concert ou d’un artiste (ex. nombre de fans), utilisée pour décider quoi mettre en avant.
Chez nous Signal principal du classement de l’accueil, combiné à la réputation de la salle et à la proximité de la date.
Voir aussi Ranking Coup de cœur Spotify
Numéro qui distingue les différents services tournant sur une même machine, comme un numéro d’appartement à une adresse. Le web (HTTPS) utilise le port 443.
Chez nous En local, le backend écoute sur le port 3000 et le frontend Astro sur le 4321.
Voir aussi Adresse IP Localhost Socket
Un seuil de contrôle qu’une fiche doit franchir pour être publiée : si sa note de qualité est trop basse, elle est bloquée ou mise en relecture.
Chez nous Empêche les fiches dégradées (sans affiche, mal classées…) d’atterrir sur le site ; certaines sont ensuite réparées automatiquement.
Voir aussi pending_review Enrichissement Thin content
Zone du code où une variable est accessible. En JavaScript, une variable déclarée dans une fonction ou un bloc n’existe pas en dehors.
Voir aussi Closure JavaScript
Propriété CSS qui fixe la façon de placer un élément : dans le flux normal, décalé (relative), sorti du flux et positionné librement (absolute), fixé à l’écran (fixed) ou collé au défilement (sticky).
Chez nous L’en-tête du site utilise position: sticky pour rester visible en haut pendant qu’on fait défiler la liste des concerts.
Voir aussi Z-index Contexte d’empilement Box model
Le rang moyen auquel une page apparaît dans les résultats pour une requête (1 = tout en haut). Plus le chiffre est bas, mieux c’est.
Chez nous Suivie dans GSC. Ex. « concerts paris » ≈ position 23 (page 3) : c’est un enjeu d’autorité, pas un bug.
Voir aussi Impression (SEO) CTR Autorité de domaine SERP
Compte rendu écrit après un incident : ce qui s’est passé, pourquoi, comment on l’a réglé et quoi changer pour éviter que ça recommence. Sans chercher un coupable.
Type Schema.org décrivant une adresse postale en morceaux normalisés : rue, ville, code postal, pays.
Chez nous Sert à décrire proprement l’adresse d’une salle dans le JSON-LD (repli : au moins « Paris, FR »).
Voir aussi Place (Schema.org) GeoCoordinates
Notification envoyée directement de serveur à serveur (sans passer par le navigateur du visiteur) pour signaler une vente au réseau d’affiliation. Plus fiable qu’un pixel car indépendant des bloqueurs de pub et des cookies.
Voir aussi Pixel de suivi Attribution Webhook Affiliation
Application pour construire, envoyer et tester des requêtes vers des API, sans écrire de code.
Service d’envoi d’e-mails « transactionnels » (confirmations, alertes) réputé pour sa bonne délivrabilité.
Chez nous On ne l’utilise pas : nos e-mails automatiques partent via Resend.
Proposition de changement de code : on soumet ses modifications pour qu’elles soient relues, discutées, puis fusionnées dans la version principale. C’est la porte d’entrée de toute évolution.
Chez nous Chaque évolution du site passe par une PR sur GitHub. Son titre et sa description nourrissent aussi le récap e-mail du soir.
Voir aussi MR (Merge Request) Merge Branche Commit
Indication (<link rel="preconnect">) qui ouvre à l’avance la connexion vers un domaine tiers (CDN, API), pour gagner le temps de mise en relation au moment où on lui demandera vraiment quelque chose.
Chez nous Le site préconnecte tôt aux domaines qu’il va solliciter : media.concerts.paris (les images), les serveurs de tuiles de la carte, la mesure Cloudflare.
Réglage système, détectable en CSS/JS, indiquant si l’utilisateur préfère un thème clair ou sombre. Il permet à un site d’adopter automatiquement le bon mode.
Chez nous Le cockpit de pilotage s’en sert pour choisir par défaut son thème (clair ou sombre) selon la préférence de l’appareil.
Voir aussi Dark mode Media query matchMedia
Réglage système, détectable en CSS/JS, par lequel l’utilisateur signale qu’il veut moins d’animations (mal des transports, sensibilité). Un site respectueux réduit alors ses effets.
Chez nous Le site respecte cette préférence : les animations et transitions (pop-up, effets) sont atténuées ou coupées si elle est active.
Voir aussi Transition Media query Accessibilité
Indication qui télécharge à l’avance, en tâche de fond et à basse priorité, une ressource probablement utile ensuite (page suivante), pour qu’elle soit déjà là au clic.
Voir aussi Preload Preconnect
Indication (<link rel="preload">) qui demande au navigateur de télécharger tôt une ressource critique (image principale, police) avant même de la rencontrer, pour l’afficher plus vite.
Chez nous L’image la plus visible en haut de page (l’élément LCP) est préchargée en priorité haute sur l’accueil et les fiches concert, pour améliorer le LCP.
Voir aussi Preconnect Prefetch LCP fetchpriority
Artiste qui se produit avant la tête d’affiche pour ouvrir le concert et chauffer la salle.
Voir aussi Tête d’affiche Programmation
Générer le HTML d’une page à l’avance (au moment du build) plutôt qu’à chaque visite, pour qu’elle soit servie instantanément.
Chez nous Certaines pages et aperçus sont pré-générés ; ça permet notamment de visualiser un rendu sans lancer le back-office.
Outil qui met en forme le code automatiquement (indentation, retours à la ligne, guillemets…) de façon uniforme, pour ne plus jamais débattre du style.
Vente de billets ouverte avant la mise en vente générale, souvent réservée à un public restreint ou annoncée à l’avance ; les billets ne sont pas encore achetables par tous.
Chez nous Un concert en prévente affiche un badge « Prévente · {date} » et peut être isolé par un filtre dédié (?presale=1) ; la date vient de la colonne available_from du flux Fnac.
Voir aussi Mise en vente Sold-out Fnac Spectacles Inventaire
La fourchette de prix (min/max) renvoyée par l’API Ticketmaster.
Chez nous Champ de la RÉPONSE Ticketmaster (Discovery v2) : on en extrait seulement le minimum, qu’on range dans offers.price. Attention, offers.priceRanges N’existe PAS en base — ne pas le chercher ni l’écrire.
Voir aussi Prix « dès X € » Ticketmaster
Champ Schema.org d’une offre indiquant jusqu’à quelle date le prix affiché est garanti. Google le recommande pour les offres produit.
Voir aussi Offer AggregateOffer availability (Schema.org)
Réglage de cache qui réserve une page au navigateur d’un seul utilisateur : un cache partagé (CDN) n’a pas le droit de la stocker. Utile pour du contenu personnalisé.
Voir aussi Directive Cache-Control public (cache) CDN
Le prix minimum affiché sur une fiche : un seul nombre, le tarif le plus bas.
Chez nous Stocké dans offers.price (jamais la fourchette complète). Vient du plus petit prix chez Ticketmaster ou Fnac ; à défaut, un repli va le chercher dans l’Open Data.
Voir aussi priceRanges Offres (offers) Open Data
Piège de performance : pour afficher une liste de N éléments, le code fait une requête pour la liste puis une requête par élément — soit N+1 requêtes au lieu de deux ou trois. Vite ruineux.
Voir aussi Requête lente $lookup Référence
Programme en cours d’exécution, avec sa propre mémoire isolée. Le backend et le frontend tournent chacun dans leur processus.
Chez nous Le service d’import (import-runner) tourne dans un processus séparé du backend, sur Railway.
Voir aussi Thread
Choix entre un import « léger » (rapide, sans les étapes coûteuses) et un import « complet » (plus long, avec dédoublonnage, résumés et enrichissements).
Chez nous Depuis « Option A » (30/06/2026) le cron nocturne fait un COMPLET toutes les nuits. Le mode léger ne sert plus qu’aux runs lancés à la main et aux futurs passages de jour (prix/dispo).
Voir aussi Orchestrateur d’import Cadence d’import --auto-depth
Ensemble des artistes prévus pour un événement (ou pour une salle sur une période), et leur ordre de passage.
Voir aussi Tête d’affiche Première partie Festival
Offre par laquelle un marchand propose aux sites partenaires de promouvoir ses produits contre commission : il en fixe les règles (taux, durée d’attribution, produits éligibles).
Chez nous On rejoint le programme d’un marchand pour obtenir le droit de générer ses liens tracés (ex. programme Fnac Spectacles sur Awin).
Voir aussi Affiliation Annonceur Commission Fenêtre de cookie
Étape d’agrégation MongoDB qui choisit les champs à garder ou à calculer dans le résultat, pour ne renvoyer que l’utile.
Voir aussi Pipeline d’agrégation Projection
Le fait de ne demander à la base que certains champs d’un document, pas tout. On allège ainsi la réponse et le réseau.
Voir aussi Sur-fetch / sous-fetch $project Requête
Objet JavaScript qui représente le résultat futur d’une opération asynchrone (par ex. un appel réseau) : il « promet » de fournir plus tard soit une valeur, soit une erreur.
Voir aussi Async/await Callback Fetch Event loop
Système open source qui collecte et stocke des mesures techniques (métriques) au fil du temps, souvent affichées ensuite dans Grafana.
Société ou personne qui organise et finance un concert ou une tournée : elle réserve la salle, engage l’artiste et prend le risque commercial.
Voir aussi Booking Salle Billetterie
La consigne ou la question qu’on donne à une IA pour obtenir une réponse. Côté GEO, c’est typiquement la question d’un internaute (« quels concerts ce soir à Paris ? ») à laquelle on veut que l’IA réponde en nous citant.
Voir aussi LLM Moteur de réponse Citation IA
Le délai pendant lequel un changement DNS se répand sur Internet : tant que les mémoires-tampons (caches) n’ont pas expiré, certains voient l’ancienne valeur, d’autres la nouvelle.
Voir aussi DNS TTL DNS Résolveur DNS
Format de données binaire et compact conçu par Google, plus léger et rapide à transmettre que le JSON, mais illisible à l’œil nu (il faut un schéma pour le décoder).
Voir aussi JSON Sérialisation
Ensemble de règles communes qui permettent à deux machines de se comprendre en échangeant des messages (par ex. HTTP pour le web, TCP pour le transport fiable).
Petit module de code qui sait aller chercher les concerts chez UNE source précise (un billettiste, un agenda, un flux de données) et les ramène dans un format commun.
Chez nous Chaque source a son fichier dans backend/src/lib/providers/ (ticketmaster.ts, fnac.ts, fever.ts…) : il lit la source, filtre Paris et les dates futures, et ne fait QUE lire (il n’écrit jamais en base).
Voir aussi Source Pipeline d’import Registre des sources
Mot-clé CSS (précédé de « : ») qui vise un élément selon son état ou sa position, comme :hover (survolé à la souris), :focus (sélectionné au clavier) ou :first-child.
Voir aussi Pseudo-élément Spécificité Focus
Mot-clé CSS (précédé de « :: ») qui permet de styler ou d’ajouter une partie « virtuelle » d’un élément, comme ::before, ::after ou la première ligne d’un texte.
Voir aussi Pseudo-classe Spécificité
Réglage de cache qui autorise n’importe quel cache, y compris un CDN partagé, à stocker et resservir une page à plusieurs visiteurs.
Voir aussi Directive Cache-Control private (cache) CDN
Récupérer les nouveautés du dépôt distant ET les fusionner d’un coup dans son travail. C’est un fetch suivi d’une fusion.
Bibliothèque qui pilote un navigateur Chrome sans interface, pour automatiser des pages web ou faire des captures.
Voir aussi Playwright Chrome
Vider le cache pour forcer le service à re-servir la toute dernière version d’une page au lieu d’une copie périmée.
Chez nous Après un déploiement ou un import, on purge le cache Cloudflare — sinon les visiteurs voient encore l’ancienne version pendant des heures.
Voir aussi Cache Cloudflare Warm Déploiement
Envoyer ses commits (ses changements enregistrés) vers le dépôt distant pour les partager avec les autres.
Chez nous Le push se fait en HTTPS via l’aide d’identifiants de gh (le SSH est bloqué).
Voir aussi Commit Pull Remote PR (Pull Request)
Site web qui se comporte comme une appli : installable sur l’écran d’accueil, capable de fonctionner hors-ligne et de s’afficher en plein écran, grâce à un manifest et un service worker.
Chez nous concerts.paris est configuré en PWA (manifest + icônes + service worker) : il peut s’ajouter à l’écran d’accueil et s’ouvrir comme une application.
Voir aussi Manifest Service worker Offline matchMedia
L’identifiant unique d’une entité dans Wikidata (par ex. Q810700 pour le Bataclan), qui permet d’aller chercher photo, capacité et description fiables.
Chez nous Le rapprochement peut se tromper (le Bataclan un temps associé à un homme politique chilien Q2887860). Le résolveur GARDE tout QID trouvé même faux (pas d’auto-correction) ; on corrige à la main puis on relance. Un audit repère les QID qui pointent vers une personne.
Voir aussi Wikidata Homonyme d’affiche Enrichissement salles
Note de qualité (de 1 à 10) attribuée par Google Ads à un mot-clé selon la pertinence de l’annonce, le taux de clic attendu et la page d’arrivée. Un bon score fait payer le clic moins cher et mieux placer l’annonce.
Voir aussi Ad rank Enchère Landing page Google Ads
La partie d’une URL après le « ? » qui transporte des paramètres (filtres, tri, page). Exemple : `?genre=jazz&page=2`.
Chez nous Les filtres de l’accueil et des pages d’intention (ex. `?presale=1`) passent par la query string, ce qui rend une recherche partageable par simple lien.
Voir aussi Pages d’intention Endpoint
Élément Schema.org représentant une question à l’intérieur d’une FAQ balisée.
Chez nous Compose nos blocs FAQPage sur les fiches et pages d’intention.
Voir aussi FAQPage Answer (Schema.org)
Protocole de transport rapide (au-dessus d’UDP) sur lequel repose HTTP/3 : il réduit les allers-retours d’ouverture de connexion et gère mieux les pertes de paquets.
Voir aussi HTTP/3
Mise à jour fréquente de la seule disponibilité des concerts Fnac, sans relancer tout l’import.
Chez nous Service dédié fnac-availability-refresh, 4×/jour. Il ne touche QUE la disponibilité (pas l’affiche ni la description), n’écrit que les fiches changées, puis purge le cache de façon ciblée. Ré-apparie par l’identifiant du programme dans le lien, pas par le slug.
Voir aussi Disponibilité (availability) in_stock Purge de cache Fnac Spectacles
Retrieval Augmented Generation : technique où une IA va d’abord chercher des documents à jour (sur le web, dans une base) puis rédige sa réponse à partir d’eux. Ça ancre la réponse dans des sources réelles au lieu de la seule mémoire du modèle.
Chez nous Le mécanisme par lequel un assistant peut aller lire notre feed ou nos fiches en direct pour répondre — d’où l’intérêt d’un contenu propre et structuré.
Plateforme qui héberge et met en ligne des applications à partir du code, sans gérer soi-même les serveurs.
Chez nous Notre hébergeur de production : le back-office, le site, le cockpit et le service d’import y tournent, chacun comme un « service ». Une livraison sur la branche principale se déploie automatiquement.
Voir aussi Déploiement Docker Cron
Sur Railway, un « service » est une brique qui tourne en continu (un site, une API, un worker) avec sa propre commande de démarrage et ses variables.
Chez nous La prod est faite de plusieurs services Railway : le backend (api.concerts.paris), le frontend (concerts.paris), et « import-runner » qui exécute l’import du catalogue.
Voir aussi Railway import-runner Cron Healthcheck
Réseau d’affiliation international du groupe Rakuten (anciennement LinkShare).
Voir aussi Awin Impact CJ Affiliate Affiliation Partnerize
Mécanisme automatique (en JavaScript notamment) qui libère la mémoire des données dont le programme ne se sert plus, sans intervention du développeur.
Voir aussi Fuite mémoire Mémoire
L’ordre dans lequel les concerts sont affichés : un classement calculé pour montrer d’abord le plus pertinent.
Chez nous Sur l’accueil, mélange popularité + réputation de la salle + proximité de la date, avec une légère rotation quotidienne et des emplacements réservés aux concerts partenaires.
Voir aussi Popularité Coup de cœur Tier
La partie du bilan qui surveille la santé des sources et crie si l’une semble « morte ».
Chez nous cron-report surveille un jeu de sources (SCRAPE_SOURCES : Open Data, InfoConcert, Resident Advisor, Ticketmaster). Une source est jugée « morte » seulement si aucun concat vérifié récemment sur une fenêtre glissante — pour éviter les fausses alertes d’un simple run sauté.
Voir aussi Bilan d’import Scraping mort (faux positif) Fenêtre glissante
Limite du nombre de requêtes autorisées sur une période, pour éviter les abus et protéger un service de la surcharge.
Chez nous À mettre en place pour sécuriser l’API publique en production (avec le contrôle CORS).
Proportion largeur/hauteur d’un élément (par ex. 4/5 ou 16/9). Réserver ce ratio à l’avance évite que la page saute quand une image finit de charger.
Chez nous Les affiches concert et les cases du calendrier des salles fixent un aspect-ratio, ce qui stabilise la mise en page et limite les décalages (bon pour le CLS).
Voir aussi Image responsive CLS Décalage de mise en page
Gestion des droits par rôles : on attribue des permissions à des rôles (admin, éditeur, lecteur…), puis un rôle à chaque utilisateur — plutôt que de régler les droits un par un.
Voir aussi Autorisation Authentification
Autre méthode pour glisser des données structurées à l’intérieur du HTML visible, via des attributs. Comme les microdonnées, elle est concurrencée par le JSON-LD, plus simple à maintenir.
Voir aussi Microdonnées JSON-LD Données structurées
Bibliothèque JavaScript très répandue pour construire des interfaces web à base de « composants » réutilisables.
Chez nous Le back-office Payload est bâti avec React (Next.js) ; le site public, lui, est en Astro et embarque peu de JavaScript.
Voir aussi Next.js Payload CMS Astro Hydratation
Contrôle « tout ou rien » qui dit si une fiche est prête (aucun défaut) ou a besoin de travail (au moins un défaut).
Chez nous computeEventReadiness : liste des soucis (résumé trop court, pas d’affiche, pas de billetterie, salle non reliée, concert passé non archivé…). Plus strict que le score : un seul défaut = « à retravailler ». Un garde-fou bloque le passage en publié quand ce n’est pas prêt.
Voir aussi Score de qualité Porte qualité
Rejouer ses commits par-dessus une version plus récente d’une autre branche, comme si on avait travaillé à partir de là : l’historique reste linéaire, plus propre qu’une fusion.
Voir aussi Merge Fast-forward Squash Conflit de fusion
L’e-mail quotidien du soir qui résume l’activité du projet (indicateurs, vitesse du site, livraisons).
Chez nous daily-digest, envoyé à Arthur et Philippe. Distinct du bilan d’import (qui, lui, part après l’import nocturne). Inclut aussi les Core Web Vitals mesurés via Cloudflare.
Voir aussi Bilan d’import Core Web Vitals Resend
Après une purge, re-visiter soi-même les pages clés pour les remettre en cache d’avance, afin que le premier vrai visiteur ait une page déjà rapide.
Chez nous purgeAndWarm à la fin de l’import : purge globale Cloudflare puis re-fetch de l’accueil, d’un genre/hub/fiche et des listes. La longue traîne est réchauffée via l’index de recherche.
Voir aussi Warm Purge de cache Orchestrateur d’import Longue traîne
Recherche tolérante qui retrouve un résultat malgré des différences mineures — faute de frappe, accent manquant, variante d’orthographe.
Chez nous Utile pour rapprocher deux fiches d’un même concert écrites différemment selon les sources (dédoublonnage).
Voir aussi Recherche plein-texte Dédoublonnage
Recherche qui fouille le contenu textuel (titres, descriptions) pour trouver les mots demandés, plutôt que de filtrer sur des champs exacts.
Voir aussi Recherche floue Index
Publicité qui vise à nouveau des internautes ayant déjà visité un site, pour les faire revenir et convertir. C’est l’annonce qui « vous suit » après une visite.
Voir aussi Audience Conversion Cookie First-party data
Mise en avant automatique de contenus ou produits susceptibles d’intéresser un visiteur, d’après sa navigation ou la popularité générale, pour l’aider à découvrir et prolonger sa visite.
Chez nous L’accueil met en avant les concerts par un classement mêlant popularité, salle et proximité de la date, avec une légère rotation quotidienne.
Voir aussi Ranking Popularité Cross-selling
Part des concerts d’une source qui existent DÉJÀ, via d’autres sources — le « déjà connu » plutôt que du nouveau.
Chez nous Mesuré à ~70 % chez Fnac. Conséquence : lancer une source seule ne rattrape pas ses recouvrements ; il faut la lancer avec ses jumelles (Open Data, Ticketmaster…) pour que les fiches existantes soient absorbées.
Voir aussi Net-new SEED_ONLY Fusion inter-sources
Technique où une fonction s’appelle elle-même pour résoudre un problème en le réduisant à un cas plus petit, jusqu’à un cas d’arrêt.
Voir aussi Fonction pure Mémoïsation
Une redirection envoie le visiteur d’une adresse vers une autre. 301 = permanent (l’ancienne adresse a définitivement déménagé), 302 = temporaire.
Chez nous On utilise des 301 pour fusionner des fiches en double vers l’adresse de référence (bon pour le référencement).
Voir aussi Canonical Dédoublonnage SEO
Réécrire du code pour le rendre plus clair, plus simple ou mieux organisé SANS changer ce qu’il fait de l’extérieur. But : réduire la dette technique.
Voir aussi Test d’intégration
Plutôt que d’imbriquer les données, on les stocke à part et on garde seulement un lien (l’identifiant) vers elles. Plus souple pour les infos partagées, mais il faut une lecture supplémentaire pour les récupérer.
Chez nous Un concert référence ses salles et artistes (les « hubs ») par lien, ce qui permet à une même salle d’être partagée par tous ses concerts.
Voir aussi Imbrication Relation Clé étrangère $lookup Hub & Spoke
L’adresse de la page d’où vient un visiteur, transmise par le navigateur au chargement. C’est ce qui permet de savoir qu’un clic est arrivé « depuis tel site ».
Voir aussi Trafic référent UTM
Recalcul par le navigateur de la position et de la taille des éléments quand quelque chose change la mise en page (contenu, dimensions, police). C’est coûteux et peut ralentir l’affichage s’il se répète trop.
Expression régulière : une mini-formule qui décrit un motif de texte, pour chercher, valider ou extraire (ex. « repérer une date »).
Chez nous Utilisée dans le nettoyage et le classement des données importées.
Voir aussi Matching
Société auprès de laquelle on achète et renouvelle un nom de domaine (le « guichet » officiel du domaine).
Voir aussi DNS Domaine racine
Entrepôt où l’on range et récupère des images de conteneurs, un peu comme une bibliothèque de modèles d’applications prêtes à déployer.
Voir aussi Image de conteneur Docker
Table unique qui liste toutes les sources d’événements avec, pour chacune, son identifiant, si elle est allumée par défaut, son interrupteur, son palier et ses domaines web.
Chez nous C’est AGENDA_SOURCES (sourceRegistry.ts) : le point de vérité unique. Ajouter une source = ajouter une fiche ici. La décision « cette source tourne-t-elle ? » s’y calcule de façon identique pour toutes.
Voir aussi Provider (source) decideSource SEED_ENABLE
La condition exacte pour décider que deux fiches parlent du même concert : même jour ET même salle ET (artiste commun OU titre proche).
Chez nous C’est isAgendaMatch. La salle est OBLIGATOIRE : deux concerts au même créneau ne sont « le même » que s’ils sont au même endroit. Vérifié sur 400 fiches : c’est la seule règle qui donne 0 faux positif.
Voir aussi Fusion inter-sources Matching Faux doublon Mots génériques (match)
Versement effectif des commissions validées, généralement à date fixe et à partir d’un seuil minimum. C’est le moment où l’argent gagné est réellement payé à l’éditeur.
Voir aussi Commission Validation de vente Affiliation
Bug qui réapparaît ou casse quelque chose qui marchait avant, souvent introduit sans faire exprès par un nouveau changement.
Chez nous Les tests de la CI servent justement de filet anti-régression ; une PR non couverte par la CI (0 check) = « personne ne t’a validé », à contrôler en local.
Voir aussi Bisect Test d’intégration CI/CD
Rassembler toutes les dates d’un même spectacle ou artiste sous une seule fiche « tournée », quelle que soit la source.
Chez nous groupSourceEventsIntoTours : une clé déterministe donne un slug tour-{artiste} (ou serie-{titre}). Ça rattrape une fusion ratée quand deux sources donnent des salles de noms différents mais aboutissent au même slug.
Voir aussi Slug tour-{artiste} Fusion inter-sources Fiche Frankenstein
Lien entre deux ensembles de données (par exemple entre un concert et sa salle). Selon les cas : un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs.
Chez nous Le modèle « Hub & Spoke » relie chaque concert à ses salles, artistes et lieux via des champs de relation Payload.
Voir aussi Référence Clé étrangère Hub & Spoke Normalisation
Dépôt distant (généralement sur un serveur comme GitHub) auquel on est relié pour échanger du code. Le remote principal s’appelle par convention « origin ».
Plateforme d’hébergement « clé en main » (sites, services, bases de données, tâches planifiées) concurrente de Railway et Heroku.
Voir aussi Railway Déploiement
Page dont le contenu est construit dans le navigateur du visiteur par du JavaScript, après réception d’un HTML quasi vide. Opposé au rendu côté serveur.
Voir aussi SSR SPA Hydratation
Redessin par le navigateur de l’apparence d’un élément (couleur, ombre…) sans changer sa position ni sa taille. Moins coûteux qu’un reflow, mais toujours à limiter.
Dispositif qui distribue les visiteurs entre plusieurs serveurs identiques, pour qu’aucun ne soit saturé et que le service reste rapide et disponible.
Voir aussi Reverse proxy Origine
Groupe de serveurs MongoDB qui détiennent la même copie des données : si le serveur principal tombe, un autre prend le relais automatiquement. C’est ce qui assure la haute disponibilité.
Voir aussi MongoDB Atlas Sharding Cohérence à terme
Note de confiance qu’attribuent les messageries (Gmail, Outlook) à un expéditeur d’après son historique d’envois : une bonne réputation fait arriver les mails en boîte de réception, une mauvaise les envoie en spam.
Voir aussi Délivrabilité Plainte spam Bounce Warm-up d’IP
Fonction du navigateur qui programme un bout de code juste avant le prochain rafraîchissement de l’écran : c’est la bonne façon de faire des animations fluides en JavaScript.
Chez nous Utilisé pour lancer proprement les animations d’ouverture (volet carte, pop-up newsletter) au bon moment de rendu.
Voir aussi requestIdleCallback Transition Jank
Fonction du navigateur qui reporte un traitement peu urgent aux moments où il n’a rien de mieux à faire, pour ne pas voler du temps aux tâches prioritaires (affichage, réactions au clic).
Chez nous Sert à différer des initialisations non essentielles (scripts de mesure, préparation de l’en-tête) pour ne pas ralentir l’affichage utile.
Voir aussi requestAnimationFrame TBT Event loop
Demande adressée à une base de données pour lire ou modifier des informations selon des critères (par exemple : « tous les concerts de jazz à venir »).
Voir aussi $match Projection Index Requête lente
La formulation exacte tapée par un internaute dans un moteur. Search Console montre sur quelles requêtes réelles un site apparaît.
Chez nous Lues dans Google Search Console (GA4 ne les donne jamais) pour décider quels titres réécrire et quels contenus pousser.
Voir aussi Mot-clé Google Search Console Impression (SEO) CTR
En GraphQL, la demande de lecture : le client décrit précisément les champs qu’il veut, et n’obtient que ceux-là.
Voir aussi GraphQL Mutation GraphQL Résolveur GraphQL
Requête qui met trop de temps, souvent parce qu’elle balaie toute la collection faute d’index adapté. On la corrige en ajoutant un index ou en la reformulant.
Chez nous Un audit perf a justement ajouté des index composés sur les concerts pour éviter ce genre de balayage sur les listes du site.
Voir aussi Index Index composé Problème N+1 Requête
Plateforme intermédiaire qui met en relation des sites qui recommandent des produits (les éditeurs) et des marchands qui les vendent (les annonceurs) : elle fournit les liens tracés, compte les ventes apportées et gère les paiements de commission.
Chez nous concerts.paris passe par deux réseaux : Awin (pour la Fnac Spectacles) et Impact (pour Fever).
Voir aussi Affiliation Awin Impact Éditeur Annonceur
Service d’envoi d’e-mails automatiques (transactionnels) depuis une application.
Chez nous C’est Resend qui envoie nos e-mails du projet : le récap du soir, les bilans d’import. (Les brouillons pour Philippe, eux, se font dans Gmail.)
Série de dates d’un même artiste dans une seule et même salle, sur une période donnée, plutôt que de tourner de ville en ville.
Voir aussi Tournée Salle Programmation
Média et billetterie de référence pour la musique électronique et la culture club.
Chez nous Source pour les événements électro/club, récupérés via son API GraphQL publique (POST ra.co/graphql).
Voir aussi GraphQL Source Ticketmaster
Serveur qui traduit un nom de domaine en adresse de serveur pour le visiteur. C’est l’intermédiaire qui « cherche dans l’annuaire » à la place du navigateur.
Voir aussi DNS Propagation DNS
Petite fonction côté serveur qui sait aller chercher la valeur d’un champ demandé dans une requête GraphQL (par exemple : d’où vient le nom d’un artiste).
Voir aussi GraphQL Schéma Requête GraphQL
Se dit d’un site dont la mise en page s’adapte automatiquement à la taille de l’écran (mobile, tablette, ordinateur) pour rester lisible et utilisable partout.
Chez nous L’accueil est responsive : l’en-tête mobile se réorganise sur deux lignes et la grille de cartes s’ajuste au nombre de colonnes.
Voir aussi Point de rupture Mobile-first Viewport
Style d’API très répandu : on accède à des données via des adresses (URL) et des verbes web (lire, créer, modifier, supprimer).
Chez nous Le back-office Payload expose une API REST (ex. /api/events). En production, elle est protégée derrière Cloudflare.
Voir aussi API GraphQL Endpoint Payload CMS
Une phrase courte et factuelle placée en tête de fiche, qui répond d’emblée « qui / quoi / où / quand » (approche « la réponse d’abord »).
Chez nous Champ fact_summary (obligatoire, ~250 caractères). Généré par IA (Gemini) ou par gabarit. On rejette les résumés truffés de faits volatils (dates, prix, nombre de places) pour éviter qu’ils périment.
Voir aussi enrich:fact-summaries GEO JSON-LD
Capacité d’une nouvelle version à continuer de fonctionner avec ce qui existait avant (anciens appels, anciennes données), sans rien casser.
Annulation d’une commission déjà comptée quand la vente correspondante tombe (billet annulé, remboursé, fraude) : le montant est retiré du solde de l’éditeur.
Voir aussi Validation de vente Commission Règlement
Vérification, par le cache, qu’une copie gardée est toujours à jour auprès de l’origine — et rafraîchissement si besoin, sinon on prolonge la copie existante.
Voir aussi Cache STALE Directive Cache-Control État de cache
Serveur placé devant d’autres serveurs : il reçoit les requêtes des visiteurs et les relaie au bon service interne, en ajoutant au passage cache, sécurité ou répartition de charge.
Chez nous Cloudflare joue ce rôle devant concerts.paris : c’est lui que le visiteur atteint d’abord, avant l’origine Railway.
Voir aussi Cloudflare CDN WAF Origine Répartiteur de charge
Annuler un commit en en créant un nouveau qui fait l’inverse, sans réécrire l’historique — la trace du changement reste, mais son effet est défait.
Voir aussi Rollback Commit Cherry-pick
Règlement européen sur la protection des données personnelles. Il encadre ce qu’on a le droit de collecter sur les gens et comment.
Chez nous On a choisi une mesure d’audience anonyme et sans cookie, précisément pour rester simple et conforme au RGPD.
Voir aussi Cookieless A/B test
Résultat de recherche « enrichi » : au lieu d’un simple lien bleu, Google affiche des extras (prix, date, note, image, questions) tirés des données structurées de la page. Ça attire l’œil et le clic.
Chez nous L’objectif SEO n°1 de notre JSON-LD : faire ressortir date, lieu et prix d’un concert dans les résultats Google pour gagner des clics.
Voir aussi JSON-LD Rich Results Test Featured snippet CTR
Outil gratuit de Google qui prend l’adresse d’une page et dit si ses données structurées sont valides et quels résultats enrichis elles peuvent produire.
Chez nous La validation humaine finale de notre JSON-LD : après un correctif, on passe l’URL de prod au Rich Results Test.
Voir aussi Rich result JSON-LD Données structurées
Champ de texte enrichi qui permet la mise en forme (gras, listes, liens, titres) au lieu de texte brut. Le CMS l’enregistre dans un format structuré, pas en HTML directement.
Voir aussi Payload CMS HTML Markdown
Retour sur les dépenses publicitaires : chiffre d’affaires généré pour chaque euro dépensé en publicité (un ROAS de 4 = 4 € de ventes par euro investi). Mesure si une campagne rapporte plus qu’elle ne coûte.
Voir aussi ROI CPC Google Ads Conversion
Fichier à la racine d’un site qui indique aux robots ce qu’ils peuvent ou non explorer. Une consigne, pas une serrure : les robots honnêtes la respectent.
Chez nous Sert à écarter les robots de nos pages techniques (ex. les liens de redirection billetterie) sans gêner l’indexation des fiches.
Retour sur investissement : gain net d’une dépense rapporté à son coût, exprimé en pourcentage. Dit si une action (pub, développement) a été rentable.
Voir aussi ROAS Conversion
Attribut ARIA (role="…") qui annonce la nature d’un élément aux technologies d’assistance (bouton, onglet, boîte de dialogue…), surtout quand la balise utilisée ne le dit pas d’elle-même.
Voir aussi ARIA Balise sémantique Lecteur d’écran
Revenir en arrière : remettre en ligne la version précédente quand un déploiement pose problème.
Chez nous Filet de sécurité : si une livraison casse quelque chose, on peut vite revenir à l’état d’avant.
Voir aussi Déploiement Railway
Outil qui rassemble de nombreux fichiers JavaScript en un ou quelques fichiers optimisés pour la production.
Le calcul qui déduit la disponibilité globale d’un concert à partir de l’état de chacune de ses séances.
Chez nous « Complet » uniquement si TOUTES les séances futures sont complètes ; « prévente » si toutes sont en prévente ; sinon « en vente ». Appliqué autant à l’import complet qu’à la mise à jour incrémentale.
Voir aussi Disponibilité (availability) Séance (occurrence)
Remplacement régulier d’un mot de passe, d’une clé ou d’un jeton par un nouveau, pour réduire le risque si l’ancien a fuité ou traîné trop longtemps.
Chez nous Les secrets de concerts.paris vivent dans le coffre Infisical, qui centralise leur stockage et facilite leur rotation.
Voir aussi Infisical Token Moindre privilège Variable d’environnement
Léger brassage du classement chaque jour, pour que l’accueil ne montre pas toujours exactement le même ordre.
Chez nous Une variation aléatoire de ±3 % (JITTER_AMPLITUDE = 0,03) est appliquée aux scores. Trop élevée, elle déstabiliserait les positions ; 3 % est le bon compromis trouvé.
Voir aussi Ranking Popularité
Façon d’appeler une fonction qui s’exécute sur une autre machine comme si elle était locale : le réseau et l’échange de messages sont masqués au développeur.
Voir aussi gRPC API Microservices
Format standard (basé sur XML) pour publier un flux d’actualités ou de nouveautés qu’un lecteur peut suivre automatiquement.
Real User Monitoring : mesurer la vitesse et la qualité d’un site à partir des VRAIS navigateurs des visiteurs, et non d’un test de labo.
Chez nous On utilise le RUM de Cloudflare pour suivre les Core Web Vitals réellement vécus, page par page, dans le récap du soir.
Voir aussi Core Web Vitals p75 Cloudflare
Deux sens : le « moment de l’exécution » d’un programme (par opposition à sa compilation) ; ou l’environnement qui fait tourner le code (par ex. Node.js pour JavaScript côté serveur).
Voir aussi Node.js Compilateur
Réglage de cache qui fixe combien de temps (en secondes) un cache partagé, comme un CDN, peut garder une page avant de la rafraîchir. Il ne concerne pas le cache du navigateur.
Chez nous C’est le levier de durée du cache Cloudflare pour concerts.paris : par exemple 60 s pour l’accueil, plusieurs heures pour une fiche concert.
Voir aussi Directive Cache-Control max-age Edge cache CDN
Service de stockage de fichiers d’Amazon (Simple Storage Service) ; son mode d’accès est devenu un standard que d’autres stockages imitent.
Chez nous Notre stockage d’images (Cloudflare R2) est « compatible S3 » : on le pilote avec les mêmes réglages et le même SDK que du S3 Amazon.
Voir aussi Cloudflare R2 @payloadcms/storage-s3 AWS
Logiciel en tant que service : application utilisée directement en ligne par abonnement, sans rien installer ni gérer soi-même (par ex. Gmail, Notion).
Variations régulières et prévisibles selon le moment (heure, jour de la semaine, saison) : par ex. plus de visites le week-end. À prendre en compte pour ne pas confondre un effet calendaire avec un vrai changement.
Ajout d’une valeur aléatoire à un mot de passe avant de le hacher, pour que deux mots de passe identiques donnent des empreintes différentes et résistent mieux aux attaques.
Voir aussi Hachage Chiffrement
Lieu où se tient un concert (Bataclan, Zénith, Olympia…). Chez nous, une salle est une entité à part entière, avec sa page et son agenda.
Chez nous Chaque salle est un hub « venue », enrichi via Wikidata (photo, capacité) et doté d’un calendrier de ses concerts.
Voir aussi Hub Jauge Programmation
Salle « bouche-trou » créée quand l’Open Data ne fournit pas de nom de lieu : la fiche retombe sur « Paris ».
Chez nous Hub salle-paris. Corrigé à l’import et par rattrapage ; il reste ~11 cas légitimes. Ce placeholder ne doit jamais être enrichi comme une vraie salle.
Voir aussi Enrichissement salles Enrichissement
Champ Schema.org qui relie une entité (salle, artiste) à ses fiches de référence ailleurs sur le web (Wikidata, MusicBrainz, Spotify, site officiel). Ça aide moteurs et IA à être sûrs de « de qui on parle ».
Chez nous On agrège ces liens (Wikidata, MusicBrainz, Spotify…) pour lever l’ambiguïté sur les artistes et salles ; on ne l’émet que s’il est non vide.
Voir aussi Wikidata MusicGroup Knowledge panel Entité (SEO)
Nettoyage des données fournies par un utilisateur avant de les afficher ou de les stocker, pour retirer ou neutraliser tout ce qui pourrait être exécuté comme du code.
CMS « headless » hébergé avec un éditeur très personnalisable et une base de contenu interrogeable en temps réel.
Voir aussi Payload CMS Headless CMS Contentful
Copie de sécurité des données, conservée à part, pour pouvoir tout restaurer en cas de panne, d’erreur ou de suppression accidentelle.
Voir aussi PITR
Suite d’e-mails envoyés automatiquement, échelonnés dans le temps ou déclenchés par une action (mail de bienvenue, relance), pour accompagner un abonné sans envoi manuel.
Voir aussi Newsletter Segmentation de liste E-mail transactionnel
La forme attendue des données : quels champs existent, de quel type, obligatoires ou non. Sert de « moule » que doivent respecter les documents ou les réponses d’API.
Chez nous Chaque collection Payload définit un schéma que ses documents doivent suivre avant d’être enregistrés.
Voir aussi Validation de schéma Champ Contrat d’API OpenAPI
Vocabulaire commun, adopté par Google, Bing et les IA, pour décrire le sens d’une page : « ceci est un concert », « ceci est une salle », « voici le prix ». On l’insère sous forme de données structurées (souvent en JSON-LD).
Chez nous C’est le vocabulaire de tout notre balisage : chaque fiche concert est décrite comme un « MusicEvent » Schema.org, chaque salle comme un lieu, etc.
Voir aussi JSON-LD Données structurées MusicEvent GEO
Une note sur 100 attribuée à chaque fiche selon ce qu’elle contient (résumé, description, photo, dates+salle, artistes, billetterie).
Chez nous computeEventQualityScore : résumé (+25), description longue (+20), affiche (+15), dates+salle valides (+10), artistes liés (+8), billetterie (+7), et −5 si le slug est invalide. Sert à décider si une nouvelle fiche est publiée ou mise en relecture.
Voir aussi Porte qualité Seuil de publication Readiness
Récupérer des données en lisant automatiquement les pages web d’un site, quand il n’offre pas d’interface machine propre.
Chez nous Utilisé pour certaines sources (Agenda Informe). Fragile par nature (une page qui change casse l’extraction) → d’où le garde-fou 0-résultat et l’étude de faisabilité (légalité, mur anti-bot).
Voir aussi Garde-fou 0-résultat Mur anti-bot Faisabilité de source
Une fausse alerte « source en panne » alors que la source va très bien.
Chez nous Deux causes classiques : (1) interroger Ticketmaster par le mot-clé « music » (≈ 0 résultat) au lieu du segment « Music » ; (2) le télescopage du mardi (un run léger arrive derrière un run complet et voit la source déjà rafraîchie 2 h avant).
Voir aussi Rapport de scraping Fenêtre glissante Ticketmaster
Attribut (defer ou async) qui empêche un script de bloquer l’affichage : defer l’exécute après le HTML dans l’ordre, async dès qu’il est prêt sans ordre garanti.
Voir aussi Blocage du rendu FCP TBT
Search Engine Advertising : la publicité PAYANTE sur les moteurs de recherche (les liens sponsorisés en haut des résultats). À distinguer du SEO, qui est gratuit.
Chez nous Utilisé de façon chirurgicale via Google Ads, là où le retour est bon (ex. Paradis Latin).
Voir aussi SEO Google Ads
Une représentation datée d’un concert : une même fiche peut regrouper plusieurs séances (plusieurs soirs).
Chez nous Certaines sources (Fever, Fnac) donnent un « produit » qui contient N séances, éclatées en occurrences. La disponibilité et le prix se calculent séance par séance, puis se résument au niveau de la fiche.
Voir aussi rollupAvailability Disponibilité (availability)
Élément Schema.org qui déclare qu’un site possède sa propre recherche, en indiquant l’adresse à appeler pour lancer une requête. Peut permettre à Google d’afficher une case de recherche du site.
Chez nous Déclarée dans le bloc WebSite de l’accueil, pour signaler notre recherche interne aux moteurs.
Voir aussi WebSite (Schema.org) EntryPoint
Valeur sensible qu’un programme utilise mais qui ne doit jamais être publique ni versionnée dans le code : mot de passe, clé d’API, chaîne de connexion à une base.
Chez nous Tous les secrets de concerts.paris (Atlas, Cloudflare, Resend, clés sources…) vivent dans le coffre Infisical ; le fichier .env local n’est qu’une copie régénérée.
Voir aussi Infisical Variable d’environnement Rotation de secret Token
Billettiste international (anciennement Digitick en France) qui distribue des billets de concerts et spectacles.
Voir aussi Billetterie Fnac Spectacles Ticketmaster
Amorcer / (re)peupler la base de données à partir des sources. Le mot vient de « semer » (seed = graine).
Chez nous Notre import s’appuie sur des scripts « seed » : ils vont chercher les concerts chez les sources et remplissent le catalogue.
Interrupteur (variable d’environnement) qui allume ou éteint une source précise pour l’import.
Chez nous Un par source (SEED_ENABLE_FEVER, SEED_ENABLE_FNAC…). Posé à ’true’ il l’allume, à ’false’ il l’éteint, absent il retombe sur le défaut de la fiche. Sans lui posé sur import-runner, une source optionnelle reste absente la nuit.
Voir aussi SEED_ONLY decideSource Feature flag Registre des sources
Réglage qui force un import à démarrer même si un verrou est déjà posé.
Chez nous À n’utiliser QUE si on est sûr qu’aucun autre import ne tourne (par ex. un run tué a laissé un vieux verrou) — sinon on crée la course entre deux écritures que le verrou est censé empêcher.
Voir aussi Verrou d’import Seed
Réglage qui restreint l’import à UNE ou quelques sources nommées, en ignorant toutes les autres.
Chez nous Ex. SEED_ONLY=fever ne lance que Fever. Piège : pour corriger des fiches déjà fusionnées, il faut lancer la source AVEC ses jumelles (SEED_ONLY=fever,opendata), sinon les recouvrements ne sont pas rattrapés.
Voir aussi SEED_ENABLE decideSource Recouvrement
Découpage d’une liste d’abonnés en sous-groupes selon leurs centres d’intérêt ou leur comportement, pour leur envoyer un message plus pertinent plutôt qu’un même mail à tous.
Voir aussi Newsletter Audience Scénario Taux de clic
Manière standard de numéroter les versions en trois chiffres MAJEUR.MINEUR.CORRECTIF (ex. 2.4.1) : on incrémente selon qu’un changement casse la compatibilité, ajoute une fonctionnalité, ou corrige un bug.
Technique du navigateur pour envoyer une petite mesure « en un coup », sans attendre de réponse et sans ralentir la page — même au moment où le visiteur s’en va.
Chez nous Sert à remonter les mesures d’usage anonymes (quels filtres sont utilisés, durée de visite…) sans gêner l’expérience.
Voir aussi Cookieless RUM
Grande plateforme d’envoi d’e-mails (transactionnels et marketing) à grande échelle.
Service qui collecte automatiquement les erreurs d’une application (site, API) et prévient l’équipe avec le détail pour les corriger.
Voir aussi Uptime Healthcheck Grafana
Search Engine Optimization : l’ensemble des techniques pour apparaître le plus haut possible dans les résultats NATURELS (gratuits) des moteurs de recherche.
Chez nous Complémentaire du GEO (référencement IA). Suivi via Google Search Console.
Voir aussi GEO SEA Google Search Console Sitemap JSON-LD
Transformer une donnée vivante dans le programme (un objet en mémoire) en une suite de caractères ou d’octets transmissible ou stockable — souvent du JSON.
Voir aussi Désérialisation JSON Base64 Content-Type
La page de résultats d’un moteur de recherche (Search Engine Results Page) : la liste de liens, encarts et extras affichés après une requête.
Chez nous Là où l’on veut faire ressortir nos fiches, si possible en résultat enrichi (date, prix) pour capter le clic.
Voir aussi Featured snippet Rich result CTR Position moyenne
Modèle où l’on déploie du code sans gérer soi-même de serveur : le fournisseur l’exécute et l’adapte à la demande, on ne paie qu’à l’usage. « Sans serveur » ne veut pas dire « sans machine », juste qu’on ne s’en occupe pas.
Voir aussi Worker Autoscaling Conteneur
Petit script qui tourne en arrière-plan dans le navigateur, séparé de la page : il peut intercepter les requêtes réseau, mettre en cache des ressources et faire marcher un site hors-ligne. Socle des PWA.
Chez nous Le site enregistre un service worker (sur HTTPS), brique qui permet une expérience de type application installable.
Une visite : l’ensemble des actions d’un même visiteur sur une période continue. La session se termine après un moment d’inactivité.
Chez nous On mesure aussi une « durée de session » maison, de manière anonyme et sans cookie, dans le cockpit « Comportement ».
Voir aussi Page vue Visiteur unique Taux de rebond Cookieless
Comme localStorage, mais l’information ne survit que le temps de l’onglet : elle s’efface dès qu’on ferme l’onglet ou la fenêtre.
Chez nous Porte l’identifiant de session anonyme utilisé par la mesure d’usage (sans cookie), ce qui permet de suivre une visite d’une page à l’autre puis de l’oublier à la fermeture.
Voir aussi localStorage Cookieless RGPD
Liste des morceaux qu’un artiste joue (ou prévoit de jouer) pendant un concert, dans l’ordre.
Voir aussi Tournée Tête d’affiche
La note minimale qu’une NOUVELLE fiche doit atteindre pour être publiée directement plutôt que mise en relecture.
Chez nous Fixé à 50/100 (QUALITY_PUBLISH_THRESHOLD). En dessous, la fiche part en relecture. Une même valeur est hélas recopiée dans plusieurs fichiers (dette : elle peut dériver).
Voir aussi Score de qualité Porte qualité pending_review
Arbre HTML « privé » attaché à un élément, dont le style et la structure sont isolés du reste de la page : ce qui est dedans ne déborde pas dehors, et inversement.
Voir aussi Web Component DOM
Technique qui répartit une très grosse base sur plusieurs serveurs, chacun ne détenant qu’une part des données, pour dépasser les limites d’une seule machine. Utile à très grande échelle seulement.
Voir aussi Replica set MongoDB Atlas
Bibliothèque très rapide de traitement d’images (redimensionner, recompresser, changer de format).
Chez nous Elle produit les variantes d’images légères des affiches et photos — versions WebP et AVIF plus une vignette — pour un chargement rapide.
Voir aussi Cloudflare R2 LCP
Billetterie et plateforme de découverte d’événements musicaux, très présente sur la scène électro/club.
Voir aussi Dice Resident Advisor Billetterie
Se dit d’un résultat suffisamment marqué pour qu’on puisse écarter le simple hasard comme explication (au seuil qu’on s’est fixé, en général 5 %).
Voir aussi p-value A/B test Taille d’échantillon
Patron de conception garantissant qu’un objet n’existe qu’en un seul exemplaire dans toute l’application, partagé partout (par ex. une unique connexion à la base).
Voir aussi Patron de conception
Plan du site au format XML : la liste des pages qu’un moteur devrait connaître, pour l’aider à tout découvrir et à repérer les nouveautés.
Chez nous Généré automatiquement et soumis aux moteurs ; couplé à IndexNow pour signaler vite les mises à jour.
Voir aussi Crawler Indexation IndexNow SEO
Un sitemap (ou des balises dans le sitemap) dédié aux images, pour aider Google à découvrir et indexer les visuels d’un site.
Voir aussi Sitemap Sitemap index ImageObject
Un sitemap « chapeau » qui ne liste pas les pages mais d’autres sitemaps. Pratique pour organiser un grand nombre d’URL en plusieurs fichiers.
Chez nous Notre /sitemap-index.xml pointe vers le sitemap réel des pages ; l’adresse /sitemap.xml y redirige (301).
Voir aussi Sitemap Sitemap image Redirect 301/302
Lien « aller au contenu », placé tout en haut et souvent visible seulement au clavier, qui permet de sauter la navigation répétitive pour atteindre directement le contenu.
Chez nous Le site propose ce lien d’évitement (« Aller au contenu principal ») en tête de page, révélé au focus clavier.
Voir aussi Focus Focus visible Accessibilité
Engagement de niveau de service : promesse chiffrée qu’un fournisseur donne à ses clients (ex. « site disponible 99,9 % du temps »), souvent assortie de compensations si elle n’est pas tenue.
Messagerie d’équipe organisée en canaux, avec de nombreuses intégrations et notifications automatiques.
Indicateur de niveau de service : la mesure concrète qui sert à juger si l’objectif est tenu (ex. le pourcentage réel de requêtes réussies, ou le temps de réponse observé).
Objectif de niveau de service : la cible interne qu’une équipe se fixe (ex. « 99,9 % de disponibilité »). C’est le but visé, plus strict que la promesse (SLA).
La partie lisible d’une adresse web qui identifie une page, en minuscules et tirets (ex. /events/tour-adele). Court, stable et propre pour le référencement.
Chez nous Nos slugs suivent des règles précises : tour-{artiste} pour un concert, salle-{nom} pour une salle, artiste-{nom} pour un artiste.
Format d’adresse de fiche : tour-{artiste} pour une tournée d’un artiste, serie-{titre} pour une série de dates d’un même spectacle.
Chez nous Ce slug est calculé de façon identique quelle que soit la source, ce qui permet à deux sources de retomber sur la MÊME fiche. Il ne contient PAS l’identifiant de la source (pour retrouver les fiches d’une source, on filtre plutôt par la page de vérification).
Voir aussi Slug Regroupement en tournées
Test rapide et superficiel qui vérifie juste que l’essentiel « démarre et ne prend pas feu » (la page répond, le service se lance) avant de tester en détail.
Voir aussi Test end-to-end Healthcheck Régression
Test qui photographie une sortie de référence (un rendu, une structure) une première fois, puis alerte si une exécution suivante en diffère.
Voir aussi Assertion Fixture Régression
Point de connexion (adresse IP + port) par lequel deux programmes s’échangent des données sur un réseau. Un « socket » ouvert = un canal de communication établi.
Voir aussi Port Adresse IP WebSocket
Page qui affiche « rien à voir ici » mais répond quand même « tout va bien » (code 200) au lieu d’un vrai 404. Ça embrouille les moteurs, qui indexent des pages vides.
Voir aussi Noindex Thin content Indexation
Mise à jour « légère » d’une fiche existante : on ne rafraîchit que ce qui bouge (dates, statut, prix, disponibilité), sans tout reconstruire.
Chez nous Mode par défaut de l’import (0 coût d’IA) : une fiche déjà en base par son slug n’est pas recréée, juste rafraîchie sur le volatil. À l’opposé, un « reset complet » (SEED_HYBRID_MODE=full) refait tout. Les fiches partenaires échappent au soft-update (reconstruites à chaque run).
Voir aussi Pipeline d’import Verrou d’import Source partenaire
État d’un événement dont tous les billets sont vendus : plus rien à réserver.
Chez nous Un concert complet affiche un badge « Complet » et le statut SoldOut ; côté Fnac on le détecte via le stock épuisé, mais côté Fever c’est infaisable (un concert plein disparaît simplement du flux).
Voir aussi Inventaire Mise en vente Prévente Fnac Spectacles
Petit code calculé à partir d’un fichier ou d’un message pour vérifier qu’il n’a pas été altéré : si le contenu change, la somme change aussi.
Petit test qui vérifie qu’un lien de billetterie répond bien (n’est pas mort) avant de publier la fiche.
Chez nous urlLiveness. « Mort » = seulement 404/410/451 ou DNS/connexion impossible, CONFIRMÉ par deux essais. Un 403 anti-robot, un 429, un 5xx ou un délai dépassé comptent comme VIVANTS. La sonde est limitée aux nouvelles fiches d’hôtes non « de confiance », dans un budget par run.
Voir aussi Porte qualité CTA
Service d’agenda de concerts qui recense les dates de tournées et alerte les fans.
Voir aussi Bandsintown Ticketmaster Source
La provenance d’une donnée : le fournisseur d’où vient un concert (Open Data, Ticketmaster, Fnac, Fever…).
Chez nous Le catalogue agrège plusieurs sources par « couches ». Chacune a un niveau (tier) : certaines font autorité, d’autres complètent.
Voir aussi Source autoritaire Tier Open Data Catalogue
Couple d’informations d’analytics qui dit d’où vient une visite : la « source » est le site d’origine (google, un partenaire) et le « medium » le type de canal (recherche naturelle, lien référent, e-mail, payant).
Chez nous Nos liens sortants « Réserver » posent utm_source=concerts.paris et utm_medium=referral pour que la billetterie sache que la visite vient de nous.
Une source dont les informations font foi : en cas de désaccord entre sources sur une même fiche, c’est elle qui l’emporte et écrase les autres.
Chez nous Nos partenaires billetterie (Fever, Fnac Spectacles) sont autoritaires : leur prix, leur lien et leurs infos priment.
Voir aussi Source Tier Fever Fnac Spectacles
Source « ordinaire » (agenda public, open data, agrégateur) dont les données sont fusionnées et dédoublonnées avec les autres, sans priorité particulière.
Chez nous C’est le palier par défaut (« community »). À l’opposé, une source partenaire fait autorité et écrase les autres.
Voir aussi Source partenaire Palier de source Dédoublonnage
Fichier de correspondance qui relie le code compilé/minifié à sa version d’origine lisible : indispensable pour déboguer un code transformé.
Voir aussi Minification Transpilation Build
Source d’un partenaire commercial signé dont on considère la donnée comme faisant autorité : son titre, sa description, son affiche, son prix et son lien de réservation écrasent ceux des autres sources.
Chez nous Fever et Fnac Spectacles sont nos deux sources « partenaires ». On les déclare avec tier: ’partner’ dans le registre ; leurs fiches ne sont jamais sur-fusionnées (1 produit = 1 fiche) et échappent au ré-enrichissement automatique.
Voir aussi Source autoritaire Source communautaire Palier de source Fever Fnac Spectacles partnerDomains
Nom placé devant le domaine principal (ex. « media » dans media.concerts.paris) pour désigner un service ou une section à part.
Chez nous api.concerts.paris (le backend), media.concerts.paris (les images) et kpi.concerts.paris (le cockpit) sont des sous-domaines de concerts.paris.
Voir aussi Domaine racine DNS CNAME
Site chargé une seule fois puis mis à jour par JavaScript sans recharger la page à chaque clic. Fluide côté navigation, mais parfois moins bon pour le SEO et le premier affichage.
Voir aussi MPA Rendu côté client JavaScript
Système de priorité qui départage deux règles CSS visant le même élément : la plus « spécifique » (par ex. un identifiant) l’emporte, indépendamment de l’ordre.
Voir aussi Cascade Pseudo-classe
Note de performance qui mesure la vitesse à laquelle le contenu visible d’une page se remplit : plus la page se « peint » tôt, meilleur (plus bas) est l’indice.
Voir aussi FCP LCP Above the fold
Règle publiée dans le DNS qui liste les serveurs autorisés à envoyer des e-mails au nom d’un domaine. Elle aide les boîtes mail à repérer les faux expéditeurs.
Chez nous Le SPF de concerts.paris autorise l’outil d’envoi (Resend) à expédier les e-mails automatiques sans finir en spam.
Voir aussi DKIM DMARC Enregistrement TXT Resend
Attribut de lien qui signale aux moteurs un lien publicitaire ou d’affiliation (rémunéré). Une bonne pratique de transparence côté SEO.
Chez nous Pertinent pour nos liens d’affiliation billetterie : ils relèvent de cette catégorie « sponsored ».
Voir aussi Nofollow UGC (lien) Affiliation
Plateforme de musique en ligne, avec une API pour récupérer des informations sur les artistes (popularité, morceaux…).
Chez nous Source d’enrichissement : nombre de fans d’une tête d’affiche, médias à afficher sur les fiches.
Voir aussi Deezer YouTube Enrichissement Popularité
Image unique regroupant plusieurs petites images (icônes) qu’on affiche par découpe : cela réduit le nombre de fichiers à télécharger.
Sonde qui observe un code pendant un test — elle note s’il a été appelé, avec quels arguments et combien de fois — sans changer son comportement.
Langage standard pour interroger et modifier les bases de données dites relationnelles (organisées en tables et colonnes). MongoDB, lui, n’utilise pas SQL.
Voir aussi NoSQL Base relationnelle Requête
Regrouper plusieurs commits en un seul, pour ne garder qu’une entrée propre dans l’historique au lieu d’une série d’étapes intermédiaires.
Voir aussi Rebase Commit PR (Pull Request)
Attribut d’image listant plusieurs fichiers de tailles différentes ; le navigateur choisit celui qui convient à l’écran, pour ne pas télécharger une image trop lourde.
Chez nous Les cartes et visuels concert déclarent des srcset (vignette, 200w, 480w…) pour servir la bonne taille selon l’appareil.
Voir aussi Picture Image responsive WebP
Canal à sens unique par lequel un serveur pousse des mises à jour au navigateur en continu, sur une connexion HTTP restée ouverte — plus simple qu’un WebSocket quand seul le serveur parle.
Voir aussi WebSocket Long polling Flux
Génération statique : les pages HTML sont fabriquées une fois, à la construction du site. Résultat très rapide, mais figé jusqu’au prochain build.
Authentification unique : se connecter une seule fois pour accéder à plusieurs applications, sans retaper ses identifiants à chaque fois.
Voir aussi OAuth OpenID Connect JWT
Rendu côté serveur : la page HTML est fabriquée à chaque visite, sur le serveur, avec les données du moment. Toujours à jour, un peu plus coûteux.
Chez nous Le site et le cockpit rendent leurs pages côté serveur (avec Astro), puis le cache prend le relais pour la vitesse.
État de cache où une copie périmée est servie volontairement (le temps de rafraîchir en arrière-plan) pour ne pas faire attendre le visiteur.
Chez nous Grâce à la directive stale-while-revalidate, concerts.paris peut servir une page légèrement datée instantanément pendant qu’une version fraîche se prépare.
Voir aussi État de cache Directive Cache-Control Revalidation
Réglage de cache qui autorise à servir une copie un peu périmée immédiatement, tout en allant chercher la version fraîche en arrière-plan pour la prochaine fois.
Chez nous Utilisé sur concerts.paris pour que les pages restent instantanées même juste après expiration de leur cache.
Voir aussi Directive Cache-Control STALE Revalidation
Mise de côté temporaire des changements en cours (non committés) pour récupérer un plan de travail propre, avec possibilité de les récupérer plus tard.
Voir aussi Commit Zone de staging
Principe où chaque requête se suffit à elle-même : le serveur ne se « souvient » de rien entre deux appels, tout le contexte utile est renvoyé à chaque fois. C’est un fondement de REST, et cela facilite la mise à l’échelle.
Système de gestion de contenu « headless » open source en Node.js : il fournit un back-office et une API, sans imposer l’affichage.
Chez nous On ne l’utilise pas : notre CMS est Payload. Cité comme point de comparaison.
Voir aussi Payload CMS Headless CMS Directus
Bouchon qui remplace un morceau de code par une réponse fixe, prédéfinie, pour que le test n’ait pas à appeler le vrai service.
Chez nous Le test coverHomonym stube l’appel réseau à Wikidata (QID synthétiques) pour rester déterministe, au lieu de dépendre du réseau.
Voir aussi Mock Spy Test flaky
Identifiant de suivi ajouté à un lien d’affiliation Impact (l’équivalent du clickref côté Awin), pour rattacher une vente au clic d’origine.
Chez nous Utilisé sur les liens vers Fever (réseau Impact).
Voir aussi Impact Fever Attribution clickref
Dépôt Git imbriqué à l’intérieur d’un autre : le projet parent référence une version précise d’un dépôt externe, au lieu d’en copier le code.
Quand un partenaire et une source ordinaire décrivent le même concert, on supprime la version ordinaire pour ne garder que celle du partenaire, qui fait foi.
Chez nous À l’écriture, une fiche communautaire portant le même slug canonique qu’une fiche partenaire est purement supprimée (compteur suppressedCommunityDupes).
Voir aussi Source partenaire Dédoublonnage Recouvrement
Le travers de ranger un concert dans un genre trop précis alors qu’on n’en est pas sûr (par ex. tout mettre en « festival »).
Chez nous Le classement écarte exprès « festivals » et « autre » quand ils viennent des étiquettes de source, et n’utilise l’heuristique par sous-chaîne qu’avec des frontières de mot, pour éviter les faux positifs.
Voir aussi Classement de genre Étiquettes de format
Défauts classiques d’une API : le sur-fetch renvoie trop de données (on télécharge des champs inutiles), le sous-fetch pas assez (il faut plusieurs allers-retours). GraphQL vise à corriger les deux.
Voir aussi GraphQL REST Projection
Framework d’interface web qui compile les composants en JavaScript minimal, sans « moteur » chargé dans le navigateur.
Format d’image défini par des formes géométriques décrites en texte (et non des pixels) : il reste net à toutes les tailles et pèse souvent très peu. Idéal pour logos, icônes et graphiques.
Chez nous Les logos des partenaires (Fever, Fnac), les icônes et les graphiques du cockpit sont en SVG ; les affiches manquantes retombent sur un visuel SVG généré.
Se dit d’une opération qui bloque la suite du programme tant qu’elle n’est pas terminée : on attend le résultat avant de continuer.
Voir aussi Asynchrone Callback
Attribut HTML qui règle si (et dans quel ordre) un élément peut recevoir le focus au clavier via la touche Tab.
Voir aussi Focus Accessibilité
Structure de données qui range des paires « clé → valeur » de façon à retrouver une valeur par sa clé quasi instantanément, grâce à une fonction de hachage.
Liste ordonnée de valeurs rangées les unes après les autres et repérées par leur position (0, 1, 2, …). En JavaScript, on l’écrit entre crochets [ … ].
Chez nous La liste des concerts d’une page, ou celle des salles d’un artiste, est un tableau parcouru pour générer les cartes.
Voir aussi Objet Itération Type de données
Écran qui rassemble en un coup d’œil les chiffres clés d’un système (courbes, compteurs) pour suivre son état et sa performance.
Chez nous Le cockpit kpi.concerts.paris est le tableau de bord du projet : visites, vitesse, comportement des visiteurs, affiliation.
Voir aussi Métrique Observabilité RUM
Traitement lancé à part de la réponse au visiteur (import, envoi d’e-mails, nettoyage…), souvent planifié ou déclenché en arrière-plan, pour ne pas faire attendre l’utilisateur.
Chez nous L’import nocturne du catalogue, l’envoi du récap du soir ou la purge des vieilles données sont des tâches de fond.
Voir aussi Worker Cron File d’attente Seed
Étiquette posée sur un commit précis pour le repérer facilement — le plus souvent pour marquer une version publiée (par ex. v1.2.0).
Nombre d’observations recueillies (par ex. de visiteurs) : plus elle est grande, plus la mesure est fiable et plus on détecte de petites différences.
Voir aussi A/B test Significativité statistique Intervalle de confiance
Zone mémoire temporaire où des données transitent le temps d’être traitées, souvent entre deux vitesses différentes (par ex. la lecture d’un fichier ou d’un flux réseau).
Archive regroupant plusieurs fichiers en un seul (format « tar »), souvent compressée ensuite (.tar.gz). Sert à transporter ou distribuer un ensemble de fichiers d’un bloc.
Voir aussi Compression Gzip
Prix qui varie dans le temps selon la demande, le remplissage ou la date : les billets d’un événement très demandé peuvent monter à mesure que la salle se remplit.
Voir aussi Inventaire Sold-out Panier moyen
La part des visites « engagées » : celles qui durent un minimum, voient plusieurs pages ou déclenchent une action. C’est en quelque sorte l’inverse du taux de rebond, et la mesure mise en avant par GA4.
Voir aussi Taux de rebond GA4 Dwell time
Part des affichages réellement obtenus par rapport à tous ceux qu’une annonce aurait pu obtenir. Un taux bas signale qu’on rate des occasions, faute de budget ou d’enchère assez haute.
Voir aussi Impression Enchère Budget Google Ads
Part des destinataires qui ouvrent un e-mail reçu. Indicateur de l’intérêt suscité et de la qualité de l’objet du message.
Voir aussi Taux de clic Délivrabilité Newsletter
Part des destinataires d’un e-mail qui cliquent sur un lien qu’il contient. Mesure si le contenu incite réellement à passer à l’action (aussi appelé CTR).
Voir aussi Taux d’ouverture Conversion Newsletter
Pourcentage du montant d’une vente reversé à l’éditeur (par ex. 5 % du prix du billet).
Voir aussi Commission Affiliation EPC
Part des visiteurs qui réalisent l’action visée (par ex. 3 % des visiteurs cliquent « Réserver »). Indicateur clé : améliorer ce taux fait grimper les revenus sans plus de trafic.
Voir aussi Conversion EPC Entonnoir de conversion
Part des visiteurs qui repartent après avoir vu une seule page, sans interagir. Un taux élevé peut signaler une page peu pertinente ou un contenu qui n’accroche pas.
Voir aussi Entonnoir de conversion Conversion Landing page
La liste officielle des étiquettes qu’on a le droit d’employer pour ranger quelque chose — un peu comme les rayons d’une bibliothèque.
Chez nous Il y en a trois, une par univers : les genres musicaux pour les concerts, les genres de spectacle pour le théâtre, les thèmes pour les expos. Elles partagent le même champ en base, donc on ne les mélange JAMAIS dans un même classement : comparer « Rap » et « Peinture » ne veut rien dire, et le catalogue de concerts (des milliers de fiches) écraserait à jamais les quelques dizaines de fiches théâtre.
Temps total pendant lequel la page reste bloquée et ne répond pas aux clics parce que le navigateur exécute du JavaScript (« Total Blocking Time »). Plus il est bas, plus la page paraît réactive.
Voir aussi INP requestIdleCallback Jank Event loop
Protocole de transport fiable : il découpe les données en paquets, vérifie qu’ils arrivent tous et dans l’ordre, et redemande ceux qui manquent. C’est la base de HTTP.
Méthode de développement piloté par les tests : on écrit d’abord le test (qui échoue), puis le code juste suffisant pour le faire passer, puis on nettoie.
Voir aussi Test unitaire Assertion
Ensemble des données qu’un système envoie automatiquement sur son propre fonctionnement (mesures, événements, journaux) pour être surveillé à distance.
Chez nous La mesure d’usage anonyme des visiteurs (sans cookie) est une forme de télémétrie maison de concerts.paris.
Voir aussi Observabilité Métrique Logs RUM
Façon de représenter une date par un seul nombre : le nombre de secondes écoulées depuis le 1er janvier 1970 (l’« epoch »). Pratique pour comparer ou trier des instants.
Endroit où la connexion chiffrée (HTTPS) est déchiffrée avant d’être transmise, en clair, aux serveurs internes. Souvent assurée par le proxy ou le CDN placé devant le site.
Chez nous Cloudflare (et le proxy Railway) déchiffre le HTTPS des visiteurs, puis relaie la requête aux services internes.
Voir aussi TLS Reverse proxy Cloudflare
Test qui vérifie que plusieurs briques fonctionnent bien ENSEMBLE (par ex. le code et la base de données), et pas seulement chacune de son côté.
Chez nous La CI lance la suite d’intégration du backend (204 tests, via la commande test:int) à chaque PR.
Voir aussi Test unitaire Test end-to-end CI/CD Vitest
Test qui rejoue un parcours complet d’utilisateur du début à la fin (ouvrir la page, cliquer, vérifier le résultat) comme le ferait une vraie personne, dans un vrai navigateur.
Voir aussi Playwright Test d’intégration Smoke test
Test instable qui réussit ou échoue au hasard sans que le code ait changé — souvent à cause du réseau ou du minutage. Il fait perdre confiance dans les tests.
Chez nous Le faux rouge historique des PR était le test coverHomonym (appel Wikidata live) ; il est désormais stubé et déterministe — un échec là aujourd’hui est un VRAI signal, pas un flake à relancer.
Voir aussi Stub Régression CI/CD
Petit test automatique qui vérifie qu’une seule brique de code (une fonction) donne le bon résultat, isolée du reste.
Voir aussi Test d’intégration Assertion Couverture de code
Artiste principal d’un concert ou d’un festival, celui dont le nom attire le public et figure en haut de l’affiche.
Voir aussi Première partie Programmation Tournée
Un des trois univers du site, à côté des concerts et des expos : pièces, humour, danse, cirque, opéra. Comme un concert, un spectacle se joue à une date précise.
Chez nous C’est l’univers ouvert en 2026 avec les expos. Sa billetterie principale attendue est la Fnac Spectacles — donc son intérêt économique se lit dans les clics qu’il envoie, pas seulement dans son nombre de fiches.
Voir aussi Univers Expo Fnac Spectacles Genre
Contenu « maigre » : une page trop pauvre ou trop courte pour apporter de la valeur, ce que les moteurs pénalisent.
Chez nous Enjeu sur les fiches salles peu remplies : on les enrichit (contenu long) pour éviter cet écueil.
Voir aussi Noindex Enrichissement SEO
Fil d’exécution à l’intérieur d’un processus : une suite d’instructions qui avance. JavaScript (Node.js) exécute ton code sur un seul thread principal.
Voir aussi Processus Concurrence
Technique qui limite la fréquence d’une action répétée à « au plus une fois toutes les X millisecondes », par exemple pendant un défilement, pour ménager le navigateur.
Chez nous La pop-up newsletter applique un principe de throttle : elle ne se re-présente pas avant un certain délai après avoir été vue.
Voir aussi Debounce Écouteur d’événement
La collection qui compte les clics sur les liens de billetterie (le moment où un visiteur va réserver).
Chez nous C’est notre conversion principale. Alimentée par le proxy /go/tickets ; lue par le cockpit pour suivre l’intention de réservation.
Voir aussi CTA Deeplink Affiliation Attribution
Grande billetterie internationale, avec une API publique (« Discovery ») pour récupérer des événements et leurs prix.
Chez nous Une des sources majeures du catalogue. On en tire aussi les fourchettes de prix affichées « dès X € ».
Voir aussi Source Billetterie Affiliation
Niveau / catégorie d’une source. « partner » = partenaire commercial dont les infos font foi ; « community » = source communautaire, complémentaire.
Chez nous Fever et Fnac Spectacles sont « tier partner » (autoritaires) ; d’autres sources sont communautaires. Le tier décide qui l’emporte en cas de conflit d’infos.
Voir aussi Source autoritaire Source Fever Fnac Spectacles
Étiquette de temps qui note un instant précis (date + heure), soit sous forme lisible, soit sous forme d’un nombre de secondes depuis 1970 (temps Unix).
Voir aussi Temps Unix ISO 8601
Protocole qui chiffre la connexion entre le navigateur et le site : personne au milieu ne peut lire ni modifier les échanges. C’est ce qui met le « s » à https et le cadenas.
Chez nous Toutes les pages de concerts.paris sont servies en TLS (via Cloudflare et Railway), avec un certificat valide y compris sur le domaine racine.
Voir aussi HTTPS Certificat TLS HSTS Poignée de main
Jeton : une longue clé secrète qui prouve une identité ou donne un droit d’accès à une API, à la place d’un mot de passe.
Chez nous On utilise des tokens pour accéder aux API externes et à Cloudflare. Bonne pratique : un token par usage, avec le minimum de droits.
Voir aussi Infisical Variable d’environnement API
Capacité d’un système à continuer de fonctionner (peut-être en mode dégradé) malgré la défaillance d’un de ses composants.
Voir aussi Haute disponibilité Dégradation gracieuse
Format de fichier de configuration lisible par un humain, organisé en sections et en paires « clé = valeur ». Alternative à YAML ou JSON pour paramétrer un outil.
Série de concerts d’un même artiste dans plusieurs villes ou dates autour d’un album ou d’un spectacle.
Chez nous Les fiches d’une même tournée sont regroupées et prennent un slug du type tour-{artiste} ; plusieurs dates parisiennes d’une tournée sont réunies sur une seule fiche.
Voir aussi Tête d’affiche Setlist Slug
Enregistrement du parcours complet d’une requête à travers les différents services, avec le temps passé à chaque étape. Utile pour trouver où ça ralentit.
Voir aussi Observabilité Logs Métrique Télémétrie
Visiteurs qui arrivent en tapant l’adresse du site ou via un favori, sans passer par un lien ni une recherche. Signe de notoriété et de fidélité.
Voir aussi Trafic organique Source / medium
Visiteurs qui arrivent gratuitement par les résultats naturels des moteurs de recherche ou les recommandations, sans qu’on ait payé de publicité pour eux.
Chez nous C’est le cœur de la stratégie : attirer par le référencement naturel et IA plutôt que par la pub payante, jugée peu rentable pour cette niche.
Voir aussi SEO SEA Trafic direct
Les visites arrivées via un lien sur un autre site (le « référent »). Utile pour voir qui parle de nous.
Voir aussi Referrer Backlink Canal d’acquisition
Groupe d’opérations sur la base traité comme un tout indivisible : soit tout réussit, soit rien n’est appliqué. Évite de laisser les données à moitié modifiées.
Chez nous Le backend fonctionne sans transactions multi-documents (option désactivée), les écritures restant simples et indépendantes.
Propriété CSS qui déplace, tourne, redimensionne ou incline un élément sans perturber la disposition des autres — et sans recalcul de mise en page coûteux.
Voir aussi Transition Contexte d’empilement Repaint
Effet CSS qui anime en douceur le passage d’une valeur à une autre (couleur, taille, opacité) sur une durée donnée, plutôt qu’un changement brusque.
Chez nous Adoucit les survols de cartes et l’ouverture du volet carte ou de la pop-up ; ces animations sont coupées si le visiteur a activé « mouvement réduit ».
Voir aussi Transform requestAnimationFrame prefers-reduced-motion
Traduction d’un code d’une version ou d’un langage vers un autre plus largement compris (par ex. TypeScript ou JavaScript récent vers du JavaScript ancien) pour fonctionner sur plus de navigateurs.
Voir aussi Polyfill Source map TypeScript
Étape de compilation qui « secoue l’arbre » du code pour retirer ce qui n’est jamais utilisé, afin d’alléger le fichier final envoyé au navigateur.
Voir aussi Bundle Minification ESM
Tri d’un résultat effectué dans la mémoire vive du serveur de base. Rapide, mais plafonné (~32 Mo côté MongoDB) : au-delà, il faut un index adapté ou trier ailleurs.
Chez nous Vu que notre base ne peut pas déborder sur disque, une partie des tris se fait côté application (JavaScript) plutôt que dans MongoDB.
Voir aussi allowDiskUse Index MongoDB Atlas
Une carte de concert est produite de TROIS façons qui doivent rester identiques : rendu serveur, gabarit HTML, et remplissage par JavaScript.
Chez nous Toute info à afficher sur une carte (prix, badge…) doit être câblée aux 3 endroits (EventCard serveur + <template> de l’accueil + remplissage JS depuis l’index), sinon les cartes du défilement diffèrent de celles rendues au serveur.
Voir aussi Index de recherche Défilement infini Badge Complet
Petit outil qui exécute directement un fichier TypeScript avec Node.js, sans étape de compilation séparée.
Chez nous On lance nos scripts (import, rapports KPI, enrichissement) avec tsx, par ex. « npx tsx src/scripts/run-import.ts ».
Voir aussi TypeScript Node.js Seed
Temps écoulé entre la demande d’une page et l’arrivée du tout premier octet de réponse (« Time To First Byte ») : il mesure surtout la vitesse du serveur et du réseau, avant tout affichage.
Chez nous Réduit en co-localisant le serveur (Railway) et la base (Atlas) en Europe, et par le cache en périphérie (Cloudflare) qui répond sans repasser par l’origine.
Durée de vie : combien de temps une information (souvent une page en cache) reste valable avant d’être considérée comme périmée et rafraîchie.
Chez nous Ex. le cache d’une fiche concert a un TTL de quelques heures ; les listes, plus court. C’est le curseur fraîcheur ↔ vitesse.
Voir aussi Cache Purge de cache CDN
Durée pendant laquelle une réponse DNS peut être gardée en mémoire avant d’être redemandée. Un TTL court rend les changements rapides mais sollicite plus le DNS.
Voir aussi DNS TTL Propagation DNS
Petite liste de longueur fixe dont chaque position a un type précis (par ex. [nombre, texte]) — utile pour renvoyer plusieurs valeurs d’un coup.
Voir aussi Type Déstructuration
Successeur de Webpack développé par l’équipe de Next.js, conçu pour être beaucoup plus rapide sur les gros projets.
Alternative de Cloudflare aux « captchas » : elle vérifie qu’un visiteur est humain, le plus souvent sans énigme visuelle à résoudre.
Voir aussi Cloudflare WAF
Test statistique qui compare deux taux (par ex. le taux de clic de la version A contre celui de la version B) pour dire si l’écart est réel ou dû au hasard.
Voir aussi z-test A/B test Significativité statistique
Étiquette qui dit de quelle nature est une donnée (texte, nombre, booléen, liste…). En TypeScript, préciser les types permet d’attraper des erreurs avant même de lancer le programme.
Voir aussi Interface Union Vérification de types TypeScript
Nature d’une valeur manipulée par le code (nombre, texte, booléen, liste, objet…), qui détermine ce qu’on a le droit d’en faire.
Voir aussi Booléen Nombre Chaîne de caractères Objet
Une version de JavaScript qui ajoute des « types » : on précise la forme attendue des données, ce qui attrape beaucoup d’erreurs avant même de lancer le programme.
Chez nous Quasiment tout le code du projet (site, back-office, cockpit, scripts) est en TypeScript.
Voir aussi JavaScript Node.js Build
Protocole de transport rapide mais sans garantie : il envoie les paquets sans vérifier qu’ils arrivent. Utile quand la vitesse prime sur la fiabilité (jeu, streaming, visio).
Attribut de lien qui indique aux moteurs qu’un lien provient d’un contenu créé par des utilisateurs (commentaires, forums). UGC = User Generated Content.
Voir aussi Nofollow Sponsored (lien)
Interface utilisateur : la partie visible et manipulable d’un produit — boutons, menus, mises en page — par laquelle on interagit avec le site.
En JavaScript, valeur automatique d’une variable ou d’une propriété à laquelle on n’a jamais rien affecté — « pas encore défini », différent de null (vide voulu).
Répertoire universel qui donne un numéro unique à chaque caractère de (presque) toutes les langues, plus les emojis. UTF-8 est une façon de l’écrire en octets.
Voir aussi UTF-8 ASCII Encodage de caractères
Type qui autorise plusieurs possibilités : une valeur « texte OU nombre » est de type union. On écrit A | B.
Voir aussi Union discriminée Type Énumération
Union de types où un champ commun (un « marqueur ») indique de quelle variante il s’agit, ce qui permet au code de traiter chaque cas sûrement.
Voir aussi Union Garde de type Interface
La grande famille à laquelle appartient une fiche : concert, théâtre ou expo. C’est une facette du catalogue — le même site, les mêmes salles, les mêmes artistes, simplement trois façons de sortir.
Chez nous Chaque univers a sa couleur repère (concert rouge, théâtre violet, expo bleu-vert), sa liste de genres et sa façon de compter ce qui est « encore d’actualité ». ⚠️ Piège maison : les milliers de fiches créées AVANT ce chantier n’ont pas l’étiquette. « Concert » se lit donc toujours « pas d’étiquette OU étiquette concert » — sinon le cockpit afficherait zéro concert du jour au lendemain.
Inciter un acheteur à choisir une version plus chère ou plus complète du produit qu’il envisage (meilleure catégorie de place, offre premium), pour augmenter le montant dépensé.
Voir aussi Cross-selling Panier moyen Tarification dynamique
Gain apporté par une variante par rapport à une référence, exprimé en écart ou en pourcentage (par ex. « +12 % de clics »).
Voir aussi Baseline A/B test Significativité statistique
Envoi d’un fichier (image, document) vers le serveur ou un stockage. Dans un CMS, une collection dédiée gère les fichiers téléversés et leurs miniatures.
Chez nous La collection « Media » de Payload gère les fichiers ; les images sont stockées sur Cloudflare R2 et servies depuis media.concerts.paris.
Voir aussi Payload CMS Cloudflare R2
Opération d’écriture « mettre à jour sinon créer » : si le document existe déjà on le met à jour, sinon on l’insère. Évite de vérifier l’existence en deux temps.
Chez nous Utilisé par des scripts (ex. écriture des indicateurs quotidiens) pour poser la ligne du jour sans risquer de doublon.
Voir aussi Idempotence Requête Backfill
Le dépôt (ou la branche) « source » de référence dont on suit les évolutions : quand on a forké un projet, l’upstream est l’original.
Le taux de disponibilité d’un service : le pourcentage du temps où il répond correctement. On vise le plus proche possible de 100 %.
Chez nous Surveillé en continu par un Worker Cloudflare qui alerte par e-mail dès qu’une fonction clé tombe.
Voir aussi Healthcheck Cloudflare Worker
Service en ligne qui « pingue » un site à intervalle régulier et alerte dès qu’il ne répond plus.
Chez nous On ne l’utilise pas : notre surveillance de disponibilité est faite maison avec un Worker Cloudflare (« concerts-uptime »).
Voir aussi Uptime Cloudflare Workers Healthcheck
Identifiant standard d’une ressource. Notion plus large que l’URL : toute URL est une URI, mais une URI peut juste nommer une ressource sans dire où la trouver.
Adresse web complète d’une page ou d’une ressource, celle qu’on tape dans le navigateur (par ex. https://concerts.paris/…).
La collection qui enregistre, de façon anonyme et sans cookie, ce que font les visiteurs (filtres utilisés, calendriers consultés, écoutes, durée de session).
Chez nous Alimentée par un relais /api/track (envoi via sendBeacon) et un traqueur discret. Purge automatique au bout de 90 jours. Nourrit la page « Comportement » du cockpit.
Voir aussi sendBeacon Durée de session RGPD Cookieless
Heure de référence mondiale, sans décalage ni heure d’été. On y stocke souvent les dates pour éviter les confusions de fuseau, puis on convertit à l’affichage.
Chez nous Les crons GitHub tournent en UTC alors que Railway (Paris) est à l’heure locale : un décalage à surveiller pour les tâches planifiées.
Voir aussi Cron
Encodage de caractères le plus répandu sur le web : il sait représenter toutes les lettres, accents et emojis (Unicode) tout en restant compatible avec l’ASCII.
Chez nous Encodage par défaut des pages et des données du site — indispensable pour afficher correctement accents et caractères spéciaux des titres de concerts.
Voir aussi Unicode Encodage de caractères ASCII
Petits paramètres ajoutés à une adresse (utm_source, utm_medium…) pour tracer d’où vient un visiteur dans les outils de statistiques.
Chez nous Servent de repli pour marquer l’origine du trafic quand un partenaire n’a pas son propre système de suivi.
Voir aussi Attribution GA4 Deeplink
Identifiant unique très long, généré de façon quasi impossible à dupliquer, pour repérer sans ambiguïté un enregistrement partout dans un système.
Expérience utilisateur : la qualité du vécu global d’une personne qui utilise le site (facilité, clarté, plaisir), au-delà du seul visuel.
Total des revenus qu’un client rapporte sur toute la durée de sa relation avec le site, et non sur un seul achat. Aide à décider combien on peut dépenser pour l’acquérir et le fidéliser.
Voir aussi Panier moyen Churn Newsletter
Règles qui vérifient qu’un document respecte une forme attendue (champs obligatoires, types corrects) avant d’être enregistré, pour empêcher les données bancales d’entrer dans la base.
Chez nous Payload valide chaque concert ou salle selon la définition de sa collection avant l’enregistrement ; un champ hors des valeurs prévues est refusé.
Voir aussi Schéma Champ 422 Unprocessable Entity Payload CMS
Étape où le marchand confirme qu’une vente attribuée à l’éditeur est bien réelle (pas annulée, pas remboursée) avant de payer la commission. Une vente peut d’abord être « en attente » puis validée ou rejetée.
Chez nous Une réservation de billet remontée par Awin/Impact reste « en attente » tant que la Fnac ou Fever ne l’a pas confirmée.
Voir aussi Commission Règlement Affiliation
Valeur réutilisable définie une fois puis rappelée partout via var(--nom) : changer la variable met à jour tous les endroits qui l’utilisent. Idéal pour une charte de couleurs.
Chez nous Le site et le cockpit reposent massivement sur des variables CSS (couleurs, espacements, typo) : c’est aussi ce qui rend le mode sombre du cockpit possible.
Réglage fourni à une application « depuis l’extérieur » plutôt qu’écrit en dur dans le code : adresse de la base, clé d’API, options… Souvent secrète.
Chez nous Nos variables (dont les secrets) sont centralisées dans Infisical et injectées à chaque service Railway. Jamais commitées dans le code.
Voir aussi Infisical Token Feature flag
Mesure de la dispersion des valeurs autour de leur moyenne : faible variance = valeurs regroupées, forte variance = valeurs très étalées.
Voir aussi Écart-type Moyenne Intervalle de confiance
En-tête HTTP qui indique au cache que la réponse dépend d’un critère de la requête (langue, format demandé…) : il faut donc stocker une version distincte par valeur de ce critère.
Voir aussi En-tête HTTP Cache Cache-Control
Plateforme d’hébergement web (créatrice de Next.js), concurrente de Railway.
Chez nous Envisagée au départ, mais NON retenue : la production est chez Railway. Si tu croises « Vercel » dans de vieilles notes, c’est un choix abandonné.
Voir aussi Railway Déploiement
Contrôle que chaque donnée est bien du type attendu (un nombre là où on attend un nombre, etc.) : en TypeScript, c’est fait avant l’exécution et attrape beaucoup d’erreurs tôt.
Voir aussi TypeScript Type Inférence de type
Petit drapeau en base qui signale « un import est déjà en cours », pour empêcher deux imports de tourner en même temps et de se marcher dessus.
Chez nous Document import_locks (_id ’agenda-import’), posé au début du seed. Il expire tout seul au bout de 45 min (un run planté finit par se débloquer) et « laisse passer » si la base est injoignable (fail-open). Un run tué peut laisser un verrou → on force avec SEED_FORCE.
Voir aussi Lock SEED_FORCE Seed Fail-open
Copie datée d’un contenu à un instant donné, conservée par le CMS à chaque modification : on garde l’historique et on peut revenir en arrière.
Chez nous Payload conserve un historique de versions par concert et par salle/artiste (plafonné, pour ne pas gonfler la base).
Voir aussi Brouillon Payload CMS Rollback
Le fait de numéroter les versions d’une API (souvent dans l’URL, ex. `/api/v1/…`) pour faire évoluer le service sans casser les clients qui utilisent l’ancienne.
Chez nous Le flux pour les IA est servi sous `/api/v1/geo-feed`, ce « v1 » laissant la porte ouverte à une évolution future.
Voir aussi API Contrat d’API Feed IA
Fonctionnalité qui anime en douceur le passage d’une page ou d’un état à un autre (fondu, glissement), pour une navigation plus fluide.
Voir aussi Transition SSR
Zone d’écran réellement visible dans le navigateur. Une balise meta « viewport » indique au mobile d’afficher la page à sa vraie largeur plutôt que dézoomée.
Voir aussi Meta Media query Above the fold
Une personne distincte, comptée une seule fois même si elle revient plusieurs fois ou voit plusieurs pages sur la période.
Outil moderne qui accélère le développement web : démarrage quasi instantané et rechargement immédiat des modifications dans le navigateur.
Chez nous Astro s’appuie sur Vite en dessous — c’est ce qui donne le rechargement à chaud pendant le développement du site.
Cadre de test rapide pour JavaScript/TypeScript, pensé pour l’écosystème Vite : il exécute les tests unitaires et d’intégration.
Chez nous C’est le lanceur des 204 tests d’intégration du backend joués par la CI (commande test:int).
Voir aussi Test unitaire Test d’intégration Playwright
Distinction entre une affiche qui est une vraie photo et une image fabriquée (par IA ou par gabarit).
Chez nous isRealPhotoSource : vrai pour tout SAUF « generated » (affiche procédurale) et « ai-generated » (IA). Une nouvelle fiche sans vraie photo part en relecture ; une fiche déjà publiée n’est jamais dépubliée pour autant.
Voir aussi Affiche (cover) Porte qualité
Framework JavaScript pour construire des interfaces web à base de composants, apprécié pour sa douceur de prise en main.
Pare-feu applicatif web : un filtre qui inspecte le trafic entrant et bloque ce qui ressemble à une attaque ou à un robot indésirable.
Chez nous Le WAF de Cloudflare protège le site. Piège déjà rencontré : trop strict, il bloquait aussi de vrais robots d’IA qu’on voulait laisser entrer.
Voir aussi Cloudflare Rate limit Crawler IA
Réchauffer le cache : visiter les pages à l’avance pour les remettre en cache, afin que le premier vrai visiteur les trouve déjà rapides (et non « froides »).
Chez nous Après une purge, on réchauffe les pages clés (via l’index de recherche) pour éviter que quelqu’un tombe sur une page lente à reconstruire.
Voir aussi Cache Purge de cache TTL
Montée en charge progressive des envois depuis une nouvelle adresse d’expédition, pour bâtir peu à peu sa réputation ; envoyer trop, trop vite dès le départ ferait classer les mails en spam.
Voir aussi Réputation d’expéditeur Délivrabilité ESP
Élément HTML personnalisé et réutilisable, créé par le développeur avec son propre comportement et souvent son style isolé, utilisable comme une balise standard.
Voir aussi Shadow DOM DOM Élément
Police de caractères téléchargée par le site pour l’afficher à l’identique chez tous les visiteurs, plutôt que de dépendre des polices installées sur leur appareil.
Notification automatique qu’un service envoie à un autre quand un événement se produit (« ça vient de se passer, à toi de jouer »).
Chez nous Ex. Railway peut prévenir notre moniteur qu’un déploiement vient d’avoir lieu, pour re-vérifier le site aussitôt.
Voir aussi Cron Healthcheck
Format d’image moderne qui compresse mieux que JPEG ou PNG à qualité comparable, donc des images plus légères et un site plus rapide.
Chez nous Les affiches concert sont servies en WebP (via <picture>) quand le navigateur le supporte, avec repli JPEG sinon ; activé par un drapeau de build.
Voir aussi AVIF Picture Image responsive
Outil historique et très répandu qui assemble et transforme les fichiers d’une application web pour la mise en ligne.
Type Schema.org qui décrit le site lui-même (nom, adresse, éventuelle recherche interne). Il aide Google à afficher, par exemple, une barre de recherche du site dans ses résultats.
Chez nous Émis sur l’accueil, avec une « SearchAction » qui déclare notre recherche interne.
Voir aussi Organization SearchAction JSON-LD
Canal de communication permanent entre le navigateur et le serveur : les deux peuvent s’envoyer des messages en temps réel dans les deux sens, sans redemander à chaque fois (chat, notifications live).
Solution française de billetterie et de gestion d’événements (paiement, contrôle d’accès, cashless).
Voir aussi Billetterie Eventbrite
Grande base de connaissances libre et collaborative (cousine de Wikipédia), interrogeable par les machines. Chaque sujet y a un identifiant unique « Q… ».
Chez nous Sert à enrichir les fiches salles et artistes (photos, infos). Piège connu : une mauvaise correspondance peut ramener la photo d’une autre entité.
Voir aussi Enrichissement Matching
Encyclopédie libre en ligne ; source d’informations textuelles sur les artistes, salles et lieux.
Chez nous Utilisée pour enrichir les fiches (contexte sur une salle ou un artiste), en complément des données structurées de Wikidata.
Voir aussi Wikidata Enrichissement
Programme qui tourne en arrière-plan pour exécuter des tâches lourdes ou répétitives, séparément du serveur qui répond aux visiteurs (pour ne pas le ralentir).
Chez nous Un service Railway dédié à l’import (« import-runner ») joue ce rôle : c’est lui qui porte les clés des sources et fait tourner la collecte, pas le backend web.
Voir aussi Tâche de fond File d’attente Cron Cloudflare Worker
Petite base de données ultra-rapide de Cloudflare, en forme de « clé → valeur », accessible depuis les Workers partout dans le monde.
Chez nous Le moniteur d’uptime y garde l’état (ok / en panne) de chaque contrôle, et n’écrit que quand l’état CHANGE pour ne pas dépasser le quota gratuit.
Voir aussi Cloudflare Workers Cloudflare
Copie de travail isolée du dépôt de code : un dossier à part où l’on peut modifier une branche sans perturber son dossier principal.
Chez nous On développe chaque évolution dans un worktree neuf, basé sur la vraie version en ligne, pour ne jamais coder « au mauvais endroit ».
Voir aussi Branche PR (Pull Request)
Outil en ligne de commande de Cloudflare pour développer, configurer et publier les Workers et leurs ressources (KV, secrets…).
Chez nous On déploie le Worker « concerts-uptime » avec « npx wrangler deploy », et on pose ses secrets avec « wrangler secret put » (config dans uptime-worker/wrangler.toml).
Voir aussi Cloudflare Workers npx
Éditeur « tel écran, tel écrit » : ce qu’on voit en éditant est exactement ce qui sera affiché, sans écrire de code (comme un traitement de texte).
Voir aussi Markdown Payload CMS
Consigne pour les moteurs envoyée dans l’en-tête HTTP d’une réponse (et non dans le HTML), par exemple pour dire « ne pas indexer cette page ». Utile pour des fichiers ou des redirections où l’on ne peut pas mettre de balise.
Chez nous Piste envisagée pour désindexer proprement les redirections /go/ ; le correctif code a été écarté, à gérer côté Cloudflare ou à accepter.
Voir aussi Noindex robots.txt Redirect 301/302
Ancienne façon (XMLHttpRequest) d’envoyer des requêtes réseau en JavaScript sans recharger la page. Largement remplacée aujourd’hui par fetch, plus simple.
Format texte structuré par des balises (comme le HTML) pour décrire et échanger des données. Verbeux, historique, mais encore courant (flux, exports).
Faille où un attaquant parvient à injecter du code (souvent du JavaScript) dans une page vue par d’autres visiteurs, pour voler des données ou détourner leur session.
Voir aussi Injection CSP Sanitisation CSRF
Format texte pour écrire des fichiers de configuration, structuré par l’indentation (les décalages en début de ligne).
Chez nous Le format des fichiers qui décrivent nos automatisations GitHub Actions (tests, tâches planifiées).
Voir aussi GitHub Actions CI/CD
Gestionnaire de paquets JavaScript, alternative historique à npm.
Plateforme de vidéos de Google.
Chez nous Source de médias (clips, vidéos) pour la section « Écouter & voir » des fiches concert.
Voir aussi Spotify Deezer Enrichissement
Propriété CSS qui règle l’ordre de superposition des éléments : un z-index plus élevé passe devant, comme des calques empilés.
Chez nous Gère qui passe devant qui : en-tête collant, menus déroulants de filtres, volet carte, pop-up newsletter.
Voir aussi Contexte d’empilement Position
Test statistique qui répond à : « l’écart observé entre deux taux (ex. taux de clic A vs B) est-il réel, ou juste le fruit du hasard ? ».
Chez nous Utilisé dans l’onglet « Expériences » pour dire si un test A/B a un gagnant crédible, ou s’il faut attendre plus de données.
Outil Cloudflare qui charge les scripts tiers (mesure, marketing…) depuis le réseau Cloudflare plutôt que depuis le navigateur, pour alléger et sécuriser les pages.
Voir aussi Cloudflare Google Tag Manager
Déploiement d’une nouvelle version sans jamais couper le service : les visiteurs ne voient aucune coupure pendant la mise à jour.
Chez nous Railway bascule vers le nouveau conteneur seulement après qu’il répond au healthcheck ; le cache Cloudflare absorbe le court moment de transition.
Voir aussi Déploiement Blue-green Healthcheck
Sas d’attente de Git où l’on place les modifications que l’on veut inclure dans le prochain commit : on choisit précisément quoi enregistrer avant de valider.
Chez nous On y ajoute uniquement ses propres fichiers (git add avec des chemins explicites), jamais « tout » (git add -A) : le dossier local traîne ~400 fichiers d’import à ne pas committer.
Voir aussi Commit Diff .gitignore
L’ensemble des enregistrements DNS d’un domaine, regroupés au même endroit — en pratique, l’« annuaire complet » de ce domaine chez son gestionnaire.
Chez nous La zone DNS de concerts.paris est hébergée chez Cloudflare : c’est là qu’on ajoute ou modifie un enregistrement (A, CNAME, TXT…).
Voir aussi DNS Enregistrement DNS Cloudflare