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

# Résoudre les problèmes de publication

> Apprenez à résoudre les problèmes courants lors de la publication de votre application.

Cette page couvre les problèmes courants que vous pouvez rencontrer lors de la publication de votre application et comment les résoudre.

## Problèmes courants de publication

### Votre application ne fonctionne pas dans l'Éditeur de projet

Avant de publier, vérifiez que votre application fonctionne correctement. Sélectionnez le bouton **Exécuter** en haut de l'Éditeur de projet. Si l'aperçu n'affiche pas votre application avec une URL `replit.dev`, votre code présente un problème à corriger avant de pouvoir publier.

### Votre programme se termine au lieu de fonctionner en continu

Les applications publiées s'attendent à ce que votre programme s'exécute indéfiniment. Si votre programme exécute une fonction et se termine, la plateforme le redémarre automatiquement. Assurez-vous que votre application démarre un processus à exécution longue, comme un serveur web.

### Votre serveur n'écoute pas sur `0.0.0.0`

Si vous exécutez un serveur web, les déploiements peuvent détecter automatiquement le port utilisé par votre serveur — mais seulement si le serveur écoute sur `0.0.0.0`. L'écoute sur `localhost` ou `127.0.0.1` ne fonctionne pas.

### Votre application contient des erreurs

Consultez l'onglet **Journaux** en haut du volet **Publication** pour voir la sortie de votre application. Recherchez des traces de pile ou des exceptions — celles-ci indiquent des erreurs de code telles que des variables non initialisées ou des paquets manquants.

### Vos commandes d'exécution ou de build sont incorrectes

Les erreurs courantes incluent les fautes de frappe, les indicateurs incorrects ou la spécification du mauvais fichier ou répertoire. Vérifiez vos commandes dans le volet **Publication** et corrigez les problèmes.

### Vos secrets ne sont pas configurés pour la publication

Les secrets que vous définissez dans l'Éditeur de projet ne sont pas automatiquement transférés à votre application publiée. Ajoutez tous les secrets de production et les variables d'environnement dans le volet **Publication**. Les secrets manquants peuvent provoquer l'échec de votre application lors de l'initialisation avec des erreurs concernant des valeurs non définies.

### Votre application Replit dépasse la limite de taille

Les déploiements Reserved VM et Autoscale prennent en charge les applications Replit jusqu'à 8 Go. Les déploiements statiques prennent en charge jusqu'à 1 Go. Pour réduire la taille de votre application, supprimez les fichiers inutiles ou utilisez un stockage de données externe comme [Base de données SQL](/fr/features/data-and-storage/sql-database/).

### La page d'accueil met trop de temps à charger

Avant de marquer votre application publiée comme active, un contrôle de santé envoie une requête HTTP à votre application. Si votre page d'accueil met plus de cinq secondes à répondre, le contrôle de santé expire et la publication échoue à l'étape finale.

### La configuration de votre port est incorrecte

Si vous avez [des ports spécifiés dans votre config `.replit`](/fr/references/configuration/configuration), la détection automatique des ports est désactivée. Vous devez spécifier un port avec `externalPort` défini sur `80` pour que l'étape de promotion réussisse. Vérifiez que votre serveur écoute sur le `localPort` spécifié.

### Votre déploiement statique ne fonctionne pas

Ce problème survient généralement lorsque vous spécifiez un répertoire public incorrect ou lorsque votre application n'est pas adaptée aux déploiements statiques. Un déploiement statique sert des fichiers statiques tels que HTML, CSS et JavaScript.

Si votre application inclut un comportement côté serveur, elle n'est pas adaptée aux déploiements statiques. Changez le type de déploiement en Autoscale dans le volet **Publication** à la place.

<Warning>
  Le système de fichiers dans les applications publiées n'est pas persistant et se réinitialise à chaque publication. Pour la persistance des données, utilisez une base de données telle que [Base de données SQL](/fr/features/data-and-storage/sql-database).
</Warning>

## Problèmes d'accès avec les URL `replit.app` et `replit.dev`

Si vous avez des difficultés à accéder à votre application à son domaine `replit.app` ou `replit.dev` — que ce soit dans l'aperçu ou dans une fenêtre de navigateur séparée — les filtres web ou les restrictions réseau peuvent en être la cause.

