Aller au contenu

Journal · 25 août 2026

À quoi ressemble « une instance par client » un mardi

Le dossier d'architecture dit pourquoi Agora donne à chaque client sa propre instance. Voici ce que ça veut dire un jour ordinaire : une mise à jour, un incident, un contrat qui se termine.

Une mise à jour

Mardi, neuf heures. Une release d'Agora est prête : une correction dans l'affichage du décompte des votes du budget participatif, un nouvel export pour le module idées. Chaque client fait tourner sa propre copie, donc une mise à jour n'est pas un déploiement mais un par client : les deux instances d'Eau de Paris, puis les suivantes à mesure qu'elles signent. Le manifeste qui les décrit toutes est le même fichier ; la mise à jour est une boucle dessus.

Ce que le client voit : rien, ou une ligne dans la note de version qu'il reçoit. Ce qu'il ne voit pas, et c'est le point, c'est la mise à jour d'un autre client. Une régie qui a demandé à rester une version en arrière parce que sa propre fenêtre de mise en production est le jeudi reste une version en arrière. Le calendrier de personne d'autre n'est le sien.

Un incident

Mardi, quatorze heures. L'instance d'un client subit une charge inhabituelle : le vote d'un budget participatif vient d'ouvrir et la lettre d'information de toute la ville est partie d'un coup. L'instance ralentit ; la supervision le dit ; le tunnel continue de servir. Les autres instances n'en savent rien. Il n'y a pas de base partagée à verrouiller, pas de processus partagé à affamer. Le client qui vote a notre attention ; le client qui ne vote pas a son mardi.

Si la charge avait été un incident de sécurité, le rayon aurait été le même : une instance, une base, un client à appeler. Cette phrase est toute la réponse à la question « qui d'autre est sur votre serveur ? », et c'est une phrase que nous pouvons écrire dans un questionnaire sécurité sans note de bas de page.

Une restitution

Mardi, fin de journée. Un contrat se termine, pas celui-ci, mais l'un se terminera. Le client reçoit un export SQL de sa base, ses fichiers médias, et le dictionnaire de données qui dit ce que contient chaque table et chaque colonne. Rien n'a à être extrait des lignes de quelqu'un d'autre parce qu'il n'y a que les siennes. L'instance est ensuite effacée et un procès-verbal de l'effacement rédigé.

C'est la partie de l'architecture à laquelle nous tenons le plus. Un acheteur public signe pour vingt-quatre mois ; ce qu'il reçoit à la fin devrait être à lui, à emporter ailleurs, lisible, complet. L'isolation au début fait de la restitution à la fin une copie, pas un projet.