ecloudserv docs

Langages supportés

Les environnements disponibles, et la commande de démarrage attendue par chacun.

Le langage se choisit à la création du service et détermine l'image utilisée. Il se change ensuite depuis l'onglet Démarrage, au prix d'une réinstallation.

Environnements disponibles#

LangageGestionnaire de dépendancesCommande de démarrage typique
Node.jsnpmnode index.js
Pythonpippython main.py
JavaMaven / Gradlejava -jar app.jar
Gogo mod./mon-binaire
Rustcargo./target/release/app
Denoimports URLdeno run -A main.ts

À noter

Cette liste correspond aux environnements proposés au moment où cette page a été écrite. Le panel fait foi : c'est lui qui affiche les versions réellement disponibles à la création d'un service.

Installation des dépendances#

Elle se fait automatiquement au démarrage, à partir du fichier de manifeste trouvé à la racine du projet : package.json, requirements.txt, go.mod, Cargo.toml, etc. Vous n'avez pas à lancer npm install vous-même.

Compiler avant de démarrer#

Pour un langage compilé, deux approches. Soit vous versionnez le binaire déjà compilé, soit vous compilez au démarrage — c'est plus lent à chaque lancement, mais plus simple à maintenir :

commande de démarrage — compilation à la volée
# Go go build -o app . && ./app # Rust cargo build --release && ./target/release/app

Attention

Compiler consomme beaucoup de mémoire. Sur une petite offre, une compilation Rust peut se faire tuer faute de RAM : dans ce cas, compilez sur votre machine et n'envoyez que le binaire.

Écouter sur le bon port#

Un service web doit écouter sur le port fourni par la plateforme, exposé dans la variable d'environnement PORT, et sur 0.0.0.0 — pas sur 127.0.0.1, sinon rien de l'extérieur ne peut l'atteindre.

Node.js
const port = process.env.PORT || 3000; app.listen(port, "0.0.0.0", () => { console.log("à l'écoute sur " + port); });
Python
import os port = int(os.environ.get("PORT", 8000)) app.run(host="0.0.0.0", port=port)

Voir Domaines & reverse proxy pour rendre ce service accessible sur votre propre nom de domaine.