- trajet.py : fonction couts() pure (calcul des coûts sans appel réseau) - app.py : mémorisation distance/durée/péage + adresses dans le CSV ; auto-calcul best-effort après ajout (scrape simple et en lot) ; api_distance recalcule en local si adresses inchangées, complet sinon - index.html : affichage auto du trajet en cache à l'ouverture du prospect
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
- 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/). - 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.
- Vérifiez/corrigez les champs pré-remplis, puis Ajouter au fichier.
- 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.csvest copié dans le dossierbackups/(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 deprospects.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 commelogin_required,redirection…), pour comprendre rapidement pourquoi une page n'a rien donné. Il est stocké dansscrape.log(non versionné).
Les dossiers/fichiers backups/ et scrape.log restent locaux (non versionnés).
À savoir
- ⚠️ N'éditez pas
prospects.csvdans 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.