# Paramètres de démarrage

> Comment configurer l'image Docker, la commande d'installation et la commande de démarrage de votre serveur dans l'onglet Startup du Portail.

L'onglet **Startup** du Portail contrôle la façon dont votre serveur se construit et se lance. Il comprend trois réglages essentiels : l'**image Docker** (version de l'environnement d'exécution), la **commande d'installation** (mise en place des dépendances) et la **commande de démarrage** (ce qui lance votre application). Bien les régler est indispensable au bon fonctionnement de votre serveur.

## Ce que vous allez apprendre

- Comment sélectionner la bonne image Docker (version de l'environnement d'exécution)
- La différence entre la commande d'installation et la commande de démarrage
- Des exemples courants pour Node.js et Python
- Comment utiliser l'onglet Startup pour un accès shell interactif

---

## Image Docker

Daki exécute chaque serveur dans un conteneur Docker. L'**image Docker** détermine la version du langage de programmation disponible dans ce conteneur.

L'onglet Startup propose une liste déroulante pour sélectionner l'image. Adaptez-la toujours à ce que votre application exige.

| Environnement | Exemples d'images |
| :--- | :--- |
| Node.js | Node.js 22, Node.js 24, Node.js 26 (anciennes versions marquées EOL) |
| Python | Python 3.11 à Python 3.15 (anciennes versions marquées EOL) |
| Java | Java 17, Java 21 |
| Autres | Rust, C#, Lua et d'autres (offres payantes) |

> **Avertissement:** Choisir la mauvaise version d'environnement provoque des échecs au démarrage. Si votre projet nécessite des fonctionnalités de Node.js 22, ne sélectionnez pas Node.js 18.

Les images Node.js et Python sont des **Daki Yolks**, reconstruites automatiquement à chaque correctif de sécurité publié ; redémarrez votre serveur pour obtenir la plus récente. Les images marquées **EOL** ne reçoivent plus de mises à jour de sécurité. Voir [Eggs et images Docker](https://daki.cc/fr/wiki/guides/eggs-and-images#daki-yolks-security-patched-images).

---

## Commande d'installation

La **commande d'installation** s'exécute une fois, lors de la configuration ou de la réinstallation de votre serveur. Elle est conçue pour installer les dépendances et préparer votre environnement.

| Environnement | Commande d'installation type |
| :--- | :--- |
| Node.js | `npm install` |
| Python | `pip install -r requirements.txt` |

Renseignez ce champ pour que vos dépendances s'installent automatiquement. Vous pouvez personnaliser librement cette commande selon les besoins de votre projet — par exemple si vous utilisez un autre gestionnaire de paquets (par ex. `yarn install` ou `pnpm install`).

---

## Commande de démarrage

La **commande de démarrage** s'exécute à chaque lancement de votre serveur. C'est elle qui lance réellement votre application.

| Type d'application | Commande de démarrage |
| :--- | :--- |
| Node.js — un seul fichier d'entrée | `node index.js` |
| Node.js — script npm start | `npm start` |
| Python — un seul fichier d'entrée | `python main.py` |
| Python — sous forme de module | `python -m mypackage` |

Vous pouvez personnaliser la commande de démarrage selon la structure de votre projet, son point d'entrée et les options ou arguments dont votre application a besoin.

**Important :** les noms de fichiers sont sensibles à la casse. Vérifiez que le nom du fichier dans votre commande de démarrage correspond exactement à celui affiché dans le gestionnaire de fichiers.

---

## Accès shell interactif

Si vous voulez interagir directement avec le conteneur et exécuter des commandes manuellement — par exemple pour déboguer, inspecter des fichiers ou lancer des commandes ponctuelles — vous pouvez temporairement définir la **commande de démarrage** sur `bash`.

1. Rendez-vous dans l'onglet **Startup**.
2. Remplacez la **commande de démarrage** par `bash`.
3. Redémarrez votre serveur.
4. Ouvrez l'onglet **Console** — vous pouvez maintenant saisir des commandes shell directement.

> **Avertissement:** Tant que la commande de démarrage est définie sur `bash`, votre application ne démarrera **pas** automatiquement. Restaurez votre commande de démarrage d'origine une fois terminé. Voir [Console et actions d'alimentation](https://daki.cc/fr/wiki/guides/console) pour plus de détails.

---

## Changer d'egg (langage de programmation)

L'**egg** définit le langage de programmation et le framework globaux. Pour passer d'un langage à un autre (par ex. Node.js → Python), utilisez l'onglet **Settings** — et non l'onglet Startup. Changer d'egg déclenche une réinstallation ; une sauvegarde est fortement recommandée au préalable. Voir [Paramètres du serveur](https://daki.cc/fr/wiki/guides/server-settings).

---

## Astuces

- Redémarrez votre serveur après avoir modifié un réglage de l'onglet Startup pour que le changement prenne effet.
- Si votre serveur plante juste après son démarrage, la sortie de l'onglet Console indique presque toujours pourquoi.
- Vérifiez les noms de fichiers dans votre commande de démarrage par rapport à ceux affichés dans le gestionnaire de fichiers.

---

## Étapes suivantes

- [Variables d'environnement](https://daki.cc/fr/wiki/guides/environment-variables) — Configurez un fichier `.env` pour le token de votre bot et vos autres secrets.
- [Console et actions d'alimentation](https://daki.cc/fr/wiki/guides/console) — Démarrez votre serveur et consultez sa sortie.
- [Paramètres du serveur](https://daki.cc/fr/wiki/guides/server-settings) — Réinstallez votre serveur ou changez d'egg.

---
Source: https://daki.cc/fr/wiki/guides/startup-settings
