Résumé

  • Le journal de la version 2.12.0, daté du 18 août 2026, indique que les administrations et les universités peuvent demander le suivi de leur domaine, grâce à un bouton placé sur l’accueil et sur chaque page pays.
  • Les fichiers publics recueillis le 5 septembre contiennent ces deux contrôles avec l’attribut hidden. Le script commun laisse FORM_URL vide et n’affiche les boutons qu’après validation d’une adresse HTTPS absolue.
  • Le mécanisme est volontairement fermé en cas d’échec, tandis que d’autres mesures de sécurité de la même version sont visibles. Il s’agit donc d’un état mixte au niveau des fonctionnalités, et non de la preuve d’une panne générale ou de l’absence de tout autre canal.

Une promesse, trois états

Une note de version peut annoncer une fonction, le HTML peut en porter le contrôle, et l’exploitation peut néanmoins la laisser inactive. Le moniteur Africa IPv6 & DNSSEC d’AFRINIC réunit ces trois états dans des fichiers que tout lecteur peut consulter.

Le 18 août 2026, le journal public attribue à la version 2.12.0 deux nouveautés liées. Les opérateurs de domaines gouvernementaux et universitaires peuvent, dit-il, demander leur ajout au suivi. Un bouton « Request monitoring » apparaît sur la page d’accueil et en haut de toutes les pages pays.

Le 5 septembre, la page d’accueil servie par le site contient effectivement un lien portant l’attribut data-request-form. Il est muni de href="#" et de l’attribut booléen hidden. Un commentaire voisin précise que la destination sera fournie par request-form.js et que le contrôle restera masqué jusque-là. La page consacrée à l’Afrique du Sud comporte le même dispositif dans sa barre supérieure.

Présent dans le document n’est donc pas synonyme de disponible pour l’utilisateur. La feuille de style rend la distinction explicite : .hero-cta[hidden] et .topnav-cta[hidden] reçoivent tous deux display: none.

L’adresse vide décide de l’affichage

Le script partagé commence par une configuration manuelle :

const FORM_URL = '';

Il recherche ensuite tous les éléments data-request-form. La valeur doit pouvoir être transformée en URL et son protocole doit être https:. Si elle est absente, mal formée ou utilise un autre schéma, le programme s’arrête. Il ne remplace pas le #, n’enlève pas l’attribut caché et ne crée pas de solution de repli.

Lorsqu’une adresse valide existe, le script l’attribue au lien, ouvre la destination dans un nouvel onglet, ajoute noopener noreferrer external, puis exécute btn.hidden = false. Avec la chaîne vide livrée le 5 septembre, cette branche n’est pas accessible.

Les autres scripts des deux pages ne fournissent pas de voie parallèle. Le code de l’accueil construit le tableau des pays et ses indicateurs. Celui de la page pays charge et présente les données nationales. Aucun ne recherche data-request-form. Les deux documents chargent le script spécialisé qui concentre la logique de la demande.

Cette lecture repose sur le HTML, le JavaScript, le CSS et les en-têtes réellement servis. Elle ne repose pas sur une capture d’écran : l’inspection visuelle dans un navigateur n’a pas abouti. Le comportement déterminé par les fichiers est assez clair pour qualifier le contrôle de déployé et désactivé, mais pas pour prétendre avoir observé manuellement son absence à l’écran.

Le choix de masquer est raisonnable

Il faut distinguer la qualité du mécanisme de la justesse du récit de version. Laisser un bouton pointer vers # donnerait une interface trompeuse. Accepter un schéma arbitraire ouvrirait une surface inutile. Le script choisit une adresse HTTPS absolue, traite la valeur collée à la main comme non fiable, et ne montre rien tant que la validation échoue. Il retire aussi à la page ouverte l’accès à window.opener et limite la transmission du référent.

C’est une bonne manière d’échouer. Elle réduit le risque immédiat pour le visiteur. Mais elle ne rend pas exacte la phrase selon laquelle l’opérateur peut demander le suivi au moyen d’un bouton qui « apparaît ». Le code protège l’interface ; il ne corrige pas le journal des changements.

Il est possible que l’adresse ait été omise volontairement, qu’un formulaire existe ailleurs, qu’une autre procédure soit communiquée aux membres, ou que la fonction ait été active avant la collecte. Les sources examinées n’en disent rien. Aucune demande n’a été envoyée, aucun accusé de réception n’a été testé, aucune durée d’indisponibilité n’est établie.

