Daya

📜 Documentation des Scripts

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).


🌐 Scripts Jekyll

setup_jekyll.sh - Configuration Jekyll

Description : Configure l’environnement Jekyll (Ruby, Bundler, dĂ©pendances).

Usage :

./scripts/build/setup_jekyll.sh
# ou
./scripts/setup_jekyll.sh

Ce qu’il fait :

  1. ✅ VĂ©rifie/installe Ruby
  2. ✅ VĂ©rifie/installe Bundler
  3. ✅ Installe les dĂ©pendances Jekyll (bundle install)
  4. ✅ VĂ©rifie la structure Jekyll

Exemple :

./scripts/setup_jekyll.sh

launch_jekyll.sh - Lancement Jekyll

Description : 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 :

  1. ✅ VĂ©rifie Ruby et Bundler
  2. ✅ VĂ©rifie les dĂ©pendances
  3. ✅ VĂ©rifie la structure Jekyll
  4. ✅ Lance bundle exec jekyll serve

Configuration :

Exemple :

# Port personnalisé
export JEKYLL_PORT=4001
./scripts/launch_jekyll.sh --livereload

test_jekyll.sh - Test de Configuration Jekyll

Description : Vérifie que tout est correctement configuré pour Jekyll.

Usage :

./scripts/test_jekyll.sh

Ce qu’il vĂ©rifie :

  1. ✅ Ruby installĂ©
  2. ✅ Bundler installĂ©
  3. ✅ Gemfile prĂ©sent
  4. ✅ _config.yml prĂ©sent
  5. ✅ Structure des dossiers (_posts, _layouts, _includes, _data)
  6. ✅ DĂ©pendances installĂ©es

Exemple :

./scripts/test_jekyll.sh

🐍 Scripts Flask

🚀 Scripts Disponibles

1. setup_complete.sh - Setup Complet du Projet

Description : 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 :

  1. ✅ VĂ©rifie Python
  2. ✅ CrĂ©e l’environnement virtuel
  3. ✅ Met à jour pip
  4. ✅ Installe les dĂ©pendances (dev si development)
  5. ✅ GĂ©nĂšre le fichier .env avec clĂ©s secrĂštes
  6. ✅ Installe les pre-commit hooks
  7. ✅ Initialise la base de donnĂ©es
  8. ✅ CrĂ©e les dossiers nĂ©cessaires

Exemple :

./scripts/setup_complete.sh development

2. generate_env.sh - Génération du Fichier .env

Description : 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 :

  1. ✅ Copie env.example ou env.production.example
  2. ✅ GĂ©nĂšre automatiquement SECRET_KEY et JWT_SECRET_KEY
  3. ✅ CrĂ©e le dossier instance/ si nĂ©cessaire
  4. ✅ Affiche des conseils selon l’environnement

Génération des clés secrÚtes :

Exemple :

./scripts/generate_env.sh development

3. 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.


4. setup_db.py - Initialisation de la Base de Données

Description : Initialise la base de données SQLite.

Usage :

python scripts/setup_db.py

Ce qu’il fait :


5. run_tests.sh - Exécution des Tests

Description : Exécute tous les tests avec coverage.

Usage :

./scripts/quality/run_tests.sh
# ou ./scripts/run_tests.sh

Ce qu’il fait :


📋 Workflow RecommandĂ©

PremiĂšre Installation - Flask

# 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

PremiĂšre Installation - Jekyll

# 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

Régénérer .env

# Si vous avez besoin de régénérer .env
./scripts/generate_env.sh development

Setup Production

# Générer .env pour la production
./scripts/generate_env.sh production

# Puis modifier manuellement les valeurs critiques
nano .env

🔧 DĂ©pannage

ProblĂšme : Permission denied

chmod +x scripts/*.sh

ProblÚme : Python non trouvé

# Vérifier Python
python3 --version

# Installer Python si nécessaire
# macOS: brew install python3
# Linux: sudo apt-get install python3

ProblÚme : pip non trouvé

# Installer pip
python3 -m ensurepip --upgrade

ProblĂšme : Scripts ne fonctionnent pas sur macOS

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.


📝 Notes


🎯 RĂ©sumĂ© des Scripts

Jekyll (build/, misc/)

Flask (dev/, quality/)

i18n (i18n/)


🎯 Prochaines AmĂ©liorations