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).
||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
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.
Les plugins existants peuvent être reliés : doc2img, spipmotion, facd, ocr, oficina, mediaspip_core, fulltext