Guide de développement et déploiement
Le script deploy.sh nécessite les variables d’environnement suivantes :
DEPLOY_USER — utilisateur SSH distantDEPLOY_HOST — hôte distantDEPLOY_PATH — chemin de destination sur le serveurDEPLOY_KEY — chemin vers la clé privée SSHDEPLOY_PORT — port SSH (par défaut 22)Par commodité, deploy.sh charge un fichier .env situé à la racine du projet (même dossier que le script) et exporte toutes les lignes simples KEY=VALUE qu’il contient. Ainsi npm run deploy récupère ces variables si vous les définissez dans .env.
Remarque sécurité : évitez de stocker des clés privées ou secrets directement dans le dépôt public. Préférez :
Exemple de .env (NE PAS committer les secrets dans un dépôt public) :
DEPLOY_USER=francois
DEPLOY_HOST=admin.example.com
DEPLOY_KEY=/Users/you/.ssh/id_deploy
DEPLOY_PATH=/var/www/my_site/www
DEPLOY_PORT=2022
Ou exporter manuellement avant le déploiement :
export DEPLOY_USER=francois
export DEPLOY_HOST=admin.example.com
export DEPLOY_KEY=/Users/you/.ssh/id_deploy
export DEPLOY_PATH=/var/www/my_site/www
npm run deploy
npm runVoici la liste des scripts disponibles et leur rôle :
npm run dev : lance tous les scripts de développement en parallèle (dev:*).npm run dev:11ty : démarre Eleventy en mode watch (npx @11ty/eleventy --watch).npm run dev:sass : compile le Sass en CSS et active le watch (sass _includes/assets/sass/input.scss _includes/assets/css/styles.css --watch).npm run build : exécute la chaîne de construction (compilation Sass, vérification d’images, génération d’images sociales, build Eleventy, indexation Pagefind).npm run build:clean-images : supprime les images manquantes détectées par check_images.sh --delete-missing.npm run build:delete-unused-images : lance le script find-unused-images.js pour supprimer les images inutilisées.npm run build:sass : compile le Sass en CSS (production).npm run build:check-images : lance le script check_images.sh pour vérifier les images.npm run build:11ty : construit le site avec Eleventy (npx @11ty/eleventy).npm run build:pagefind : exécute Pagefind pour indexer le site (npx -y pagefind --site _site).npm run build:social-images : génère les images sociales via node generate_social_images.js.npm run serve : lance Eleventy en mode serveur local (npx @11ty/eleventy --serve).npm run preversion : hook preversion (affiche un message avant versionnement).npm run version : hook version (affiche un message lors du versionnement).npm run postversion : hook postversion (affiche un message après versionnement).npm run deploy : lance le script ./deploy.sh (synchronisation rsync + chown remote via wrapper sudo). Voir la section Déploiement ci‑dessus pour la configuration des variables d’environnement.npm run optimize : lance node optimize_blog_posts.js pour optimiser les métadonnées des billets.Si vous souhaitez étendre ou modifier un script, éditez la section scripts dans package.json.