Mettre en place votre modèle de données

Commencez par votre schéma de base de données avant de construire des endpoints. Le constructeur de tables visuel de Xano supporte tous les types de données PostgreSQL : texte, entier, booléen, JSON, timestamps et références de fichiers.

Les conventions que nous utilisons : chaque table reçoit un timestamp created_at et updated_at (Xano les ajoute automatiquement), utilisez des IDs entiers pour les performances, et utilisez les champs JSON avec parcimonie — normalisez autant que possible.

Pour un SaaS multi-tenant, chaque table doit avoir une clé étrangère user_id ou workspace_id. Cela rend votre logique de contrôle d'accès propre et cohérente. C'est le premier réflexe à avoir avant d'écrire le moindre endpoint.

Structurer vos endpoints d'API

Xano génère automatiquement des endpoints CRUD pour chaque table. Mais pour les applications en production, vous aurez besoin d'endpoints personnalisés qui gèrent la logique métier.

Notre convention de nommage : GET /api/[resource] (liste), GET /api/[resource]/:id (détail), POST /api/[resource] (création), PATCH /api/[resource]/:id (mise à jour), DELETE /api/[resource]/:id (suppression). Restez RESTful. Évitez les endpoints de style RPC sauf si l'action ne correspond vraiment pas à une ressource.

Une API bien structurée dès le départ rend l'intégration avec WeWeb ou FlutterFlow beaucoup plus fluide, et facilite l'onboarding de nouveaux développeurs si votre équipe grandit.

Authentification et autorisation

L'auth intégrée de Xano est basée sur JWT et prête pour la production. Activez l'add-on auth et vous obtenez inscription, connexion et rafraîchissement de token prêts à l'emploi.

Pour l'autorisation (ce qu'un utilisateur connecté peut faire), utilisez l'étape "Precondition" dans vos function stacks. Un pattern typique : récupérer l'utilisateur courant depuis le JWT, puis vérifier qu'il est propriétaire de l'enregistrement qu'il tente de modifier.

Pour les rôles admin, stockez un champ role dans la table utilisateur et vérifiez-le dans les préconditions. Pour le multi-tenant, stockez l'appartenance à un workspace dans une table séparée et faites la jointure sur chaque requête.

Logique métier avec les function stacks

Le function stack de Xano est là où la magie opère. Chaque étape de la pile correspond à une opération : interroger une base de données, appeler une API externe, exécuter une condition, transformer des données, envoyer un email.

Pour la logique complexe, utilisez la fonctionnalité "Custom Function" de Xano pour créer des blocs réutilisables. Nous en construisons pour : calculer des prix, valider des entrées complexes, envoyer des notifications et synchroniser des données avec des tiers.

Évitez les conditionnelles profondément imbriquées — si votre stack a plus de 3 niveaux d'imbrication, refactorisez en fonctions séparées. C'est un principe de code propre qui s'applique aussi bien au no-code qu'au code traditionnel.

Intégrations tierces

L'étape External API request de Xano se connecte à n'importe quelle API REST. Nous avons intégré Stripe, Twilio, SendGrid, HubSpot, Airtable, et des dizaines d'autres.

Bonne pratique : créez une fonction "utilitaire" par service externe (ex. "Envoyer une charge Stripe") qui gère l'appel API, la gestion des erreurs et le parsing de la réponse. Appelez ensuite cet utilitaire depuis vos stacks de logique métier — cela garde votre logique propre et facilite la mise à jour de l'intégration.

Pour les applications françaises, pensez aussi aux intégrations locales : Pennylane pour la comptabilité, Sellsy pour le CRM, ou HelloSign pour les signatures électroniques.

Performance et scalabilité

Xano scale automatiquement — aucune gestion d'infrastructure requise. Pour l'optimisation des performances : utilisez des index sur les champs que vous interrogez fréquemment (user_id, created_at, status), paginez tous les endpoints de liste (utilisez la pagination offset/limit ou curseur intégrée à Xano), et utilisez le cache de Xano pour les données qui ne changent pas souvent.

Pour les endpoints à fort trafic, les plans payants de Xano offrent une concurrence accrue. Nous avons fait tourner des applications avec 50 000 utilisateurs actifs quotidiens sur Xano sans problèmes de performance. La combinaison Xano + Supabase gère confortablement les ambitions de croissance de la plupart des startups françaises.