Blog ·
Quand le titre ne peut pas être l’intitulé
Une règle qui fait du titre d’un article son intitulé se heurte à une limite de soixante caractères. Cinq langues avaient besoin du motif qui existait déjà.
Par Provibr
L’un de nos articles porte dans son titre un mot qui compte : vulnérabilité. C’est un texte sur un scanner qui envoie zéro octet, et sans ce mot le titre décrit autre chose.
Dans cinq des neuf langues, le mot avait disparu. Pas du corps de l’article, mais du titre, et donc de l’onglet du navigateur, du résultat de recherche et de l’aperçu social. La tâche consistait à le remettre dans les neuf.
Cela s’est révélé impossible sous la forme où la tâche était écrite, et la partie intéressante est de savoir pourquoi.
Deux règles qui ne peuvent pas tenir ensemble
La consigne était la suivante : le titre, le titre social et l’intitulé de l’article ne font qu’une seule chaîne. Dire la même chose aux trois endroits. C’est une bonne règle, et c’est celle que nous avions notée après qu’un relecteur a trouvé un lien promettant une chose et une page en affirmant une autre.
L’autre règle est une bande de longueur. Le titre de page rendu doit compter entre vingt et soixante caractères, suffixe compris, car c’est ce qui tient avant qu’un résultat de recherche ne le tronque. Cette bande n’est pas une préférence : le corpus entier des 850 fichiers générés se tenait à l’intérieur, sans rien au-dehors.
Remettez le mot manquant et l’intitulé complet fait 68 caractères en néerlandais et en italien, 70 en portugais, 71 en espagnol et en français, et 75 en roumain. L’anglais et l’allemand tombent sur exactement 60, coïncidence qui mérite d’être remarquée : les deux langues où l’intitulé honnête tient par hasard sont aussi les deux où la règle a l’air de fonctionner.
L’une des deux règles devait donc céder, et aucune n’est facultative. L’intitulé doit nommer le sujet et le titre doit tenir.
Le motif existait déjà dans la maison
La résolution n’a pas été inventée pour l’occasion. Sur les 850 articles générés, 197 avaient déjà un titre différent de leur intitulé. C’est une chose normale pour un article : l’intitulé est une phrase et le titre est une étiquette.
Le français le faisait déjà sur cet article précis. Son titre se lit comme une étiquette avec deux points, son intitulé comme une question à laquelle le corps répond. Personne n’avait consigné cela comme une décision : c’était simplement ce que quelqu’un avait écrit quand la phrase ne tenait pas.
Le correctif est donc que cinq titres adoptent la forme que près d’un quart du corpus et l’une des neuf langues employaient déjà, et que les intitulés portent la phrase entière. Le mot est présent dans le titre, dans le titre social et dans l’intitulé, et il n’a pas besoin d’être la même chaîne aux trois endroits pour être la même affirmation.
La règle survit, mais elle doit être reformulée : ce qui doit tenir, c’est qu’un lecteur arrivant par un lien reconnaisse la page. L’égalité octet pour octet était une manière commode de l’imposer dans les langues où cela se trouvait être possible.
Pourquoi le garde-fou existant ne pouvait pas trouver cela
Nous venions de construire un garde-fou pour exactement cette famille de problèmes : un texte de lien qui nomme un article autrement que son propre titre. Il était vert ici, et il était vert pour une raison structurelle plutôt que par chance.
Il s’agit d’un défaut de titre. Les titres avaient perdu un mot, et les textes de lien qui pointaient vers eux avaient été raccourcis pour correspondre pendant la ronde qui a construit le garde-fou. Les deux côtés étaient d’accord. Une comparaison entre deux choses qui ont été modifiées ensemble ne peut pas voir qu’elles sont fausses toutes les deux.
Ce qui l’a trouvé, c’est la gestion de versions. Le commit qui a réparé les textes de lien en montrait trois qui avaient été raccourcis, en néerlandais, en italien et en portugais. Le rapport n’en mentionnait que deux. Lire un différentiel plutôt qu’un résumé est ce qui a transformé une tâche à deux éléments en la forme réelle du problème.
Un garde-fou qui a fait le ménage derrière nous
Il y a à la fin de tout ceci une petite séquence qui mérite d’être notée, car c’est le garde-fou qui s’y comporte mieux que les gens qui l’utilisent.
Après le changement des titres, le garde-fou des noms de lien s’est déclenché une fois, sur un lien néerlandais vers un autre article. Cela ressemblait à un dommage collatéral et une exception a été consignée, avec une raison.
Puis les titres ont été ajustés de nouveau pour les ramener à l’intérieur de la bande de longueur, et la constatation a disparu. L’exception était désormais morte : une ligne d’une liste d’exceptions qui ne correspondait à rien.
Il y a dans ce garde-fou un test dont l’unique travail est d’échouer quand une exception n’est jamais atteinte. Il a échoué, et la ligne est sortie. Le différentiel final sur le répertoire du garde-fou est vide, ce qui est l’affirmation la plus forte disponible : la réparation n’a demandé aucune modification des règles.
Une liste d’exceptions qui ne fait que grandir est le document de tout ce à quoi quelqu’un a renoncé un jour. Une liste d’exceptions qui retire ses propres entrées mortes est une liste que l’on peut encore lire dans un an.
De petites choses apprises en chemin
Deux points dans un titre, c’est une forme, pas une décision qui a été mesurée. Cela se lit comme une étiquette plutôt que comme une phrase, cela raccourcit bien, et le français l’avait déjà choisi. C’est noté comme un choix fait sur la forme, car prétendre qu’il sortait d’une mesure serait malhonnête quant à ce qui, dans tout ceci, a été mesuré et ce qui relevait du goût.
Une bande de longueur est une contrainte par langue même quand elle a l’air globale. La même phrase est plus longue de huit caractères dans une langue et de quinze dans une autre, et toute règle exprimée comme « la même chaîne partout » cassera d’abord dans la langue la plus verbeuse. Ici, c’est en général le roumain.
Et une tâche écrite en une consigne de deux lignes peut contenir un conflit qui n’apparaît qu’au moment où l’on essaie de satisfaire les deux moitiés. La bonne réaction n’est pas de satisfaire la moitié la plus facile à vérifier.
Ce que nous noterions
- Quand deux règles se heurtent, aucune des deux n’est fausse. Déterminez laquelle est la garantie et laquelle n’en était que l’application commode.
- L’égalité octet pour octet n’est qu’un substitut de la reconnaissabilité. Énoncez ce que vous voulez réellement.
- Cherchez le motif dans le corpus avant d’en inventer un. Le nôtre était déjà dans 197 fichiers sur 850.
- Une langue qui le fait déjà est une preuve, même quand personne ne l’a consigné comme une décision.
- Un garde-fou ne peut pas voir un défaut là où les deux côtés ont été modifiés ensemble. L’accord n’est pas la justesse.
- Lisez le commit, pas le résumé. Le différentiel comptait trois entrées là où le rapport en avait deux.
- Un test qui échoue sur une entrée morte de la liste d’exceptions fait le ménage derrière vous. Le nôtre a retiré une exception que nous venions d’ajouter.
- Un différentiel vide sur vos règles est le meilleur résultat possible d’une réparation. Cela veut dire que les règles étaient justes.
- Les limites de longueur sont par langue. La même phrase est plus longue de quinze caractères quelque part.
- Dites quelles décisions ont été mesurées et lesquelles relevaient de la forme. Les mélanger fait perdre aux premières leur crédibilité.
Pour être clair : la construction de contenu a produit 850 articles sans aucun avertissement là où elle en produisait cinq auparavant, la vérification de contenu 851 fichiers générés sur 851 identiques octet pour octet, la suite web 4594 verts, la vérification de types sans anomalie, l’analyse statique sans erreur, le balayage octet sur les 25 fichiers touchés inchangé sur chaque décompte, le différentiel exactement 174 lignes ajoutées et 174 retirées, le balayage de mise en page 27 sur 27 à 390 pixels sur l’article dans les neuf langues, l’index du blog 54 sur 54 et six articles ukrainiens 18 sur 18 contre une construction de production. Non prouvé : il y a toujours un seul relecteur par langue, et le choix de la forme avec deux points est une décision de forme plutôt qu’une mesure.
Issu du travail de plateforme sur Provibr. D’où vient la règle sur les titres et les liens est dans Trois défauts qu’aucun script ne pouvait voir, et la manière dont le garde-fou qui l’applique distingue un raccourcissement d’un remplacement est dans Deux noms pour le même article.