jerem 02180f1c7b Robustesse (backup, export Excel, journal) + notes libres et relances
- Sauvegarde automatique du CSV avant chaque écriture (backups/, 30 versions)
- Export Excel .xlsx sans dépendance (module excel.py)
- Journal de scraping (scrape.log) + panneau et endpoints /api/logs
- Note libre par prospect (colonne Notes, zone de texte)
- Notification de relance in-app (statut Contacté/En discussion + délai configurable)
2026-06-13 15:47:49 +02:00
2026-06-13 13:32:38 +02:00
2026-06-13 13:32:38 +02:00
2026-06-13 13:32:38 +02:00
2026-06-13 13:32:38 +02:00

AutoMood — Prospection de lieux de concert

Petit outil local pour constituer un fichier CSV de prospects (bars, restaurants, campings…) à partir de liens de pages Facebook.

Lancement

macOS / Linux :

./run.sh

Windows (Python 3.11+ installé avec l'option « Add python.exe to PATH ») :

run.bat

La première fois, l'installation prend quelques minutes (environnement Python + téléchargement de Chromium). Ensuite le serveur démarre et l'interface s'ouvre dans votre navigateur sur http://127.0.0.1:5000. Arrêt : Ctrl-C dans le terminal.

Utilisation

  1. Une seule fois : cliquez sur 🔑 Connexion Facebook. Une fenêtre Chromium s'ouvre sur la page de connexion : connectez-vous tranquillement (vous avez 5 minutes, 2FA compris), la fenêtre se ferme toute seule et la session est mémorisée (dossier fb_profile/).
  2. Collez le lien Facebook d'un lieu et cliquez sur Analyser : une fenêtre Chromium s'ouvre quelques secondes et visite la page « À propos » du lieu.
  3. Vérifiez/corrigez les champs pré-remplis, puis Ajouter au fichier.
  4. Dans la liste, cliquez sur une fiche pour la déplier et modifier ses champs (utile pour « Date de contact » et « Nom de contact » plus tard).

Les données sont dans prospects.csv (UTF-8, séparateur point-virgule) : il s'ouvre directement dans Excel ou Numbers par double-clic.

Fonctionnalités de suivi

  • Statut de prospection : chaque prospect a un statut (À contacter, Contacté, En discussion, Concert programmé, Sans réponse, Refusé) affiché en pastille colorée. Un menu déroulant au-dessus de la liste permet de filtrer par statut.
  • Import en masse : dans la section Import en masse, collez plusieurs liens Facebook (un par ligne) et cliquez sur Importer la liste. Les lieux sont analysés un par un et ajoutés automatiquement ; l'avancement s'affiche en direct et les doublons (déjà présents) sont ignorés.
  • Prise de contact : en dépliant une fiche, un bouton permet de copier le message de prise de contact. Le modèle se règle dans ⚙️ Paramètres (variables {nom}, {ville}, {type}).
  • Notes libres : chaque prospect a un champ Notes (visible en dépliant la fiche) pour consigner compte-rendu d'appel, contraintes, disponibilités… Une fiche avec des notes affiche un repère 📝.
  • Relances : les prospects au statut Contacté ou En discussion dont la date de contact dépasse le délai de relance (réglable dans les Paramètres, 7 jours par défaut) sont signalés par une notification 🔔 en haut de la liste et un badge sur la fiche. Cliquer sur un nom dans la notification ouvre directement la fiche. Aucun mail n'est envoyé : c'est un simple rappel visuel.
  • Distance, carburant et péage : renseignez votre adresse de départ, la consommation (L/100 km), le prix du carburant et le tarif péage (€/km d'autoroute) dans les Paramètres, puis cliquez sur 🚗 Calculer le trajet dans une fiche. L'application estime la distance routière, la durée et le coût total — carburant + péage — pour l'aller et l'aller-retour, via OpenStreetMap (Nominatim + OSRM, gratuit, sans clé). Le péage est estimé à partir des kilomètres d'autoroute du trajet × le tarif configuré (≈ 0,10 €/km ; mettez 0 pour l'ignorer) : c'est une approximation, certaines autoroutes « A » étant gratuites. Une connexion Internet est requise pour ce calcul.

Les paramètres sont stockés dans config.json (non versionné, car il contient votre adresse personnelle).

Robustesse

  • Sauvegardes automatiques : avant chaque écriture, l'ancien prospects.csv est copié dans le dossier backups/ (les 30 versions les plus récentes sont conservées). En cas de fausse manip, vous pouvez restaurer une version en recopiant le fichier voulu à la place de prospects.csv (app arrêtée).
  • Export Excel : le bouton Excel (.xlsx) télécharge un vrai classeur (en plus du CSV), prêt à ouvrir dans Excel/Numbers/LibreOffice.
  • Journal de scraping : le panneau 🩺 Journal de scraping (en bas) liste les analyses passées avec leur résultat (ok, vide, doublon, ou code d'erreur comme login_required, redirection…), pour comprendre rapidement pourquoi une page n'a rien donné. Il est stocké dans scrape.log (non versionné).

Les dossiers/fichiers backups/ et scrape.log restent locaux (non versionnés).

À savoir

  • ⚠️ N'éditez pas prospects.csv dans Excel pendant que l'app tourne : toute modification via l'interface réécrit le fichier et écraserait vos changements Excel. Ouvrez-le en lecture seulement, ou éditez via l'interface.
  • Les champs introuvables sur la page Facebook restent vides : complétez-les à la main dans le formulaire.
  • Si Facebook affiche une vérification de sécurité, résolvez-la dans la fenêtre Chromium puis relancez l'analyse.
Description
No description provided
Readme 166 KiB
Languages
Python 54.4%
HTML 44.6%
Batchfile 0.5%
Shell 0.5%