Conversions Bibliographiques…

Summer of Fail

Alias a proposé sur son blog un thème de billets, intitulé summer of fail ; l’idée étant de raconter un truc qui n’a pas marché. Il y a là évidemment matière à de nombreux billets, mais une partie de mon cerveau s’est coincé sur le mot été, et donc les évènements qui me viennent à l’esprit sont ceux qui ont eu lieu en été, ou tout du moins ceux où je pense qu’ils ont eu lieu en été. Enfin.

Alors que j’étais encore étudiant à l’université de Genève, j’avais un petit boulot dans un laboratoire dans une autre faculté. Principalement je faisais la maintenance d’un parc de Macintosh, nettoyage des systèmes, mises à jours et backups principalement. Une des applications utilisées par beaucoup de gens était Filemaker, qui était notamment utilisé pour garder une liste des références bibliographiques.

Un des problèmes qui était apparu, c’est que les gens avaient utilisé différent formats pour les références : Bibτεχ d’une côté, OneNote de l’autre. Même avec le même format, les entrées étaient inconsistantes, parfois c’était (nom, prénom), parfois l’inverse, certains entrées séparaient les noms avec des virgules, alors que d’autres ajoutaient un and à la fin, avec ou sans Oxford comma, et évidemment il y avait des noms à particules dans un peu près toutes les langues européennes.

Le directeur du laboratoire m’a demandé un jour si je pouvais créer un outil pour mettre de l’ordre dans ce zoo. J’avais un superbe IDE (CodeWarrior), j’étais en train de terminer mes études, j’allais enfin écrire un vrai programme, je lui ai dit que cela ne devrait pas poser de problème et je me suis mis au boulot.

Évidemment, au moment où j’ai commencé à programmer, je n’avais qu’une idée vague de l’ampleur du problème ; après plusieurs semaines j’ai fini par jeter l’éponge, chaque fois que j’ajoutais la logique pour gérer un cas spécifique un autre cas étrange apparaissait, ou bien je créais une régression. Le problème n’était toujours pas résolu lorsque j’ai quitté l’université.

Ce fut mon premier programme qui manipulait des données non normalisées, or la normalisation de données est typiquement le genre de choses dont on ne parle pas à l’université, avec le recul, je vois assez bien comment j’aurais pu attaquer ce problème:

  • Comprendre mieux les données d’entrée, lire plus sur les formats Bibτεχ et OneNote, faire des statistiques et une liste de cas pathologiques, avoir une personne à qui poser des questions sur ces formats.
  • Comprendre mieux les attentes du client : est-ce que convertir 95% des données et avoir une liste d’entrées nécessitant un traitement manuel aurait été acceptable ?
  • Avoir des tests unitaires pour ne pas se retrouver sans cesse avec des régressions.

Évidemment, à l’époque tout cela m’était largement inconnu…

5 thoughts on “Conversions Bibliographiques…”

  1. Je fabrique des datawarehouses décisionnels pour manger (très loin du bigdata, vus les clients) et la normalisation et le nettoyage c’est vraiment la partie immergée de l’iceberg dont on ne parle jamais , ou plutôt qui n’est pas censée exister jusqu’à ce qu’on s’aperçoive que les données à charger sont pourries.
    Les attentes du client, c’est souvent aussi sa faute : il ne sait pas les exprimer clairement et il ne se méfie pas assez des informaticiens qui foncent tête baissée :-)
    Les tests unitaires, c’est la paranoia qui entre avec l’âge.

    Le bon côté, c’est que le temps perdu ne l’a pas été complètement, puisque tu t’en souviens des années après !

    • Pareil pour moi: je suis responsable de la qualité des données pour Google shopping…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.