Cinq départements, une commune à nommer

Nommez une commune située dans chacun des cinq départements tirés du jour. Il n'y a pas une bonne réponse mais des centaines, et un bouton donne les premières lettres quand rien ne vient. Ce qui se joue n'est pas votre mémoire mais la vitesse de la recherche, qui parcourt les 35 000 communes de France sans jamais appeler le serveur.

  • sans chronomètre

Ce démonstrateur a besoin de JavaScript pour fonctionner. Le reste de la page reste lisible sans lui.

Nommez une commune située dans chacun de ces cinq départements. Tapez les premières lettres de son nom, puis choisissez-la dans la liste.

    Voir la carte

    Comment jouer

    Il faut nommer une commune située dans chacun des cinq départements affichés. N'importe laquelle convient, et chaque département en compte plus de trois cents en moyenne. Chaque parcours a son tirage du jour, identique pour tous ceux qui jouent le même parcours ce jour-là ; le bouton Rejouer en tire cinq autres au hasard.

    Répondre
    Tapez les premières lettres d'un nom de commune. La liste se met à jour à chaque frappe, sans jamais interroger le serveur. C'est la proposition choisie qui est validée, pas le texte tapé : il existe douze Sainte-Colombe, et seule la proposition dit dans quel département se trouve celle que vous visez.
    Écrire approximativement
    Les accents, les tirets et les apostrophes sont ignorés, et « st » vaut « saint ». « st martin de re » trouve Saint-Martin-de-Ré. Les anciens noms des communes fusionnées fonctionnent aussi : Bellegarde-sur-Valserine mène à Valserhône.
    Demander un indice
    Le bouton Indice dévoile le nom d'une commune du département, lettre par lettre, en laissant voir sa longueur et ses traits d'union. Il s'arrête à la moitié des lettres : le dernier pas reste le vôtre. L'indice ne coûte rien.
    Passer un département
    Si rien ne vient, le bouton Passer abandonne le département. Il coûte trente secondes, mais seulement quand le chronomètre tourne.
    Jouer contre la montre
    Le chronomètre est arrêté par défaut, et il se règle avant de commencer : l'enclencher relance le parcours, donc le bouton se verrouille dès la première lettre tapée et redevient disponible au parcours suivant. Une fois enclenché, il démarre à la première lettre tapée et non au chargement de la page, et il se met en pause quand vous quittez l'onglet ou ouvrez cette aide. Il n'y a pas de classement : sans serveur, un temps ne serait pas vérifiable.
    Choisir un parcours
    Les trois parcours changent la difficulté du tirage, pas les règles. Le critère est la taille de la plus grande ville du département, parce que c'est elle qui décide si un nom vient tout seul. Grandes villes ne pioche que là où elle dépasse cent cinquante mille habitants, le Rhône, la Gironde, l'Ille-et-Vilaine. Départements ruraux ne pioche que là où elle en compte moins de trente-trois mille, la Lozère, la Creuse, le Gers. Parcours mixte prend un département dans chacun des cinq niveaux, du plus difficile au plus facile, et c'est celui proposé par défaut.
    Au clavier
    La première proposition est surlignée dès qu'elle apparaît, donc Entrée la valide sans autre geste. Les Flèches servent à en choisir une autre. Échap referme la liste sans effacer la saisie, et un second appui vide le champ.

    La partie se termine quand les cinq départements sont réglés, trouvés ou passés. On ne perd pas, et le bouton Rejouer en tire cinq autres à tout moment.

    Ce qu'il y a derrière

    Un champ qui répond instantanément sur un catalogue de plusieurs dizaines de milliers d'entrées, c'est le problème que rencontrent nos clients de l'immobilier, de l'automobile et de la formation. Le démineur montrait ce que le navigateur offre gratuitement ; cette page montre ce qu'il faut écrire quand il n'offre rien.

    Trente-cinq mille communes en 182 kilooctets

    Le jeu de données vient d'Etalab et couvre les communes de France métropolitaine, avec leurs anciens noms depuis les fusions. Écrit en JSON naïf, le seul bloc des communes actuelles pèse 227 kilooctets une fois compressé. Trié et encodé en front-coding, il tombe à 163. Les anciens noms en ajoutent 19, soit 182 pour le fichier complet. Les contours de la carte en ajoutent 13, et les codes postaux, réservés à un usage secondaire, ne sont chargés que si on les demande. Tout est mis en cache un an, donc payé une seule fois par visiteur.

    L'optimisation qui paraissait évidente et qui a échoué

    Les noms de communes répètent les mêmes mots par milliers, et un dictionnaire global aurait donc dû alléger le fichier. Mesuré, c'est nettement pire : 208 kilooctets contre 163 pour le texte front-codé. Le vocabulaire est trop dispersé pour qu'un dictionnaire rapporte quoi que ce soit.

    La normalisation est le vrai travail

    « Saint-Martin-de-Ré », « st martin de re » et « stmartindere » doivent produire la même clé, sans quoi la recherche est vécue comme injuste. Cette réduction a un prix qui se chiffre : 3 831 communes partagent leur clé avec au moins une autre, douze Sainte-Colombe et onze Saint-Sauveur comprises. C'est pour ça que la validation porte sur la proposition choisie et jamais sur le texte tapé.

    Un composant à écrire à la main, faute de natif

    Le démineur avait le clavier et la restitution vocale sans une ligne de code, parce que ses cases sont de vrais boutons. Ici rien de tel n'existe : un champ doublé d'une liste navigable aux flèches est un motif décrit par la norme ARIA, et il s'écrit entièrement à la main. Fait à moitié, il est pire qu'une simple liste.

    Le classement, découvert en tapant trois lettres

    La première version triait les propositions par longueur de nom. Taper « tou » rendait Toul, Toucy, Tours, Toury, Toudon, Touget, Toulon et Tourch, sans Toulouse. Personne ne l'avait prévu, et un joueur en aurait conclu que le moteur était mauvais. Un palier de population par commune, un seul caractère chacun, remet Tours, Toulon et Toulouse en tête, et fait apparaître Cherbourg-en-Cotentin par son ancien nom Tourlaville.

    Les chiffres de cette page ont été relevés sous Firefox sur un poste de bureau, le 1er août 2026, sur le découpage administratif Etalab 6.0.0. Construire l'index au chargement demande environ soixante-dix millisecondes, une recherche trois centièmes de milliseconde. Le détail de chaque mesure, les cinq écritures comparées une à une et les deux correctifs dont le premier en a cassé un troisième, est dans ce que coûte un index de recherche construit dans le navigateur.

    Notre façon de travailler est détaillée dans notre approche du développement sur mesure, et les autres démonstrateurs sont regroupés dans la section jeux.

    Communes et découpage administratif : Etalab, Licence ouverte. Contours départementaux : IGN ADMIN EXPRESS, Licence ouverte.

    Un catalogue qui doit répondre du premier coup

    Annonces, véhicules, sessions, références techniques : nous concevons des plateformes sur mesure où la recherche reste immédiate quand le catalogue grossit, à Toulouse et partout en France.

    Parlons de votre projet