Créer une application IA avec AutoCoder.cc et préparer le backend pour la production

Un guide pratique de la génération dans AutoCoder.cc jusqu'à la configuration sûre de l'API, au smoke test et à la recette technique du backend.

AutoCoder.cc peut transformer une description de produit en projet avec frontend, backend, base de données et authentification. C'est davantage qu'une maquette d'interface, mais la génération du code ne vaut pas recette de production. Il reste à choisir où conserver les secrets, comment migrer le schéma, qui peut accéder à chaque ressource et comment l'application réagit quand une API externe échoue.

Le parcours le plus fiable consiste à valider d'abord un scénario utilisateur, à choisir entre la publication dans AutoCoder et l'export du code, puis à traiter le backend exporté comme tout autre service soumis à une recette d'ingénierie. Nous suivrons ce passage avec une fonction d'analyse de documents alimentée par un modèle.

Décrire un parcours vérifiable plutôt qu'une liste d'écrans

La présentation officielle d'AutoCoder cite la génération du frontend et de l'UI, des API et de la logique backend, la persistance des données, l'authentification, le déploiement et l'export du code source. Le flux Build transforme une description en langage naturel en Requirement List que vous pouvez préciser avant la génération de la démo.

Au lieu de demander seulement une page de connexion, un tableau de bord et un formulaire, décrivez un résultat complet. Pour un service d'analyse documentaire :

  1. L'utilisateur crée un compte et charge un type de fichier autorisé.
  2. Le backend contrôle la taille, le format et la propriété du document.
  3. La tâche d'analyse reçoit un identifiant et un état visible.
  4. L'API du modèle est appelée uniquement depuis le backend.
  5. L'interface affiche le résultat ou une erreur maîtrisée sans exposer la clé ni la réponse interne du fournisseur.

Après la génération, rejouez le parcours avec un fichier valide, un fichier invalide et un envoi répété. Vous trouverez ainsi les contrôles d'accès absents, les tâches en double ou les états d'erreur bloquants qu'une simple revue visuelle de la page d'accueil ne révèle pas.

Publication sur la plateforme ou export du code

AutoCoder propose deux passages distincts de l'éditeur vers une URL. La publication intégrée crée une Website URL et une Backend URL. Elle convient à une démo ou à un test initial, car une partie de l'infrastructure reste dans le périmètre de la plateforme.

L'export répond au besoin de maîtriser le dépôt, les environnements, CI/CD, les secrets, le serveur et le rollback. Selon les pages actuelles Plans & Credits et Deploy & Hosting, Source Code Export est réservé aux offres payantes et n'est pas disponible dans Free. Les prix et crédits pouvant évoluer, consultez la page à jour avant achat au lieu de figer un ancien chiffre dans l'architecture.

Posez quatre questions pour décider :

  • Avez-vous surtout besoin d'une URL rapide pour tester l'idée ?
  • Faut-il séparer dev, staging et production ?
  • Votre équipe doit-elle contrôler directement CI/CD, secrets et rollback ?
  • Peut-elle exploiter, corriger et superviser l'application ?

Le code exporté marque le début de la recette technique. Il ne prouve pas que les dépendances ont été auditées, que les permissions sont correctes, que les migrations sont réversibles ou que le service supporte le trafic attendu.

Placer l'API du modèle derrière le backend

Dans cette architecture, AutoCoder génère et exporte la couche applicative : interface, logique serveur et structures de données. BetterToken intervient dans le backend comme API de modèles pour la synthèse, la classification ou l'extraction. La clé API ne doit jamais apparaître dans le bundle frontend, le HTML, un paquet mobile ou un dépôt public.

La référence publique actuelle de BetterToken documente Chat Completions compatible avec OpenAI :

Base URL: https://www.bettertoken.ai/v1 Request URL: https://www.bettertoken.ai/v1/chat/completions Authorization: Bearer YOUR_API_KEY Model: YOUR_MODEL_ID

Gardez YOUR_MODEL_ID comme paramètre de configuration. Copiez l'identifiant actuel depuis le catalogue de modèles ou le Setup de la clé concernée dans Console. Un nom trouvé dans un ancien tutoriel ne constitue pas une dépendance durable.

Dans un backend Node.js exporté, les variables peuvent commencer ainsi :

