Skip to content

rasdehya/chantier

Repository files navigation

🏗️ Chantier Tracker

Application web de suivi de chantier de rénovation — usage familial privé.


Cas d'utilisation

1. Développement local (Mac/Linux)

git clone git@github.com:rasdehya/chantier.git
cd chantier
uv venv && source .venv/bin/activate
uv pip install -r requirements.txt
rm -f chantier.db && python seed.py
flask run --host=0.0.0.0 --debug

Accès : http://127.0.0.1:5000/mapagedeloginsecrete

⚠️ Ajouter 127.0.0.1 dans allowed_ips.txt sinon accès bloqué.


2. Dev avec HTTPS (pour tester iOS / navigateurs stricts)

uv pip install cryptography
flask run --host=0.0.0.0 --port=5000 --cert=adhoc

Accès : https://127.0.0.1:5000/mapagedeloginsecrete Le navigateur affichera un avertissement certificat à accepter une fois.


3. Production — Raspberry Pi (Gunicorn + Caddy + HTTPS)

Prérequis

  • Raspberry Pi sous Debian/Raspbian
  • Ports 80 et 443 redirigés vers le Pi dans la box
  • openssl installé (sudo apt install openssl)

Installation

git clone git@github.com:rasdehya/chantier.git
cd chantier
uv venv && source .venv/bin/activate
uv pip install -r requirements.txt
rm -f chantier.db && python seed.py
chmod +x setup_prod.sh
bash setup_prod.sh

Le script installe et configure automatiquement :

  • Caddy (reverse proxy)
  • Certificat auto-signé 10 ans
  • Gunicorn (serveur WSGI multi-thread)
  • 2 services systemd (chantier + caddy-chantier) qui démarrent au boot

Accès : https://90.3.227.218/mapagedeloginsecrete

⚠️ Le navigateur affichera un avertissement certificat auto-signé. Cliquer sur "Avancé" → "Continuer" pour accéder au site.

Commandes de gestion

# Voir les logs en temps réel
sudo journalctl -u chantier -f
sudo journalctl -u caddy-chantier -f

# Redémarrer
sudo systemctl restart chantier caddy-chantier

# Arrêter
sudo systemctl stop chantier caddy-chantier

# Statut
sudo systemctl status chantier

4. Partager avec la famille

Chaque membre doit :

  1. Communiquer son IP publique (via https://whatismyip.com)
  2. Vous la transmettre pour ajout dans allowed_ips.txt
echo "X.X.X.X" >> allowed_ips.txt
# Pas besoin de redémarrer — pris en compte immédiatement

URL à partager : https://90.3.227.218/mapagedeloginsecrete


Comptes utilisateurs

Utilisateur Mot de passe Rôle
Remi laforgeentravaux2026 Propriétaire
Bruno laforgeentravaux2026 Propriétaire
Mylene laforgeentravaux2026 Propriétaire
Gary laforgeentravaux2026 Propriétaire

Mise à jour

git pull
# Si modif de structure base :
rm -f chantier.db && python seed.py
# Redémarrer en prod :
sudo systemctl restart chantier

Sécurité

  • Accès restreint par liste blanche IP (allowed_ips.txt)
  • URL de login secrète — ne pas partager /mapagedeloginsecrete publiquement
  • 5 tentatives de login max par IP, blocage 15 min
  • HTTPS avec certificat auto-signé en prod
  • Secret key unique auto-générée dans .secret_key (jamais commitée)

About

chantier la forge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors