> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer et publier

> Créer des applications avec l'IA, itérer sur un aperçu en direct et déployer en production.

## Créer une application

Deux façons :

* **Demander à l'IA** - décrivez ce que vous voulez dans un thread et l'IA la crée
* **Bouton Nouvelle application** - cliquez sur **+** dans la barre latérale Drive et choisissez **Nouvelle application**

L'IA choisit un modèle de démarrage en fonction de votre demande :

| Modèle    | Ce que vous obtenez   | À utiliser quand vous avez besoin                           |
| --------- | --------------------- | ----------------------------------------------------------- |
| `ui`      | Application web React | Une application web, un tableau de bord, une page d'accueil |
| `process` | Serveur HTTP          | Une API, un gestionnaire webhook, une tâche planifiée       |

## Une application, une branche

Chaque application est un seul checkout git sur `main`. Il n'y a pas de brouillons séparés, pas de changement de branche, pas d'étape de fusion. Chaque modification arrive sur `main` sous forme de commit ; la publication consiste simplement à « déployer le `main` actuel ».

## Le cycle de création

1. L'IA écrit le code directement sur `main`
2. L'IA démarre le serveur de développement. Vous voyez un aperçu en direct.
3. Vous itérez par chat : « déplacer le graphique vers la barre latérale », « ajouter un thème sombre »
4. Le serveur de développement se recharge à chaud après chaque modification
5. Quand c'est prêt, publiez

## Publication

La publication déploie le commit `main` actuel. Il n'y a pas de branche de production séparée — le commit le plus récemment publié sur `main` est celui qui est en direct.

Quand vous publiez dans le catalogue pour que d'autres l'installent, votre application reçoit un jeton d'identité utilisateur au lancement, une clé d'installation pour son backend et des webhooks d'installation/désinstallation. Voir [Publication](/apps/publishing).

## Mise en cache, mises à jour et mode hors ligne

Les versions de bureau et mobile ouvrent uniquement l'URL de votre application dans une vue de navigateur normale. Elles **ne** vident pas les caches du navigateur, ne forcent pas les chargements réseau uniquement et ne choisissent pas une politique de cache différente pour les applications publiques ou privées.

Votre application web gère la mise en cache :

* En-têtes HTTP `Cache-Control` pour les documents et les ressources
* Configuration optionnelle du service worker / PWA (les modèles incluent `vite-plugin-pwa` avec mise à jour automatique)
* Si une nouvelle version s'active immédiatement, se recharge une fois ou attend la prochaine ouverture
* Secours hors ligne pour la dernière version activée

Quand Kazzle détecte une nouvelle version publiée pour un onglet d'application ouvert, il demande au service worker enregistré de vérifier les mises à jour (`registration.update()`). Les applications sans service worker ignorent cette vérification et continuent à utiliser leurs propres en-têtes de cache HTTP.

Les applications publiées peuvent donc s'ouvrir instantanément à partir du cache, récupérer une nouvelle version sans actualisation forcée et conserver la dernière version disponible hors ligne.

## Déploiement

Après la publication, déployez pour obtenir une URL en direct :

* **Applications distantes** se déploient sur le cloud Kazzle et obtiennent une URL publique
* **Applications locales** s'installent sur votre ordinateur. L'interface utilisateur se charge directement et la partie processus exécute un serveur de développement.

## Applications en temps réel

Pour les applications qui ont besoin de lectures locales instantanées et du support hors ligne, l'IA :

1. Crée une base de données
2. Active la synchronisation en temps réel
3. Crée une application en deux parties : Interface utilisateur (React + client de synchronisation) et Processus (point de terminaison de jeton + téléchargement de synchronisation)
4. Connecte les identifiants via le [coffre-fort](/work/vault)

Voir [Synchronisation en temps réel](/apps/sync) pour savoir comment cela fonctionne.

## Pages d'accueil

Les pages d'accueil sont des applications réservées à l'interface utilisateur. Pas de backend, pas de base de données. Décrivez la page et l'IA la crée, la déploie et vous donne une URL en direct. Pour utiliser un domaine personnalisé, pointez votre domaine ou sous-domaine vers l'URL de l'application déployée.
