Carnet Wiki

API de conversion de fichiers

Version 3 — Octobre 2013 severo

Pour réfléchir autour de l’idée d’une API et d’un système client/serveur pour la conversion de fichiers (documents, images, son, vidéos).

Ce qu’on veut pouvoir faire

||Actions souhaitées avec l’API|Liste des actions souhaitées avec l’API||
|Fichier en entrée|Action|Résultat|
|Documents doc|ou odt, rtf...||
|doc|convertir en odt|odt|
|doc|convertir en PDF|pdf|
|doc|générer un vignette (image de la première page)|png|
|doc|générer une image par page|plusieurs png|
|doc|extraire le texte brut|texte|
|doc|convertir en HTML (avec option pour intégrer les images en base64)|html|
|Documents PDF|ou tiff multipage, ps, epub ?||
|pdf|générer un vignette (image de la première page)|png|
|pdf|générer une image par page|plusieurs png|
|pdf|extraire le texte brut (avec option OCR si aucun texte n’est inclus directement)|texte|
|pdf|convertir en HTML (avec option pour intégrer les images en base64)|html|
|pdf|convertir en doc (éventuellement)|doc|
|Images|||
|png|convertir en un autre format|jpg|
|png|extraire le texte brut par OCR|texte|
|Sons|||
|mp3|convertir en un autre format|ogg|
|mp3|extraire le texte correspondant (reconnaissance vocale, on peut rêver)|texte|
|Vidéos|||
|avi|convertir en un autre format|ogv|
|avi|extraire le texte correspondant (reconnaissance vocale, on peut rêver)|texte|

faire un tableau d’actions possibles

Client et Serveur

Pour chacune de ces actions, le client donne accès au fichier (par URL ou par transfert) au serveur. Le serveur effectue l’action. Finalement il met à disposition du client une URL pour récupérer le résultat, durant le temps nécessaire à son téléchargement.

En retour de sa demande de conversion, le client reçoit une URL contenant par exemple une clé unique. Durant le temps de la conversion, l’URL retourne un statut HTTP qui indique que la conversion n’est pas fini. Lorsque le résultat est prêt, l’URL retourne le résultat.

L’URL peut donner accès au fichier à télécharger directement, ou fichier de données (par exemple JSON) qui indique l’URL où télécharger le ou les fichiers, ou éventuellement qui contient lui même le résultat.

Plugins en relation

Les plugins existants peuvent être reliés : doc2img, spipmotion, facd, ocr, oficina, mediaspip_core, fulltext