Voir scripts/README.md pour lâarborescence (dev / quality / build / i18n / ops / lib) et les conventions.
Ce projet contient des scripts pour deux applications :
Les scripts sont organisés en sous-dossiers ; des wrappers à la racine de scripts/ conservent les anciens chemins (ex. ./scripts/setup_complete.sh).
setup_jekyll.sh - Configuration JekyllDescription : Configure lâenvironnement Jekyll (Ruby, Bundler, dĂ©pendances).
Usage :
./scripts/build/setup_jekyll.sh
# ou
./scripts/setup_jekyll.sh
Ce quâil fait :
bundle install)Exemple :
./scripts/setup_jekyll.sh
launch_jekyll.sh - Lancement JekyllDescription : Lance le serveur Jekyll en local.
Usage :
# Mode standard
./scripts/build/launch_jekyll.sh
# ou ./scripts/launch_jekyll.sh
# Avec live reload (rechargement automatique)
./scripts/launch_jekyll.sh --livereload
Ce quâil fait :
bundle exec jekyll serveConfiguration :
4000 (modifiable via JEKYLL_PORT)127.0.0.1 (modifiable via JEKYLL_HOST)Exemple :
# Port personnalisé
export JEKYLL_PORT=4001
./scripts/launch_jekyll.sh --livereload
test_jekyll.sh - Test de Configuration JekyllDescription : Vérifie que tout est correctement configuré pour Jekyll.
Usage :
./scripts/test_jekyll.sh
Ce quâil vĂ©rifie :
Exemple :
./scripts/test_jekyll.sh
setup_complete.sh - Setup Complet du ProjetDescription : Script complet qui configure tout le projet en une seule commande.
Usage :
# Développement (par défaut)
./scripts/setup_complete.sh
# Ou explicitement
./scripts/setup_complete.sh development
# Production
./scripts/setup_complete.sh production
Ce quâil fait :
Exemple :
./scripts/setup_complete.sh development
generate_env.sh - Génération du Fichier .envDescription : GénÚre automatiquement le fichier .env avec des clés secrÚtes sécurisées.
Usage :
# Développement (par défaut)
./scripts/dev/generate_env.sh
# ou ./scripts/generate_env.sh
# Production
./scripts/generate_env.sh production
Ce quâil fait :
env.example ou env.production.exampleSECRET_KEY et JWT_SECRET_KEYinstance/ si nécessaireGénération des clés secrÚtes :
python3 -c "import secrets; print(secrets.token_hex(32))" si disponibleopenssl rand -hex 32Exemple :
./scripts/generate_env.sh development
setup_dev.sh - Setup Développement (Legacy)Description : Ancien script de setup, remplacé par setup_complete.sh.
Usage :
./scripts/setup_dev.sh
Note : Utilisez setup_complete.sh à la place pour une meilleure expérience.
setup_db.py - Initialisation de la Base de DonnéesDescription : Initialise la base de données SQLite.
Usage :
python scripts/setup_db.py
Ce quâil fait :
run_tests.sh - Exécution des TestsDescription : Exécute tous les tests avec coverage.
Usage :
./scripts/quality/run_tests.sh
# ou ./scripts/run_tests.sh
Ce quâil fait :
# 1. Cloner le repo
git clone <repo-url>
cd smdlabtech.github.io
# 2. Setup complet Flask
./scripts/setup_complete.sh development
# 3. Vérifier .env
cat .env
# 4. Lancer l'application Flask
./scripts/launch_app.sh
# 1. Cloner le repo
git clone <repo-url>
cd smdlabtech.github.io
# 2. Test de configuration
./scripts/test_jekyll.sh
# 3. Setup Jekyll
./scripts/setup_jekyll.sh
# 4. Lancer Jekyll
./scripts/launch_jekyll.sh --livereload
# Si vous avez besoin de régénérer .env
./scripts/generate_env.sh development
# Générer .env pour la production
./scripts/generate_env.sh production
# Puis modifier manuellement les valeurs critiques
nano .env
chmod +x scripts/*.sh
# Vérifier Python
python3 --version
# Installer Python si nécessaire
# macOS: brew install python3
# Linux: sudo apt-get install python3
# Installer pip
python3 -m ensurepip --upgrade
Les scripts sont compatibles macOS et Linux. Si vous avez des problÚmes avec sed, le script generate_env.sh gÚre automatiquement les différences.
chmod +x)build/setup_jekyll.sh : Configuration initialebuild/launch_jekyll.sh : Lancement du serveurmisc/test_jekyll.sh : Test de configurationdev/setup_complete.sh : Setup completdev/generate_env.sh : GĂ©nĂ©ration .envdev/launch_app.sh : Lancement Flaskquality/test_app.sh : Tests unitairesquality/test_endpoints.sh : Tests endpointsdev/setup_db.py : Initialisation DBi18n/compile-translations.sh : Compilation .po â .moi18n/validate_translations.sh : VĂ©rification clĂ©s/traductions