- Python 78.8%
- HTML 9%
- CSS 8.6%
- JavaScript 3.2%
- Dockerfile 0.2%
- Other 0.2%
| .claude-memory | ||
| .vale/styles/Conventions | ||
| data_carto/sources | ||
| docs | ||
| suivi | ||
| tools | ||
| workfinder | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .vale.ini | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| DESIGN.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| manage.py | ||
| PRINCIPES.md | ||
| README.md | ||
| requirements.txt | ||
| SECURITE.md | ||
| verifier-conventions.sh | ||
| VERSION | ||
work-finder
Outil local de suivi de recherche d'emploi. Aide à repérer les annonces pertinentes (score transparent), à suivre annonces et candidatures, et à ne rien laisser filer (tableau de bord des actions à faire). Données personnelles, tout reste en local.
Lancement local (Docker, port 8070)
docker compose up -d --build
Accès via l'adresse IP de la machine (pas localhost). IP actuelle relevée le 20/06/2026 : http://192.168.1.155:8070
Pour retrouver l'IP si elle a changé :
ip -4 addr show scope global | grep -oP 'inet \K[0-9.]+'
Les migrations sont appliquées automatiquement au démarrage du conteneur. La base SQLite
est persistée hors de l'image (volume db.sqlite3).
Arrêt de la stack :
docker compose down
Première utilisation : amorcer les données
docker compose exec web python manage.py seed_profil # profil de Frédérique (défauts)
docker compose exec web python manage.py seed_watchlist # employeurs à surveiller
docker compose exec web python manage.py seed_sources # sources RSS (inactives)
docker compose exec web python manage.py createsuperuser # accès à /admin (optionnel)
Acquisition des annonces
Cascade, du plus propre au plus sensible (voir docs/PLAN.md) :
- RSS / alertes officiels : les sources sont créées inactives. Activez-en une dans l'écran Sources avant toute collecte. Collecte manuelle, jamais automatique en fond.
- Récupération à la demande : coller une URL d'annonce, l'app récupère la page publique (une à la fois, robots.txt respecté), repli copier-coller si blocage.
- Collecte automatique : désactivée par défaut (dérogation assumée, usage personnel). Réservée aux portails sans RSS, sous garde-fous. À n'activer qu'en connaissance de cause.
Développement (sans Docker)
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python manage.py migrate
.venv/bin/python manage.py runserver 0.0.0.0:8070
.venv/bin/python manage.py test # 172 tests
Données cartographiques
Les contours communaux (départements 79, 17, 85, 86, 16) sont embarqués en local. Pour
les régénérer, voir docs/DONNEES_CARTO.md.