Décoder des codes-barres

Le classement des affaires non classées 1/2

Ce défi est tiré de c0d1ngUP 2024

Skinner est épouvanté par les archives du bureau des affaires non classées. Il n'y a jamais eu réellement de classement formel des dossiers, et il ne faut pas trop compter sur Mulder pour améliorer la situation, lui qui a plutôt une approche... instinctive si l'on peut dire. Mais avec l'arrivée de Scully dans l'équipe, Skinner espère que les deux coéquipiers pourront mettre au point un système qui soit enfin utilisable et permette d'améliorer la rapidité de traitement des dossiers. En tout cas, il mandate Scully et Mulder pour mettre en place une classification.

Mulder, à son habitude, répugne à ce travail de bureaucrate, mais Scully lui assure que son esprit scientifique permettra de trouver une manière d'identifier aisément les dossiers, et ainsi de ranger les archives et enfin passer à des enquêtes de terrain. Elle met au point un système de code barre qui permettra, après avoir trouvé un libellé à chaque dossier, de créer un code, de le coller sur le dossier, et de noter son emplacement précis. Ainsi un simple scanner permettra de rapidement retrouver le dossier recherché.

Le principe d'encodage de ce système de code-barres est décrit ici.

Nous espérons que les explications de l'agent sont claires. Nous allons maintenant le vérifier. En sollicitant l'URL fournie en entrée, on vous donne 10 entrées nommées code-barresX (avec X valant de 1 à 10). Chaque entrée est un code-barres au format PNG, généré à partir de données d'entrées aléatoires, et encodé en Base64. Vous êtes chargé de les décoder et de fournir la réponse à la même URL en POST, avec 10 entrées nommées libelleX. Par exemple, vous allez recevoir un contenu JSON du type :

{
    'code-barres1': 'iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAZCAIAAABPUgBMAAAAlUlEQVR4nO2RQQrEMAzEhv7/z+ll7TjbsudFSLQhxOM6VEmyxpus46llb36WPoGVo1bhPDJ7dFW7633WDoyu7h5XrLUqI7xPetA6TuZtO/P45ted/2XTv/SKQFEtFtViUS0W1WJRLRbVYlEtFtViUS0W1WJRLRbVYlEtFtViUS0W1WJRLRbVYlEtFtViUS0W1WJRLZYb+LR6th/mvWsAAAAASUVORK5CYII=',
    [...]
    'signature': '<votre signature>',
    'status': 'OK'
}

Et il vous faudra répondre avec le contenu JSON.

{
    'libelle1': 'Assassination case - #1 (JFK)',
    [...]
    'signature': '<votre signature>',
}

Ne tardez pas, des dizaines d'affaire non-classées attendent d'être... classées !

Vous devez être connecté.e pour accéder aux entrées et proposer une réponse au défi.
Vous devez être connecté.e pour accéder aux forums.