OPENAI_BASE_URL=https://www.bettertoken.ai/v1 BETTERTOKEN_API_KEY=your_api_key_here BETTERTOKEN_MODEL_ID=copy_current_model_id_here

Ne commitez pas les vraies valeurs. Fournissez-les à l'exécution avec le gestionnaire de secrets de chaque environnement. L'initialisation du client compatible reste elle aussi dans un module serveur :

import OpenAI from "openai"; const client = new OpenAI({ baseURL: process.env.OPENAI_BASE_URL, apiKey: process.env.BETTERTOKEN_API_KEY, }); export async function summarizeDocument(text: string) { const response = await client.chat.completions.create({ model: process.env.BETTERTOKEN_MODEL_ID!, messages: [ { role: "system", content: "Return a concise factual summary." }, { role: "user", content: text }, ], }); return response.choices[0]?.message?.content ?? ""; }

Cet exemple définit une frontière de module ; ce n'est pas un middleware complet de production. Ajoutez le contrôle des variables absentes, une limite d'entrée, un timeout, une classification des erreurs et des logs sans contenu du document ni clé.

Effectuer un smoke test avant le trafic réel

Envoyez d'abord une requête minimale en dehors de la logique métier principale. Elle sépare les erreurs de configuration de l'API des défauts du projet généré :

curl "https://www.bettertoken.ai/v1/chat/completions" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ --data '{ "model": "YOUR_MODEL_ID", "messages": [ {"role": "user", "content": "Reply with: API connected"} ] }'

Une réponse réussie contient choices[0].message.content. Rejouez ensuite le même cas réduit via la route serveur de l'application et vérifiez que :

  • la requête part du backend et non du navigateur ;
  • la vraie clé n'apparaît ni dans le code ni dans le network trace du client ;
  • une erreur upstream devient une réponse applicative maîtrisée ;
  • le Dashboard BetterToken enregistre le modèle, l'heure, le statut et les tokens d'entrée, de sortie et de cache.

Si curl fonctionne mais pas la route, examinez le chargement de l'environnement, les noms de variables, le proxy, la sérialisation du body et le parsing de la réponse. Si les deux échouent, contrôlez d'abord la clé, le Model ID actuel, l'URL et le message renvoyé ; modifier le frontend ne corrigera pas cette configuration.

Recette avant la production

Dépendances et build. Conservez le lockfile, effectuez une installation propre et un build de production. Contrôlez les licences et retirez les paquets inutiles.

Authentification et autorisation. Vérifiez que chaque utilisateur ne peut lire ou modifier que ses objets. Testez séparément une requête anonyme, un compte standard et un compte administrateur.

Base de données. Conservez le schéma sous forme de migrations, testez l'upgrade sur une copie et préparez la restauration. Modifier les tables au démarrage sans historique rend le rollback difficile.

Secrets. Séparez les clés de développement, staging et production. Donnez au runtime le strict nécessaire et documentez la rotation avant un incident.

Timeouts et nouvelles tentatives. Bornez la durée de l'appel au modèle. Ne réessayez que les opérations dont l'idempotence est comprise ; une boucle illimitée peut gonfler la file et la facture.

Observabilité et budget. Associez un task ID interne à l'heure et au statut de l'API sans journaliser le contenu privé. Le Dashboard aide à rapprocher modèle, statut et tokens réels, tandis que les limites d'entrée et de répétition protègent le budget.

Rollback. Gardez l'artifact fonctionnel précédent et une configuration réversible. Vérifiez que le retour à l'ancien code ne heurte pas une migration déjà appliquée.

L'application peut entrer dans un pilote limité lorsque le parcours principal passe en staging, les permissions sont vérifiées, l'API réussit un smoke test isolé, les pannes sont visibles sans fuite de données et le rollback a réellement été exercé. Le seul fait d'avoir du code généré ne le démontre pas.

Pour déplacer l'appel IA dans un backend contrôlé, créez une clé dédiée, copiez le Model ID actuel et lancez la première requête depuis la référence BetterToken. Avant d'activer le trafic réel, rapprochez l'entrée du Dashboard du task ID de votre application.

Prêt à optimiser votre workflow LLM ?

Connectez vos modèles via une API unique, gérez les clés et maîtrisez vos dépenses d’IA.