Certaines lignes comportaient des mots anglais mal orthographiés, voire un mélange de ponctuation mi-chasse mi-pleine.
Ce n'était pas du code qu'un programmeur aurait écrit. C'étaient des ordures brutes, saisies manuellement par des employés de bureau qui ne connaissaient rien à l'informatique, utilisant toutes les méthodes de saisie les plus farfelues imaginables.
« Qu'est-ce qui ne va pas ? »
Chen Zhuo sentait bien que Chu Ge n'allait pas bien.
Chu Ge pointa du doigt le charabia à l'écran.
« Le client veut qu'on fasse un test avec ces données brutes. »
Chu Ge se massa les tempes douloureuses.
« Ce boulot est impossible. Les données sont trop sales. Elles regorgent d'erreurs de saisie humaine qui ne suivent aucun schéma logique. »
Chen Zhuo s'approcha et jeta un œil à l'écran.
« Tu ne peux pas écrire un script regex pour filtrer tout ça ? »
« Non. »
Chu Ge secoua la tête.
« Les expressions régulières ne peuvent attraper que des motifs. Regarde cette ligne. Ils ont tapé "apple" en "pinguo", et juste à côté il y a un argot internet bizarre. Dès que ça atteint la logique de bas niveau, le programme le signale comme variable anormale et plante. »
Chu Ge serra les dents.
« Ces salauds. Ils ne veulent pas perdre de temps à nettoyer eux-mêmes leurs ordures, alors ils croient pouvoir me filer quinze cents balles pour que je code le programme *et* que je nettoie les données. »
Non loin, le son de la voix de Chu Ge réveilla Lu Jia.
Il se redressa difficilement.
Il jeta un coup d'œil à l'écran.
« Il n'y a pas de motif mathématique ici. »
Lu Jia conclut d'un seul regard, la voix encore rauque de sommeil.
« Une équation algébrique ne peut pas résoudre des erreurs aléatoires. »
La pièce tomba dans le silence.
Chu Ge s'affala dans sa chaise, fixant les vingt mille lignes de données à l'écran, le moral en berne.
Il avait tiré une nuit blanche, et son cerveau semblait prêt à exploser.
Et ils étaient si près du but.
« Et si... j'écrivais un script plus complexe demain ? J'ajouterais quelques conditions, je filtrerais ce que je peux, et on verrait bien ? »
Même Chu Ge n'y croyait pas lui-même.
C'était du travail de forçat. Utiliser du code pour se prémunir contre la bêtise humaine, c'était la tâche la plus ingrate qui soit.
Chen Zhuo regardait le texte corrompu défiler sans fin à l'écran.
Il saisit la souris et fit défiler quelques pages plus bas.
« Pas besoin de script. » Chen Zhuo lâcha la souris. « Une machine ne peut pas distinguer ce genre d'erreurs aléatoires, mais l'œil humain le peut. »
Chu Ge resta bouche bée.
« Toutes les vingt mille lignes ? Purement à l'œil ? Ça prendrait combien de temps ? »
« C'est lent pour une seule personne de vérifier vingt mille lignes, bien sûr. »
Chen Zhuo alla vers son sac, en sortit une disquette vierge flambant neuve, et l'inséra dans le lecteur de l'ordinateur de Chu Ge.
Chen Zhuo glissa le document texte bourré de données brutes dessus.
Il éjecta la disquette et la mit dans sa poche.
Il lança un coup d'œil à Chu Ge, puis à Lu Jia qui se frottait les yeux.
« Laissez-moi ce boulot. »
Chen Zhuo alla à la fenêtre et entrouvrit le rideau.
Dehors, le ciel commençait déjà à blanchir à l'aube.
« J'ai pas cours ce matin. Vous deux, éteignez l'ordinateur et allez dormir. »
Chen Zhuo se retourna.
« Je ramène les données propres demain soir. Vous lancerez le programme et vous le livrerez. »
Chu Ge ouvrit la bouche, voulant demander où Chen Zhuo allait bien pouvoir trouver des gens pour éplucher vingt mille lignes de données.
Mais devant le calme de Chen Zhuo, il avala sa question.
« D'accord. »
Chu Ge ne tenait plus debout.
Il éteignit l'ordinateur.
Il ramassa les feuilles de brouillon qui jonchaient le bureau et les fourra dans sa poche.
Il tapa sur l'épaule de Wang Dayong qui ronflait encore.
Dayong se réveilla en sursaut et s'essuya la bave au coin de la bouche.
« C'est fini de tourner ? »
« Ouais, c'est fini. Retourne dormir. »
Chu Ge se leva et s'étira.
Il jeta un regard à Chen Zhuo, zappant les politesses.
« Merci. »
Chu Ge quitta la chambre 215 avec Lu Jia.
« Dix heures du matin. L'ancienne bibliothèque de Keda. »
La lumière du soleil filtrait à travers les feuilles de lierre, dessinant un motif tacheté d'ombre et de lumière sur le parquet.
Il n'y avait presque personne au comptoir de prêt.
Su Wei était perchée sur un tabouret haut.
Elle tenait un vieux livre à reliure filaire usé, recousant soigneusement ses pages détachées.
Chen Zhuo s'approcha et posa la disquette qu'il tenait sur le comptoir en bois.
Elle atterrit avec un léger CLAC.
Su Wei leva les yeux.
Son regard se posa sur la disquette, puis glissa vers Chen Zhuo.
« Carte de bibliothèque ? » demanda Su Wei.
« Je n'emprunte pas de livre. »
Chen Zhuo tira une chaise voisine et s'assit, la regardant par-dessus le comptoir.
« J'ai un boulot pour toi, si tu veux arrondir tes fins de mois. »
Su Weiposa le livre filaire et la colle, puis prit une serviette sèche à côté pour s'essuyer les mains.
« J'écoute. »
« Cette disquette contient vingt mille lignes de données textuelles en vrac. »
Chen Zhuo désigna le carré de plastique noir.
« C'est bourré d'étiquettes saisies à la main, pleines de fautes d'orthographe, de charabia et de symboles sans queue ni tête. »
Il plongea son regard dans celui de Su Wei.
« Un algorithme machine ne peut pas filtrer ce genre de données sales parce qu'il n'y a aucun schéma logique dans les erreurs. Il faut quelqu'un pour passer ligne par ligne, virer les lignes pourries et garder celles qui sont bien formatées. »
Su Wei regarda la disquette sans un mot, évaluant mentalement la charge de travail.
« Vingt mille lignes. Si tu es rapide, tu peux finir pour demain. »
Le ton de Chen Zhuo était plat.
« Apporte-moi ça avant dix-huit heures demain. Cinquante balles. »
Su Wei attrapa la disquette.
Elle la retourner pour examiner le verso.
« C'est quoi, alors ? La sous-traitance d'une sous-traitance ? »
Le coin de la bouche de Su Wei tressaillit légèrement.
Chen Zhuo sourit.
« On peut le voir comme ça. Une équipe de bras cassés est tombée sur du travail manuel que la puissance de calcul brute ne peut pas résoudre. »
Su Wei glissa la disquette dans la poche de son gilet.
« J'accepte. Mais je ne peux pas brancher n'importe quelle disquette sur les ordinateurs de la biblio. Je devrai attendre ce soir, de retour au dortoir, pour emprunter l'ordi de ma coloc et regarder. »
« Ça marche. Je passe la chercher demain après-midi. »
Chen Zhuo se leva, prêt à partir.
« Attends. »
Su Wei l'appela.
Chen Zhuo se retourna.
« Si c'est un document texte, les vingt mille lignes de données sont continues. »
Su Wei le fixa.
« J'ai lu un peu sur ce genre de truc avant. Si je supprime une ligne, comment tu feras pour garantir que les images correspondantes ne se décalent pas à l'import ? »