Maintenance harassante

Argh !Ah mon Dieu ! Quelle épouvantable maintenance ! J'ai dû intervenir à la main sur les fichiers de la base de données pour réparer le produit d'un funeste enchaînement de circonstances. J'ai bien crû que jamais je ne parviendrais à réparer les dégâts, surtout quand au 9ème contrôle d'intégrité, revenait invariablement 1 erreur ! Au final, je n'ai perdu que 3 courts fils de discussion du forum - que les intéressés (Pi_R, Aldweb et Zeblai) me pardonnent...

Et tout ça pour mettre mon site en conformité avec les standards ! On m'y reprendra, tiens ! Figurez-vous que j'ai découvert que les bonnes pratiques du web recommandent de ne plus utiliser l'attribut target="_blank" dans la syntaxe des hyperliens, tandis que le XHTML strict en proscrit carrément l'usage. Cet attribut permet de charger la page visée par l'hyperlien dans une nouvelle fenêtre. Or, jusqu'à présent, j'en affublais systématiquement les liens qui pointaient vers des sites externes, benoîtement persuadée de rendre service au visiteur : en effet, j'avais lu que les internautes ont tendance à dériver passivement de lien en lien, au risque d'en oublier et leur destination et leur provenance. De ce point de vue, arguait-on, employer l'attribut target="_blank" leur rendait un fier service, car les visiteurs pouvaient suivre les liens externes, sans quitter le présent site. Naïvement, j'accréditais l'idée commune que tout le monde y gagnait en convivialité.

Force m'est pourtant de confesser que depuis que j'utilise Firefox, équipé de l'extension Super Drag and Go qui permet d'ouvrir les liens dans de nouveaux onglets via un simple glisser-relâcher, j'éprouve de plus en plus de gêne à voir surgir une nouvelle fenêtre là où je m'attends juste à "tourner" une page. Quand on a goûté à la navigation par onglets, on rechigne à voir son écran envahi de multiples fenêtres indésirables. En outre, à bien y songer, l'usage du target="_blank" relève d'une forme de discourtoisie : il s'apparente à du "forcing", puisqu'il entrave la liberté du visiteur, en lui imposant des modalités de navigation auxquelles il n'a pas donné son assentiment. Respecter la liberté du visiteur (donc le visiteur lui-même) suppose de lui laisser les rênes de sa navigation : soit ouvrir le lien dans une nouvelle fenêtre, afin de s'en garder l'exploration en réserve pour plus tard, soit suivre le lien pointé et quitter la page de départ.

Forte de ces puissantes réflexions, j'entrepris d'expurger Saute-mouton des centaines d'attributs target="_blank" qui en parsèment le code. D'abord, je modifiai le source en altérant les fichiers qui modèlent les pages. Il me restait encore à modifier les liens insérés dans les articles, les billets, le forum, les photos... bref le contenu. Pour m'épargner la modification de chaque item via l'admin - ce qui n'aurait pas laissé d'être fastidieux - j'eus l'idée de lancer un utilitaire de recherche-remplacement dans les fichiers du dossier data/. Après avoir sauvegardé le site par mesure de prudence, je dupliquai data/ et lançai SearchandReplace98 à la chasse aux targets. Je réinjectai ensuite le contenu de data/ en ligne. A première vue, tout était en place. Dans l'admin, où je m'apprêtais d'humeur joyeuse à rédiger un billet, je rencontrai plusieurs parse errors qui donnèrent l'alarme. L'examen des fichiers incriminés révélait que le logiciel avait tronqué les données les plus longues, de sorte que les billets de quelque ampleur avaient été copieusement caviardés...

Maugréant contre les logiciels qui ne font pas leur boulot et m'obligent à faire le mien, je restaurai derechef la sauvegarde du répertoire data/. Un contrôle d'intégrité décela une kyrielle d'erreurs. J'étais stupéfaite : comment cela était-il possible, alors que le contrôle d'intégrité lancé sur ce même dossier avant la catastrophe avait été parfait ? Un coup d'oeil sur le site acheva de me paniquer : des articles se retrouvaient dans l'annuaire, tandis que les billets s'affichaient dans les boîtes latérales ; c'était le bronx. Je pouvais légitimement conclure de ce massacre que la base de données était désalignée ; j'imaginais déjà le pire et, incapable de réfléchir, lançai un nouveau contrôle d'intégrité qui échoua. L'idée me vint enfin d'inspecter par FTP le dossier data/. Eurêka ! Il manquait une centaine de fichiers, dont le transfert avait dû échouer lors du chargement.

Je corrigeai vite le tir et revins pantelante admirer les effets de ce rétablissement : de fait, le site avait retrouvé un aspect normal. Pour conforter les apparences, je lançai un contrôle d'intégrité qui signala une erreur. Rien de grave, me rassurai-je : puisqu'elle a été réparée, le prochain contrôle sera parfait. Que nenni ! Encore 1 erreur. Hein ? Ne nous décourageons pas, relançons bravement l'offensive. Rebelote : 1 erreur... et ainsi de suite jusqu'au 9ème contrôle (je suis du genre entêtée demeurée), où je parvins à surprendre au vol l'ID du fichier fautif. En FTP, je l'extirpai du lot ; c'était à pleurer : il ne présentait aucun défaut. Du reste, comme il était totalement vide, on ne pouvait le blâmer de rien. C'est alors que la lumière illumina les ténèbres de mon esprit : bon sang, mais c'est bien sûr ! Data/ ne doit contenir aucun fichier à 0ko ! J'effaçai le coupable, relançai le contrôle d'intégrité, qui répara 3 erreurs et effaça quelques posts du forum. Un dernier moulinage eut raison de ma ténacité : enfin, tout était rentré dans l'ordre.

Quoi, j'aurais donc passé plusieurs heures, transie d'angoisse, pour rien ?, me défendai-je, quand la voix de la sagesse me susurra de laisser tomber cette histoire de "target=_blank". L'adage ne conseille-t-il pas au cavalier qui a fait une mauvaise chute de remonter sitôt en selle ? Il ne serait pas dit que la machine - ou la malchance, c'est égal - l'emporterait, question de principe. Je "détargetisai" donc à la main, patieeeeeemment, tous les liens des marque-ta-page, des cartons, de la Toile insolite, des boîtes latérales et du photorama (2 heures). Enfin, je repérai les numéros d'identification des billets à assainir et réparai les fichiers correspondants par FTP (1 heure).

Et voilà ! Le résultat est sous vos yeux... invisible wink Il reste sans doute quelques liens targetisés orphelins ; ils seront soigneusement exterminés à l'occasion ("oh oui, plutôt à ce moment-là, M. Preskovitch")

Saute-Mouton - http://realia.free.fr/sautemouton_avril/newsprt.php?lng=fr&pg=1521 - [Version PDF]