Application de recherche et de suivi d'annonces d'emploi
  • Python 78.8%
  • HTML 9%
  • CSS 8.6%
  • JavaScript 3.2%
  • Dockerfile 0.2%
  • Other 0.2%
Find a file
2026-07-05 23:08:07 +02:00
.claude-memory chore: mémoire projet, backlog et fiche feedback (session 05/07) 2026-07-05 23:08:07 +02:00
.vale/styles/Conventions chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
data_carto/sources Carte EPCI : nom masqué au départ et révélé au zoom, ville-siège affichée au zoom, anti-chevauchement nom/ville (étiquette en haut), bouton retirer en icône poubelle compacte (190 tests) 2026-06-20 20:37:57 +02:00
docs Carte EPCI : nom masqué au départ et révélé au zoom, ville-siège affichée au zoom, anti-chevauchement nom/ville (étiquette en haut), bouton retirer en icône poubelle compacte (190 tests) 2026-06-20 20:37:57 +02:00
suivi fix: compteurs des mots-clés horizontaux, à hauteur de ligne, non gras 2026-07-05 22:25:46 +02:00
tools chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
workfinder chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
.dockerignore chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
.editorconfig chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
.env.example chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
.gitignore feat: refonte visuelle (palette teal et corail, cartes, burger partout) 2026-07-04 17:56:42 +02:00
.pre-commit-config.yaml chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
.vale.ini chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
CHANGELOG.md chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
CLAUDE.md chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
DESIGN.md feat: écran de réglages refondu en 7 groupes (critères exposés, pastilles de nature) 2026-07-05 14:29:47 +02:00
docker-compose.yml chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
Dockerfile chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
LICENSE chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
manage.py Fondation Django (modèles, moteur de score, 28 tests) + recherche sources et employeurs + stratégie d'acquisition 2026-06-20 13:31:51 +02:00
PRINCIPES.md chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
README.md docs: retirer le nom de l'utilisatrice du README 2026-07-05 23:08:07 +02:00
requirements.txt chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
SECURITE.md chore: retour à SQLite, purge de MariaDB 2026-07-05 14:29:06 +02:00
verifier-conventions.sh chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00
VERSION chore: amorce de l'organisation du projet via greendev 2026-07-04 16:40:06 +02:00

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) :

  1. 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.
  2. 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.
  3. 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.