Skip to content
VDS · Sites web et serveurs web

Site statique : du fichier au domaine

Le parcours complet pour une landing page ou un build React ou Vue : envoyer les fichiers sur un VPS, les servir avec un serveur web, lier un domaine, et mettre à jour sans interruption.

Mis à jour le 23 août 2026

Un site statique est un ensemble de fichiers prêts à l'emploi : HTML, CSS, images, un build frontend. Il n'a besoin ni de PHP ni de base de données, il tourne donc confortablement même sur un VDS-1 et supporte un trafic notable : jusqu'à 500 Mbit/s.

Où placer les fichiers

Créez un répertoire distinct pour chaque site :

mkdir -p /var/www/example.ru
chown -R www-data:www-data /var/www/example.ru

Téléversez depuis votre machine locale avec scp ou rsync :

scp -r ./dist/* root@YOUR_ADDRESS:/var/www/example.ru/
rsync -avz --delete ./dist/ root@YOUR_ADDRESS:/var/www/example.ru/

rsync --delete supprime sur le serveur les fichiers qui ne sont plus dans le build. Sans cette option, les anciens chunks JS s'accumulent pendant des années.

Diffusion via le serveur web

Configuration Nginx minimale :

server {
    listen 80;
    server_name example.ru;
    root /var/www/example.ru;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location ~* \.(js|css|png|jpg|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

La ligne try_files ... /index.html est nécessaire pour les applications monopage construites sur React, Vue et Svelte : sans elle, un accès direct à /about renvoie une 404.

Vient ensuite un certificat Let's Encrypt, et le site s'ouvre en HTTPS.

Domaine

Dans le panneau des domaines, créez un enregistrement A pointant vers l'adresse publique de la machine (onglet « Overview » dans /hosting/vds/m/<id>) et le même enregistrement pour www. Vérifiez :

dig +short example.ru

La propagation des enregistrements peut prendre plusieurs heures. En attendant, le site est accessible à l'adresse de la machine.

Mise à jour sans interruption

Ne téléversez pas les fichiers par-dessus un répertoire en production — un visiteur peut tomber sur un site à moitié construit. Construisez à côté et basculez le lien symbolique :

rsync -avz ./dist/ /var/www/releases/$(date +%s)/
ln -sfn /var/www/releases/1724400000 /var/www/example.ru-current
systemctl reload nginx

Le root de la configuration pointe alors vers /var/www/example.ru-current.

Erreurs courantes

SymptômeCause
Page blanche, 404 sur les JS dans la consoleLes fichiers ont été construits avec un mauvais base — vérifiez les réglages de votre bundler
Ancienne version chez certains visiteursCache du navigateur — utilisez des noms de fichiers avec hash
403 sur toutLe répertoire n'est pas lisible par l'utilisateur du serveur web
Seule la page d'accueil fonctionneAbsence de try_files pour une application monopage

Il vaut mieux construire le frontend en local et téléverser le dist terminé. Sur un VDS-1 avec 2 Go de mémoire, la construction d'un gros projet peut échouer par manque de mémoire.