Le constat doit rester daté. Les actifs JavaScript et CSS annonçaient une durée de cache publique d’une heure. Une nouvelle configuration peut donc modifier rapidement la situation. Le présent article décrit les octets reçus le 5 septembre 2026, pas une propriété éternelle du service.

Une version n’est pas un bloc indivisible

La même livraison 2.12.0 mentionne plusieurs renforcements de sécurité. Le déploiement public en laisse voir au moins deux. Le fichier robots.txt interdit l’exploration de /data/ et explique que les JSON alimentant le tableau de bord ne sont pas destinés à l’indexation. La réponse directe pour le fichier sud-africain reste accessible au site, mais porte l’en-tête X-Robots-Tag: noindex.

Le script pays contient en outre une fonction d’échappement des caractères spéciaux. Il l’emploie sur les noms de pays introduits dans le HTML des infobulles cartographiques, conformément à une autre ligne du journal de version.

La note affirme aussi que les fichiers de travail de construction ne sont plus accessibles sur le Web. Aucun chemin non spécifié n’a été sondé pour cette enquête ; cette partie demeure donc une déclaration d’AFRINIC, non une reproduction indépendante.

Ces observations interdisent le raccourci « la version a échoué ». La protection contre l’indexation et l’échappement sont visibles ; l’entrée de demande demeure sans destination. Une seule étiquette de version recouvre des fonctions qui ont franchi des étapes différentes.

Question opérationnelle État observé le 5 septembre
La note annonce-t-elle les demandes de suivi ? Oui
Les deux familles de pages contiennent-elles le contrôle ? Oui
Le contrôle est-il initialement masqué ? Oui
Le script possède-t-il une destination ? Non, FORM_URL est vide
Le refus par défaut est-il sûr ? Oui
Une demande complète a-t-elle été acceptée ? Non testé, donc inconnu
D’autres éléments de 2.12.0 sont-ils observables ? Oui

Ne pas inventer l’effet sur les mesures

La présence ou l’absence du bouton ne permet pas de recalculer les statistiques IPv6 ou DNSSEC. Aucun domaine n’a été soumis durant l’examen. Aucun dossier n’a été admis dans le corpus, et aucune nouvelle mesure n’a été lancée. On ne peut donc attribuer au bouton caché ni une proportion particulière de domaines manquants ni un biais mesuré dans un pays.

Un mécanisme plausible mérite toutefois d’être conservé comme question. Si le canal public manque, un opérateur qui connaît déjà l’équipe peut trouver un passage informel, alors qu’un nouvel acteur s’arrête au site. La composition du corpus pourrait alors refléter les relations préexistantes. Ce n’est pas un résultat observé : il faudrait disposer des demandes reçues, des décisions d’admission et des changements du corpus pour le tester.

Le moniteur gagnerait donc à conserver la chaîne précédant la mesure : demande reçue, accusé, décision, ajout du domaine, premier balayage, puis motif d’un éventuel refus. Cette provenance donne un sens au dénominateur sans transformer le tableau de bord en juge de la politique numérique.

Une preuve d’activation par fonctionnalité

Le correctif documentaire est modeste. À côté de chaque promesse de version, un reçu peut indiquer la version, le texte annoncé, l’empreinte de l’actif déployé, l’état de la destination, les surfaces testées, l’heure effective, le rôle responsable et le résultat d’un essai de bout en bout. Un identifiant d’accusé peut être conservé sans publier le contenu sensible de la demande.

Le reçu doit prévoir différé et retiré, pas seulement activé. Si AFRINIC décide que le formulaire n’est pas prêt, corriger la note publique est une résolution honnête. Le but n’est pas de forcer l’activation, mais de faire correspondre le texte, la configuration et l’expérience opérateur.

Cette granularité préserve également les succès de la version. Les améliorations de sécurité peuvent être acceptées avec leurs propres preuves, sans attendre la demande de suivi. À l’inverse, elles ne servent pas à déclarer ce canal disponible. Une version devient ainsi une collection d’états vérifiables, non une case unique.

Sources

La promesse figure dans le journal public des versions. Les contrôles déployés ont été relevés sur l’accueil du moniteur et la page Afrique du Sud. Leur logique commune est publiée dans request-form.js. Le script d’accueil, le script pays et la feuille de style permettent de délimiter le rôle de chaque composant.

La comparaison de sécurité utilise robots.txt, les en-têtes et le contenu du JSON sud-africain, ainsi que la fonction d’échappement du script pays. Tous ces éléments publics ont été collectés le 5 septembre 2026. Aucun formulaire n’a été envoyé et aucune observation visuelle réussie dans un navigateur n’est revendiquée.