Skip to content
← Tous les guides

Devora Cloud · Blog

Déployer sans Git : du ZIP au site en ligne en quelques minutes

Comment déployer un site ou une application sur Devora Cloud avec un simple fichier ZIP : technologies prises en charge, build automatique, PORT et 0.0.0.0, ce qu’il faut exclure du ZIP et comment connecter GitHub ensuite.

projet.zippackage.jsonsrc/public/hors du ZIPnode_modules/.next/.envBuild automatique› détecté : Next.js› npm ci› npm run build› PORT=3000› listen 0.0.0.0✓ healthcheckloja.apps…En ligneHTTPS automatiqueGitHub plus tard, si besoin
Illustration technique. Fonctionnalités et régions selon le forfait, la disponibilité et la compatibilité.

Tous les projets ne naissent pas dans un dépôt Git. Parfois, le code vient d’un freelance, a été généré par une IA, dort dans un dossier de votre ordinateur ou dans un ZIP téléchargé quelque part. Chez beaucoup d’hébergeurs, cela veut dire apprendre Git, créer un dépôt et configurer Docker avant même de voir le site tourner.

Sur Devora Cloud, vous pouvez déployer avec un fichier ZIP. La plateforme détecte la technologie, lance le build elle-même et met le site en ligne en HTTPS. Ce guide présente ce qui est pris en charge, comment préparer le ZIP et les deux détails qui font échouer le plus de déploiements : le port et l’adresse 0.0.0.0.

Technologies prises en charge sans Dockerfile

TechnologieComment elle est détectéePort par défaut
Next.js et Node.jspackage.json (npm, pnpm ou yarn) avec scripts build et start3000
Vite / Reactpackage.json avec Vite ; le résultat est servi par nginx avec repli SPA80
Python : Django, FastAPI, Flaskrequirements.txt ou pyproject.toml8000
Gogo.mod8080
HTML statiqueindex.html à la racine80

Si un Dockerfile est présent à la racine du ZIP, il remplace la recette automatique. Sinon, le journal du build affiche le Dockerfile généré — pratique pour comprendre et corriger une erreur.

Pas à pas

  • Créez votre compte sur devoracloud.com/register (7 jours d’essai gratuit, sans carte).
  • Dans le tableau de bord, créez un nouveau projet et choisissez l’envoi par ZIP.
  • Envoyez le fichier (jusqu’à 512 Mo).
  • Suivez le build : analyse, construction, publication et contrôle de santé.
  • Quand le statut est prêt, le site répond sur https://votre-projet.apps.devoracloud.com avec un certificat automatique.

Vous préférez ne rien faire de tout cela ? Générez le jeton IA dans le tableau de bord et demandez à votre IA de déployer : elle prépare le ZIP, crée le projet et suit le build pour vous.

Comment préparer le ZIP

Placez à la racine du ZIP le fichier qui identifie le projet : package.json, requirements.txt, go.mod ou index.html. Un unique dossier de premier niveau fonctionne aussi. Utilisez le format ZIP ; les archives tar ne sont pas acceptées.

À exclure :

  • node_modules — les dépendances sont installées pendant le build.
  • .next, dist et build — le build est refait sur la plateforme.
  • .git — l’historique n’est pas nécessaire.
  • .env et tout fichier contenant mots de passe ou clés — utilisez les variables d’environnement du projet.
  • Les fichiers envoyés par les utilisateurs et les bases locales comme les fichiers .sqlite — les fichiers vont dans S3, les données dans PostgreSQL.

Un ZIP allégé s’envoie plus vite et évite d’emporter dans le cloud ce qui n’avait de sens que sur votre machine.

PORT et 0.0.0.0 : l’erreur la plus fréquente

L’application doit écouter sur l’adresse 0.0.0.0 et sur le port donné par la variable d’environnement PORT. Si elle n’écoute que sur localhost (127.0.0.1) ou sur un autre port fixe, le build réussit, mais le contrôle de santé n’atteint pas l’application et le déploiement échoue.

  • Node.js : app.listen(process.env.PORT || 3000, "0.0.0.0").
  • Next.js : le script start par défaut (next start) respecte déjà PORT.
  • Python : lancez le serveur (uvicorn, gunicorn) avec l’hôte 0.0.0.0 et le port de PORT.
  • Go : lisez os.Getenv("PORT") et écoutez sur ":" + port.

Vérifiez aussi les scripts : dans un projet Node, le package.json doit contenir build (s’il y a une étape de build) et start.

Autres erreurs fréquentes au premier déploiement

Si le déploiement échoue, ouvrez le journal avant de modifier quoi que ce soit. Les cas les plus courants se règlent facilement :

  • Dépendance manquante : le paquet fonctionne sur votre machine parce que vous l’avez installé à la main, mais il n’est pas dans package.json ou requirements.txt.
  • Mauvaise version du runtime : le projet exige une version de Node.js ou de Python différente de celle détectée par le build.
  • Casse des noms de fichiers : cela fonctionne sous Windows ou macOS, mais pas sous le Linux du build.
  • Variable d’environnement absente au build : le code lit une clé qui n’existait que dans votre .env local.

Corrigez, créez un nouveau ZIP et redéployez. Pendant ce temps, la version précédente reste en ligne.

Variables, base de données et S3

Mots de passe et clés se déclarent comme variables d’environnement du projet, disponibles au build et à l’exécution. Si l’application utilise une base, créez PostgreSQL ou Redis avant le premier déploiement : la connexion arrive dans l’application via DATABASE_URL (ou REDIS_URL). Pour les images et documents, créez le S3 privé du projet ; l’application reçoit les variables S3_* prêtes à l’emploi.

Ne placez jamais de secrets dans des variables lues par le navigateur, comme celles qui commencent par NEXT_PUBLIC_.

Nouvelles versions, et GitHub plus tard

Pour mettre à jour, envoyez un nouveau ZIP et redéployez. Un déploiement raté ne remplace jamais la version en ligne : le site continue de fonctionner pendant que vous corrigez.

Quand le projet mûrit, connectez GitHub une fois dans le tableau de bord, rubrique Connexions, et liez le dépôt au projet. Dès lors, chaque push sur la branche choisie déclenche un déploiement. L’envoi par ZIP reste disponible si vous le préférez.

Questions fréquentes

Ai-je besoin d’un Dockerfile ?

Non. Next.js, Node.js, Vite/React, Python (Django, FastAPI, Flask), Go et le HTML statique ont des recettes automatiques. Si vous fournissez un Dockerfile à la racine, il est utilisé.

Quelle est la taille maximale du ZIP ?

Jusqu’à 512 Mo. Sans node_modules ni dossiers de build, la plupart des projets restent bien en dessous.

Le build est passé mais le déploiement a échoué. Pourquoi ?

Le plus souvent, l’application n’écoute pas sur 0.0.0.0 et sur le port de la variable PORT, ou le script start manque. Consultez les journaux du déploiement : ils montrent l’erreur et le Dockerfile généré.

Puis-je passer à GitHub plus tard ?

Oui. Connectez GitHub dans Connexions et liez le dépôt au projet ; les déploiements suivants partent de chaque push.

Déployer sans Git : du ZIP au site en ligne en quelques minutes · Devora Cloud