Comment ça marche
Une conversion tient en quatre étapes : nous déterminons ce qu’est vraiment le fichier, nous cherchons un chemin vers le format demandé, nous l’exécutons et nous vous remettons le résultat. Les voici une par une.
Nous détectons le format d’après les octets, pas d’après le nom
Un fichier nommé report.pdf n’est pas forcément un PDF, et un fichier sans aucune extension reste le plus souvent identifiable. La première chose que nous faisons est donc de lire les premiers octets de l’envoi et de les comparer à des signatures de formats connues.
Cela compte plus qu’il n’y paraît. Se fier à l’extension, c’est faire échouer un fichier renommé avec une erreur incompréhensible ou, pire, le confier au mauvais outil. Lire les octets, c’est convertir correctement un fichier mal étiqueté et rejeter clairement celui qui n’est réellement pas ce qu’il prétend.
Les conversions forment un graphe, pas une liste
Chaque conversion prise en charge est une arête entre deux formats, et chaque arête enregistre sa fidélité, son coût approximatif et la taille d’entrée maximale qu’elle accepte. C’est de ce graphe que sont générées les pages de formats, et il est publié intégralement via l’API.
S’il n’existe aucune arête entre les deux formats que vous avez nommés, on vous le dit immédiatement et non après un envoi. Rien n’est discrètement acheminé par un format intermédiaire avec pertes pour donner l’illusion qu’une conversion fonctionne.
Les conversions rapides s’exécutent à la volée, les lentes passent en file
Redimensionner une image prend bien moins d’une seconde : cela s’exécute dans la requête elle-même et la réponse contient déjà le résultat. Rendre un long document ou transcoder de la vidéo, non : ces tâches sont mises en file et prises en charge par un ensemble de processus dédiés.
Vous n’avez jamais à deviner ce que vous avez obtenu. Une tâche terminée revient avec le résultat ; une tâche en file revient avec un identifiant, une position dans la file et une estimation, et vous l’interrogez ou vous attendez l’e-mail.
Dans l’offre Plus, le travail en file passe devant celui des offres gratuites : c’est ce que signifie concrètement la priorité de cette offre.
Rien n’est converti deux fois par deux chemins différents
Le site, l’API et la conversion par e-mail sont trois portes vers une seule chaîne de traitement. Elles ne diffèrent que par la façon dont l’appelant est identifié — un cookie de session, un jeton bearer ou l’expéditeur d’un e-mail — puis exécutent exactement le même code.
C’est une contrainte délibérée, pas un détail d’implémentation. Deux implémentations de « vérifier le quota, renifler les octets, sécuriser l’archive », c’est ainsi que l’une d’elles finit par sauter une étape pour précisément ceux qui le remarqueront le moins.