diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b78ea0d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +# CI légère — P9 Street Vision PoC +# Même fichier lu par Forgejo Actions et GitHub Actions (OC-ADR-001). +# Le build Docker (2 modèles) est Phase 6 : trop lourd pour le runner k3s (8 Gio). + +name: CI + +on: + push: + branches: [main] + workflow_dispatch: + +jobs: + syntax: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Python syntax (no model load) + run: | + set -eu + apt-get update + apt-get install -y --no-install-recommends python3 + python3 -m py_compile app/main.py app/streamlit_app.py utils/utils.py diff --git a/.gitignore b/.gitignore index 242c724..32d737e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,7 @@ -./mlruns* \ No newline at end of file +./mlruns* +**/.env +**/.env.* +!.env.example +**/__pycache__ +**/.pytest_cache +downloaded_artifacts/ diff --git a/README.MD b/README.MD index 6e14ca9..4b3a2d9 100644 --- a/README.MD +++ b/README.MD @@ -1,5 +1,16 @@ # Street Vision PoC - Segmentation Sémantique Urbaine +**Source de vérité** : [Forgejo](https://git.gregoiremureau.com/grgmro/oc-p09-street-vision-poc) (auto-hébergé). + +```bash +git clone https://git.gregoiremureau.com/grgmro/oc-p09-street-vision-poc.git +git clone https://git.gregoiremureau.com/grgmro/oc-p09-street-vision-poc.git +``` + +Prod : https://api.gregoiremureau.com/ml/street-vision-poc/ + +Dataset : `./fetch-data.sh` (Cityscapes **hors** git). + ## 🎯 Description du Projet **Street Vision PoC** est une preuve de concept démontrant l'amélioration des performances de segmentation sémantique urbaine en comparant les architectures CNN traditionnelles (FPN) aux approches Transformer modernes (SegFormer). @@ -40,6 +51,8 @@ L'application est containerisée et disponible sur Docker Hub : ```bash docker pull grgmdmn/street-vision-poc_api +# prod live : +# https://api.gregoiremureau.com/ml/street-vision-poc/ ``` ### Configuration avec Docker Compose diff --git a/fetch-data.sh b/fetch-data.sh new file mode 100755 index 0000000..7e1396e --- /dev/null +++ b/fetch-data.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Datasets hors git (OC-ADR-003). Ce script n'en télécharge pas : il documente la source. +set -euo pipefail + +cat <<'EOF' +P9 — Cityscapes (même corpus que P8, comparaison SegFormer vs FPN) + +Source amont (inscription obligatoire) : + https://www.cityscapes-dataset.com/ + +Le repo contient un petit échantillon sous notebooks/content/data/ +(train_images_sample + test_images_sample). Le dataset complet ne doit +pas être versionné. + +Copie locale éventuelle : archive scolaire Nextcloud + Master_openclassroom_AI_Engineer/09 Développez une preuve de concept +EOF