Essayez d'utiliser des résolveurs DNS publics comme Google DNS (`8.8.8.8`) ou Cloudflare DNS (`1.1.1.1`) pour résoudre ces problèmes.

### Modifier les paramètres DNS

<Tabs>
  <Tab title="Windows">
    1. Ouvrez le **Panneau de configuration**.
    2. Accédez au **Centre Réseau et partage**.
    3. Sélectionnez **Modifier les paramètres de la carte** à gauche.
    4. Faites un clic droit sur votre connexion réseau active et sélectionnez **Propriétés**.
    5. Sélectionnez **Protocole Internet version 4 (TCP/IPv4)** et sélectionnez **Propriétés**.
    6. Choisissez **Utiliser l'adresse de serveur DNS suivante**.
    7. Saisissez une adresse IP de serveur DNS public (par exemple, `8.8.8.8` pour Google DNS ou `1.1.1.1` pour Cloudflare DNS) dans les champs **Serveur DNS préféré** et **Serveur DNS auxiliaire**.
    8. Sélectionnez **OK** pour enregistrer vos modifications.

    Pour des instructions plus détaillées, consultez le [guide de configuration DNS Microsoft](https://support.microsoft.com/fr-fr/windows/change-tcp-ip-settings-bd0a07af-15f5-cd6a-363f-ca2b6f391ace).
  </Tab>

  <Tab title="macOS">
    1. Ouvrez les **Préférences Système**.
    2. Sélectionnez **Réseau**.
    3. Sélectionnez votre connexion réseau active à gauche.
    4. Sélectionnez **Avancé** dans le coin inférieur droit.
    5. Accédez à l'onglet **DNS**.
    6. Sélectionnez le bouton **+** pour ajouter un serveur DNS.
    7. Saisissez une adresse IP de serveur DNS public (par exemple, `8.8.8.8` pour Google DNS ou `1.1.1.1` pour Cloudflare DNS).
    8. Sélectionnez **OK** puis **Appliquer**.

    Pour des instructions plus détaillées, consultez le [guide de configuration DNS Apple](https://support.apple.com/guide/mac-help/change-dns-settings-on-mac-mh14127/mac).
  </Tab>

  <Tab title="Linux">
    1. Modifiez le fichier `/etc/resolv.conf` pour ajouter des serveurs DNS publics. La méthode exacte varie selon la distribution.
    2. Ajoutez les lignes suivantes :

    ```
    nameserver 8.8.8.8
    nameserver 1.1.1.1
    ```

    Pour plus d'informations sur la configuration DNS dans différentes distributions, consultez le [guide de configuration réseau du Wiki Debian](https://wiki.debian.org/NetworkConfiguration#Defining_the_.28DNS.29_Nameservers).
  </Tab>
</Tabs>

### Vider le cache DNS

Après avoir modifié les paramètres DNS, videz le cache DNS pour appliquer la nouvelle configuration :

* **Windows** : Exécutez `ipconfig /flushdns` dans l'invite de commandes
* **macOS et Linux** : Exécutez `sudo systemctl restart NetworkManager` dans le terminal (la commande exacte peut varier selon la distribution)

<Note>
  Pour améliorer les performances régionales et la stabilité, les URL `replit.dev` pour vos
  applications Replit peuvent parfois changer lors de migrations de clusters. Une fois la migration
  terminée, les URL restent stables pendant environ un an, sauf si vous
  demandez explicitement un changement de localisation.
</Note>

## Publier une application Streamlit

Les applications Streamlit fonctionnent avec les déploiements Replit. La façon la plus simple de commencer est avec le [modèle Streamlit](https://replit.com/@replit/Streamlit?v=1).

Alternativement, définissez la commande d'exécution pour la publication comme suit :

```bash theme={null}
streamlit run --server.address 0.0.0.0 --server.headless true --server.enableCORS=false --server.enableWebsocketCompression=false main.py
```

Si votre application utilise un fichier d'entrée différent, remplacez `main.py` par votre nom de fichier.

***

Si vous avez besoin d'aide supplémentaire après avoir essayé ces étapes, visitez le [Hub Communautaire Replit](https://replit.com/community) pour plus de ressources.
