Daya

📁 Structure du Repository

Vue d’ensemble

Ce repository contient une plateforme complĂšte combinant :

Structure Détaillée

/app/ – Jekyll (frontend) + Flask (backend)

app/
├── _config.yml              # Configuration Jekyll
├── _layouts/                # base.html → base-optimized (bundles)
├── _includes/               # nav-databird, footer-databird, etc.
├── _posts/                  # Articles de blog
├── assets/                  # main.bundle.css, main.bundle.js (+ img)
├── data/                    # articles.yml, navigation.yml, projects.yml
├── src/                     # Backend Flask
│   ├── api/v1/             # Endpoints API
│   ├── routes/             # main, blog, admin
│   ├── services/           # blog_service, cache_service, etc.
│   ├── database/           # models, extensions
│   ├── config/             # base, development, production, testing
│   └── templates/          # Templates Flask
├── scripts/                 # test-local.sh, generate_articles_yml.py
├── run.py                   # Point d'entrĂ©e Flask
├── requirements.txt
└── _archive/                # Anciens CSS/JS (exclus du build)

/.github/workflows/ - CI/CD

.github/workflows/
├── jekyll-pages.yml        # DĂ©ploiement Jekyll sur GitHub Pages
└── deploy.yml              # DĂ©ploiement Flask (si nĂ©cessaire)

/scripts/ - Scripts Utilitaires

scripts/
├── setup_jekyll.sh         # Installation Jekyll
├── launch_jekyll.sh        # Lancement serveur Jekyll
├── setup_db.py             # Initialisation base de donnĂ©es
└── ...

/monitoring/ - Observabilité

monitoring/
├── docker-compose.observability.yml
├── monitoring/
│   ├── prometheus/
│   ├── grafana/
│   ├── loki/
│   └── alertmanager/
└── ...

Fichiers de Configuration

Configuration Jekyll

Configuration Python/Flask

Configuration CI/CD

Configuration Docker

Fichiers Ignorés

Les fichiers suivants sont ignorés par Git (voir .gitignore) :

Workflow de Développement

  1. Développement Local
    • Jekyll : cd app && bundle exec jekyll serve
    • Flask : python run.py
  2. Commit
    • Pre-commit hooks vĂ©rifient le code
    • Tests automatiques
  3. Déploiement
    • Push sur main dĂ©clenche le workflow
    • Jekyll build et dĂ©ploiement sur GitHub Pages
    • Site disponible sur https://smdlabtech.github.io/

Bonnes Pratiques