Chez Trakstar Hire, l'une des tâches courantes des utilisateurs consiste à consulter les CV des candidats. Nous affichons un aperçu rapide du CV afin que les utilisateurs n'aient pas à télécharger puis à ouvrir chaque fichier. Nous souhaitons que cette opération soit rapide et efficace (car un utilisateur examine généralement des dizaines de CV en une seule fois). Il s'avère que ce problème est difficile à résoudre.
Trakstar Hire accepte les CV dans presque tous les formats possibles (doc, docx, pdf, rtf, odt, etc.). L'une des façons de les prévisualiser consiste à utiliser un visualiseur de documents intégré (comme Google, Zoho, Scribd, etc.). Cela nécessite soit (a) une conversion à la volée (ce qui les ralentit), soit (b) le stockage d'un document avec eux (ce qui est également lent la première fois, augmente les coûts et nous oblige à confier les données de nos clients à un autre service). Aucune de ces deux solutions ne nous convenait.
Nous avons décidé d'offrir à nos utilisateurs un aperçu textuel des CV. À première vue, cela semble assez simple. Un outil tel qu'Apache Tika est assez fiable et rapide pour cela. Cependant, les CV simplement convertis en texte brut ne sont pas très lisibles. En particulier si le fichier d'origine comporte beaucoup de mise en forme. Les tableaux sont déformés et les CV bien formatés apparaissent souvent brouillés. Nous voulions une meilleure alternative.
L'approche que nous avons finalement choisie consiste à convertir d'abord tous les documents au format HTML, puis à convertir ce HTML en texte. Le HTML permet de conserver les mises en forme importantes et nous fournit une base commune pour la conversion de texte. La plupart de nos premières tentatives pour trouver des convertisseurs de documents au format HTML nous ont conduits à Open Office (fonctionnant comme un serveur sans interface graphique). Malheureusement, Open Office était bogué et plantait souvent lors de la conversion par lots de documents au format HTML. Cela m'a causé plus de nuits blanches que le reste de mon code d'application réuni. Nous avons finalement découvert Abiword, qui effectue cette tâche de manière beaucoup plus fiable.
Je teste actuellement Abiword avec plus de 100 000 documents. Jusqu'à présent, tout fonctionne bien. Je constate quelques petits problèmes lors de la conversion de fichiers PDF en HTML, mais je pense pouvoir m'en accommoder. J'utiliserai pdf2html à la place d'Abiword pour les documents PDF.
La conversion du code HTML en texte (lisible) est l'autre pièce du puzzle. Nous résolvons ce problème à l'aide d'un navigateur web textuel, w3m. Celui-ci convertit efficacement le balisage en texte lisible (à l'aide de points, tirets, etc.). Le résultat final est très satisfaisant.
J'espère que cela sera utile à d'autres personnes confrontées à un problème similaire.
