transfer from private server/git server

This commit is contained in:
M1n-0
2026-08-21 09:12:02 +02:00
parent 45c8982178
commit 6ecb014238
75 changed files with 4344 additions and 274 deletions

View File

@@ -1,5 +1,30 @@
# 📘 Gesthub
<img src="https://img.shields.io/github/last-commit/M1n-0/gesthub?style=flat&logo=git&logoColor=white&color=0080ff" alt="last-commit">
# 📘 Gesthub
<img src="https://img.shields.io/github/last-commit/M1n-0/gesthub?style=flat&logo=git&logoColor=white&color=0080ff" alt="last-commit">
<p align="right">
<a href="README.en.md"><img src="https://img.shields.io/badge/README-English-blue?style=flat&logo=readthedocs&logoColor=white" alt="English README"></a>
</p>
> **Version v2 (août 2026).** Le code a été réorganisé en architecture par
> couches (`routes/`, `services/`, `models/`), avec les modules Annonces,
> Fichiers et Planning, une table `audit_log`, et une suite de 34 tests
> automatisés (voir `web/tests/`). Cette version sert de support technique
> au dossier de certification RNCP 36463 (CDAN) : voir `docs/` pour le
> dossier technique complet (`docs/Dossier_technique_GestHub_v2.docx`) et
> les preuves réelles (`docs/evidence/` : sorties pytest/flake8/radon,
> captures d'écran, schémas d'architecture).
>
> Démarrage rapide :
> ```bash
> cp web/.env.example web/.env # renseigner les vraies valeurs
> docker compose up -d --build
> ```
> Lancer les tests (nécessite une base MariaDB de test accessible, voir
> `web/tests/conftest.py`) :
> ```bash
> cd web && pip install -r requirements.txt
> TEST_DB_NAME=gesthub_test DB_USER=... DB_PASSWORD=... DB_HOST=... pytest tests/ -v
> ```
<em>Construit avec les outils et les technologies nécessaires :</em>
<div style="display: flex; flex-wrap: wrap; gap: 5px;">
@@ -56,6 +81,36 @@ Réseau utilisé : `gesthub_gesthub`
---
## 🍓 Déploiement sur Raspberry Pi (ARM64)
GestHub v2 est prévu pour tourner sur un Raspberry Pi (4 ou 5) avec un OS
**64 bits** (Raspberry Pi OS 64-bit / Ubuntu Server 64-bit). Vérifier avant
tout :
```bash
uname -m # doit afficher aarch64 (sinon : réinstaller l'OS en 64-bit)
docker --version # installer via https://get.docker.com si absent
```
Toutes les images de `docker-compose.yml` sont des images officielles
multi-arch (Caddy, MariaDB, Postgres, Keycloak) — Docker sélectionne
automatiquement la variante arm64 au `pull`, rien à changer. Seule
exception : `mattermost/mattermost-team-edition` n'est publiée qu'en
`linux/amd64` (pas d'image ARM officielle à ce jour — voir
[mattermost/mattermost#21979](https://github.com/mattermost/mattermost/issues/21979)).
Le compose utilise donc un build communautaire équivalent,
`ngrie/mattermost-team-edition-arm`, à la même version — voir le
commentaire dans `docker-compose.yml`. Sur un hôte amd64 (CI, poste de dev),
repasser à l'image officielle `mattermost/mattermost-team-edition:9.11`.
**RAM** : la stack complète (Caddy + Flask + MariaDB + Keycloak + 2×Postgres
+ Mattermost) tourne simultanément — prévoir un Pi avec **4 Go de RAM
minimum, 8 Go conseillés**, et un stockage sur SSD/carte SD rapide (les
volumes MariaDB/Postgres sont sensibles aux I/O lentes d'une carte SD
classique).
---
## 🌐 Reverse Proxy Caddy
### 🛠️ `Caddyfile` :