Préparer ton portable

Avant de commander quoi que ce soit : le site se construit proprement à partir de zéro, tu sais ce que tu vas envoyer, le dossier du projet (le seul original du site) est sauvegardé, et ssh sur ton Mac garde les phrases de passe dans le trousseau. La clé SSH du serveur se crée à la page suivante.

débutant~20 min de manipulation
#ssh#nextjs#macos#backup#time-machine

Pas encore validée de bout en bout — sois le premier.Signaler un problème

Brouillon — pas encore exécuté de bout en bout. Cette page est écrite mais son auteur ne l'a pas encore déroulée sur une vraie machine. Des commandes peuvent être fausses : lis avant de lancer, et dis-nous ce qui casse.

En un coup d'œilTon Mac, le seul original
Ton Mac
npm run buildbacked updeploy (page 6)
Dossier du projet
Sortie du buildout/
Time Machinetmutil latestbackup
Plus tard : OVH et le serveur

Le dossier du projet est la seule source de vérité : il se construit en out/, ce que recevra le serveur, et une sauvegarde doit le couvrir. Pas encore de clé SSH : celle du serveur se crée à la page suivante.

Avant de commander un serveur, mets ton Mac en ordre. Cette page vérifie que le site se construit à partir de rien, te montre ce que tu t'apprêtes à envoyer, s'assure que le dossier du projet est sauvegardé (c'est le seul original du site), et règle ssh sur ce Mac pour qu'il garde les phrases de passe dans le trousseau. Aucune clé SSH n'est créée ici : la page suivante en crée une pour le serveur, juste avant le formulaire de commande OVH.

Avant de commencer

Il te faut Node 22 avec npm. Tout ce qui suit se tape dans le Terminal de ton Mac, dans le dossier du projet .

Mac
$node -v
$npm -v
Vérification
$node -v | cut -d. -f1
Retour attendu
v22

Laisser macOS retenir les phrases de passe SSH

Pas de clé SSH sur cette page : la page suivante en crée une pour le serveur, avec une phrase de passe, juste avant le formulaire de commande. Ce que tu règles maintenant, c'est la façon dont ce Mac gère cette phrase de passe, pour que tu la tapes une fois et pas à chaque connexion. Copie la commande et colle-la dans le terminal : elle ajoute un bloc Host * à la fin de ~/.ssh/config, et crée le fichier s'il n'existe pas.

Mac
$mkdir -p ~/.ssh && chmod 700 ~/.ssh
$cat >> ~/.ssh/config <<'EOF'
$
$Host *
$ AddKeysToAgent yes
$ UseKeychain yes
$EOF
$chmod 600 ~/.ssh/config
Si ~/.ssh/config a déjà un bloc Host *

S'il contient déjà AddKeysToAgent yes et UseKeychain yes, ne lance pas la commande ci-dessus : un seul bloc suffit. Si ce bloc a aussi une ligne IdentityFile ~/.ssh/id_ed25519, supprime-la : avec elle, ssh présente cette clé, quel que soit son usage d'origine, à chaque serveur auquel tu te connectes. Ouvre le fichier :

Mac
$vim ~/.ssh/config
Vérification
$grep -q 'UseKeychain yes' ~/.ssh/config && echo keychain OK
Retour attendu
keychain OK

Vérifier le build à partir de zéro

Un build qui marche sur ta machine peut dépendre d'un node_modules périmé ou d'un cache .next oublié. Supprime-les, réinstalle depuis le fichier de verrouillage, et construis :

Mac
Commande sensible — suppression récursive ou forcée (rm). Vérifie avant d'exécuter.
$cd && rm -rf node_modules .next out
$npm ci
$npm run build
Vérification
$cd  && test -f out/index.html && test -f out/404.html && echo build OK
Retour attendu
build OK

Savoir ce que tu envoies

out/ est exactement ce que le serveur contiendra. Regarde sa taille et ses fichiers les plus lourds :

Mac
$du -sh out
$find out -type f -size +20M -exec du -h {} +

Ces fichiers se déploient très bien tels quels. Rien à compresser ni à déplacer aujourd'hui :

  • Le premier déploiement (page 6) envoie tout une fois ; quelques centaines de mégaoctets, c'est quelques minutes sur une connexion domestique.
  • Chaque déploiement suivant n'envoie que les fichiers qui ont changé : un WAV de 55 Mo inchangé ne coûte plus rien après la première fois.
  • Le disque du VPS (40 Go sur la plus petite offre OVH) tient des dizaines de versions d'un site de cette taille.

Ce que ces fichiers coûtent à tes visiteurs (55 Mo à télécharger sur un téléphone) est une autre question, traitée dans la checklist de lancement (page 8).

Sauvegarder le dossier du projet

Il n'existe pas d'autre copie de ce site. Le dossier contient le seul original des sources et des médias ; photos-26-og/ contient les seuls originaux des photos (276 Mo de HEIC et de MOV). Le serveur ne tiendra jamais que des copies construites, qu'on ne peut pas retransformer en projet.

Time Machine est la sauvegarde la plus simple sur un Mac. Vérifie qu'une destination est configurée et quand elle a tourné pour la dernière fois :

Mac
$tmutil destinationinfo
$tmutil latestbackup

Vérifie ensuite que le dossier du projet n'est pas exclu (exclure les gros dossiers est une façon courante de gagner de la place de sauvegarde) :

Mac
$tmutil isexcluded
Vérification
$tmutil isexcluded 
Retour attendu
[Included]

Terminé

Le site se construit à partir d'un dossier vide, tu sais ce que pèse out/ et quels fichiers l'alourdissent, le dossier du projet est couvert par une sauvegarde, et ssh sur ton Mac garde les phrases de passe dans le trousseau.

Page suivante : Commander le VPS chez OVH, où tu crées la clé SSH du serveur juste avant le formulaire de commande, puis y colles sa moitié publique.

Tout a fonctionné ?

Si tu as suivi cette page jusqu'au bout sur une vraie machine, dis-le. Ta validation est datée et enregistre ta stack : le prochain lecteur sur le même chemin sait que ça marche toujours.

Cette copie est en lecture seule. Pour dire que ça marche, ou que ça ne marche pas, ouvre une issue

Seuls tes choix de stack sont enregistrés, jamais tes valeurs. Le pseudo reste sur ce navigateur.