{"id":31782075,"url":"https://github.com/synchronialabs/easy-leads","last_synced_at":"2025-10-10T09:14:30.717Z","repository":{"id":316821915,"uuid":"1061252828","full_name":"SynchroniaLabs/easy-leads","owner":"SynchroniaLabs","description":"Une application de bureau simple pour extraire des leads de Google Maps et les exporter vers un fichier Excel.","archived":false,"fork":false,"pushed_at":"2025-10-07T16:04:16.000Z","size":1972,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-07T18:15:04.772Z","etag":null,"topics":["automatisation","excel","generation-de-prospects","google-maps","prospecting","prospects","python","rpa","rpa-robotic-process-automation","scraping","selenium","synchronia"],"latest_commit_sha":null,"homepage":"https://synchronia.fr/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SynchroniaLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-21T14:53:12.000Z","updated_at":"2025-10-07T16:04:19.000Z","dependencies_parsed_at":"2025-10-07T18:15:47.720Z","dependency_job_id":"41bdca4f-27c4-447a-99f0-6addd924404d","html_url":"https://github.com/SynchroniaLabs/easy-leads","commit_stats":null,"previous_names":["synchronialabs/google-maps-lead-finder","synchronialabs/easy-leads"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SynchroniaLabs/easy-leads","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynchroniaLabs%2Feasy-leads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynchroniaLabs%2Feasy-leads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynchroniaLabs%2Feasy-leads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynchroniaLabs%2Feasy-leads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SynchroniaLabs","download_url":"https://codeload.github.com/SynchroniaLabs/easy-leads/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynchroniaLabs%2Feasy-leads/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003388,"owners_count":26083579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automatisation","excel","generation-de-prospects","google-maps","prospecting","prospects","python","rpa","rpa-robotic-process-automation","scraping","selenium","synchronia"],"created_at":"2025-10-10T09:14:22.644Z","updated_at":"2025-10-10T09:14:30.711Z","avatar_url":"https://github.com/SynchroniaLabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://synchronia.fr?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=easy-leads\u0026utm_content=logo\"\u003e\n      \u003cimg src=\"./assets/synchronia-logo-4k-circle-2-white.png\" alt=\"SynchronIA Logo\" width=\"150\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\n# 🗺️ Easy Leads\n\n**Un outil d'automatisation professionnel pour l'extraction de données Google Maps**\n\n*Développé par [SynchronIA](https://synchronia.fr?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=easy-leads\u0026utm_content=tagline) - Experts en RPA, Intelligence Artificielle et Automatisation*\n\n---\n\n\u003c!-- ![Démonstration d'Easy Leads](./assets/demo.gif)\n*Placeholder pour GIF : Démonstration complète de l'utilisation de l'outil* --\u003e\n\n## 📋 Table des Matières\n\n- [🎯 Objectifs](#-objectifs)\n- [✨ Fonctionnalités](#-fonctionnalités)\n- [🖥️ Interface Utilisateur](#️-interface-utilisateur)\n- [📊 Exemple de Résultat](#-exemple-de-résultat)\n- [🚀 Installation](#-installation)\n- [📝 Utilisation](#-utilisation)\n- [🔧 Architecture Technique](#-architecture-technique)\n- [⚖️ Considérations Légales](#️-considérations-légales)\n- [🏢 À Propos de SynchronIA](#-à-propos-de-synchronia)\n- [🤝 Support et Développement](#-support-et-développement)\n\n## 🎯 Objectifs\n\n**Easy Leads** est un outil d'automatisation RPA (Robotic Process Automation) conçu pour extraire efficacement les informations commerciales depuis Google Maps. Il permet aux professionnels, marketeurs et entrepreneurs de :\n\n- **Générer des listes de prospects qualifiés** en quelques clics\n- **Automatiser la collecte de données commerciales** (nom, adresse, téléphone, site web, avis)\n- **Exporter directement en Excel** pour un traitement immédiat\n- **Économiser des heures de recherche manuelle** grâce à l'automatisation intelligente\n\n### Cas d'Usage Professionnels\n\n- **Prospection commerciale** : Trouver de nouveaux clients dans votre secteur\n- **Études de marché** : Analyser la concurrence locale\n- **Marketing digital** : Constituer des bases de données pour vos campagnes\n- **Développement d'affaires** : Identifier des partenaires potentiels\n\n## ✨ Fonctionnalités\n\n### 🤖 Automatisation Intelligente\n- **Scraping automatisé** avec Selenium WebDriver\n- **Gestion des popups** et consentements automatiques\n- **Défilement intelligent** pour charger tous les résultats\n- **Extraction multi-critères** avec fallbacks robustes\n\n### 📊 Données Extraites\n- **Nom de l'entreprise** (résistant aux publicités)\n- **Adresse complète** géolocalisée\n- **Numéro de téléphone** avec validation regex\n- **Site web** et liens officiels\n- **Note et nombre d'avis** clients\n- **Export Excel** prêt à l'emploi\n\n### 🖥️ Interface Utilisateur Intuitive\n- **GUI moderne** avec FreeSimpleGUI\n- **Configuration simple** : requête + localisation\n- **Sélection de fichier** avec explorateur intégré\n- **Feedback en temps réel** sur le processus\n\n## 🖥️ Interface Utilisateur\n\n![Interface utilisateur d'Easy Leads](./assets/GUI_example.png)\n\nL'interface propose :\n- **Champ de recherche** : Saisissez votre requête (ex: \"restaurants\", \"coiffeurs\")\n- **Localisation** : Précisez la zone géographique (ex: \"Paris, France\")\n- **Sélection du fichier** : Choisissez où sauvegarder vos résultats\n- **Bouton de lancement** : Démarrez l'extraction automatisée\n\n## 📊 Exemple de Résultat\n\n![Exemple de données extraites](./assets/output_example.png)\n\nLe fichier Excel généré contient :\n- **Colonnes structurées** : Nom, Adresse, Note, Avis, Téléphone, Site Web\n- **Données nettoyées** et formatées\n- **Prêt pour import** dans vos outils CRM ou marketing\n\n## 🚀 Installation\n\n### Prérequis Système\n- **Python 3.8+** installé sur votre système\n- **Google Chrome** navigateur\n- **Connexion Internet** stable\n\n### Installation Automatique\n\n```bash\n# 1. Clonez le repository\ngit clone https://github.com/SynchroniaLabs/easy-leads.git\ncd easy-leads\n\n# 2. Créez un environnement virtuel (recommandé)\npython -m venv venv\n\n# 3. Activez l'environnement virtuel\n# Windows :\n.\\venv\\Scripts\\activate\n# macOS/Linux :\nsource venv/bin/activate\n\n# 4. Installez les dépendances\npip install -r requirements.txt\n```\n\n### Bibliothèques Utilisées\n\nNotre stack technique optimisé :\n\n- **🕷️ Selenium** : Automatisation web avancée avec WebDriver\n- **🖥️ FreeSimpleGUI** : Interface utilisateur moderne et intuitive  \n- **📊 Pandas** : Manipulation et export de données structurées\n- **📈 OpenPyXL** : Génération de fichiers Excel professionnels\n- **🔧 WebDriver-Manager** : Gestion automatique des drivers Chrome\n\n## 📝 Utilisation\n\n### Lancement Rapide\n\n```bash\n# Depuis le dossier du projet, activez l'environnement virtuel\n.\\venv\\Scripts\\activate  # Windows\n# ou\nsource venv/bin/activate  # macOS/Linux\n\n# Lancez l'application\npython src/main.py\n```\n\n### Guide d'Utilisation\n\n1. **Configuration de la Recherche** :\n   - **Requête** : Saisissez le type d'entreprise recherché\n     - Exemples : `\"restaurants italiens\"`, `\"salons de coiffure\"`, `\"pharmacies\"`\n   - **Localisation** : Précisez la zone géographique\n     - Exemples : `\"Paris, France\"`, `\"Lyon 69000\"`, `\"Marseille, Bouches-du-Rhône\"`\n\n2. **Sélection du Fichier de Sortie** :\n   - Cliquez sur **\"Parcourir\"** pour choisir l'emplacement\n   - Le fichier sera automatiquement nommé : `{requête}_{localisation}_results.xlsx`\n\n3. **Lancement de l'Extraction** :\n   - Cliquez sur **\"Démarrer l'extraction\"**\n   - L'outil ouvrira automatiquement Chrome et commencera l'extraction\n   - **Durée estimée** : 30-45 secondes pour 10 résultats\n\n![Extraction en cours sur Google Maps](./assets/maps_example.png)\n*L'outil en action : Selenium automatise la navigation sur Google Maps*\n\n4. **Récupération des Résultats** :\n   - Le fichier Excel sera automatiquement sauvegardé\n   - Notification de fin de traitement avec chemin du fichier\n\n### Conseils d'Optimisation\n\n- **Requêtes spécifiques** : Plus votre recherche est précise, meilleurs sont les résultats\n- **Localisation détaillée** : Incluez département/région pour une meilleure géolocalisation\n- **Traitement par lots** : Pour de gros volumes, divisez en plusieurs recherches\n- **Heures creuses** : Lancez vos extractions en dehors des heures de pointe\n\n## 🔧 Architecture Technique\n\n### Flux de Traitement Automatisé\n\n1. **🔗 Initialisation** : Configuration automatique du WebDriver Chrome\n2. **🗺️ Navigation** : Construction et accès à l'URL Google Maps optimisée\n3. **📜 Défilement Intelligent** : Chargement progressif des résultats avec pagination automatique\n4. **🔍 Extraction Sélective** : Récupération ciblée des données avec sélecteurs CSS robustes\n5. **🧹 Nettoyage des Données** : Filtrage des publicités et validation des informations\n6. **💾 Export Structuré** : Génération Excel avec formatage professionnel\n\n### Sélecteurs CSS Optimisés\n\nNotre système utilise des **sélecteurs en cascade** avec **fallbacks intelligents** :\n\n```python\n# Exemple : Extraction du nom d'entreprise\nselectors = [\n    'h1.DUwDvf.lfPIob',           # Titre principal\n    '.qBF1Pd.fontHeadlineSmall',  # Titre alternatif\n    'h1.DUwDvf',                  # Fallback générique\n]\n```\n\n### Gestion d'Erreurs Avancée\n\n- **Retry automatique** avec multiple sélecteurs\n- **Fallback aria-label** pour les données manquantes\n- **Filtrage anti-publicité** intelligent\n- **Validation regex** pour les numéros de téléphone\n\n## ⚖️ Considérations Légales\n\n### 🔒 Utilisation Responsable\n\n**IMPORTANT** : Cet outil est fourni **à des fins éducatives et de démonstration** de nos capacités techniques en automatisation. \n\n### 📋 Conditions d'Utilisation\n\n- **Respectez les Conditions d'Utilisation de Google** Maps et Services\n- **Usage commercial** : Consultez les termes de Google pour l'utilisation commerciale\n- **Fréquence raisonnable** : Évitez les requêtes excessives qui pourraient surcharger les serveurs\n- **Données personnelles** : Respectez le RGPD et les lois locales sur la protection des données\n\n### 🛡️ Responsabilité\n\nSynchronIA décline toute responsabilité quant à l'utilisation de cet outil en violation des conditions de service de Google ou des lois applicables. Les utilisateurs sont seuls responsables de s'assurer que leur utilisation est conforme aux réglementations en vigueur.\n\n## 🏢 À Propos de SynchronIA\n\n### 🚀 Votre Partenaire en Automatisation\n\n[**SynchronIA**](https://synchronia.fr?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=easy-leads\u0026utm_content=about) est une entreprise spécialisée dans l'**automatisation intelligente** et l'**intelligence artificielle** pour les entreprises. Nous aidons nos clients à :\n\n#### 🤖 RPA (Robotic Process Automation)\n- **Automatisation de processus métier** répétitifs\n- **Intégration de systèmes** legacy et modernes\n- **Optimisation de workflows** complexes\n- **Réduction des coûts opérationnels** jusqu'à 70%\n\n#### 🧠 Intelligence Artificielle\n- **Solutions IA sur mesure** pour votre secteur\n- **Analyse prédictive** et aide à la décision\n- **Traitement du langage naturel** (NLP)\n- **Vision par ordinateur** et reconnaissance d'images\n\n#### 💻 Développement Logiciel\n- **Applications web** modernes et performantes\n- **APIs RESTful** et microservices\n- **Intégrations sur mesure** entre vos outils\n- **Solutions cloud** scalables\n\n#### ⚡ Automatisation Métier\n- **Web scraping** professionnel et éthique\n- **Automatisation de reporting** et KPI\n- **Synchronisation de données** entre plateformes\n- **Workflows personnalisés** selon vos besoins\n\n### 🎯 Pourquoi Choisir SynchronIA ?\n\n- **💡 Expertise technique** : Équipe d'ingénieurs diplômés de l'Institut Polytechnique de Paris\n- **🔧 Solutions sur mesure** : Développement adapté à vos enjeux spécifiques  \n- **📈 ROI démontré** : Retour sur investissement rapide et mesurable\n- **🤝 Accompagnement complet** : De l'analyse à la maintenance\n- **🏆 Références clients** : PME, ETI et grands comptes nous font confiance\n\n### 📞 Contactez-Nous\n\n**Besoin d'automatiser vos processus métier ?**\n\n- **🌐 Site web** : [synchronia.fr](https://synchronia.fr?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=easy-leads\u0026utm_content=contact)\n- **📧 Email** : contact@synchronia.fr\n- **💬 Consultation gratuite** : Analysons ensemble vos besoins d'automatisation\n\n## 🤝 Support et Développement\n\n### 🛠️ Support Technique\n\n- **📚 Documentation** : Guide complet dans ce README\n- **🐛 Signalement de bugs** : Utilisez les Issues GitHub\n- **💡 Suggestions** : Vos idées d'amélioration sont les bienvenues\n\n### 🔄 Contributions\n\nCe projet est **open source** pour démontrer nos compétences techniques. Les contributions sont encouragées :\n\n1. **Fork** le repository\n2. **Créez** une branche pour votre fonctionnalité\n3. **Committez** vos changements\n4. **Proposez** une Pull Request\n\n### 📈 Roadmap\n\n- **🔮 v2.0** : Interface web avec dashboard analytics\n- **🌍 v2.1** : Support multi-langues et multi-pays  \n- **📱 v2.2** : API REST pour intégrations tierces\n- **🤖 v3.0** : IA pour qualification automatique des leads\n\n### 🏷️ Versions\n\n- **v1.0** : Version initiale avec interface desktop\n- **v1.1** : Migration vers FreeSimpleGUI\n- **v1.2** : Amélioration des sélecteurs CSS et robustesse\n\n---\n\n**Développé avec ❤️ par l'équipe [SynchronIA](https://synchronia.fr?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=easy-leads\u0026utm_content=footer)**\n\n*Automatisation • Intelligence Artificielle • Innovation*\n\n---\n\n### 🔍 Mots-clés SEO\n\n`automatisation`, `rpa`, `intelligence artificielle`, `web scraping`, `google maps`, `extraction de données`, `prospection commerciale`, `leads`, `python`, `selenium`, `synchronia`, `développement logiciel`, `processus métier`, `optimisation`, `roi`, `efficacité`, `innovation`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynchronialabs%2Feasy-leads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynchronialabs%2Feasy-leads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynchronialabs%2Feasy-leads/lists"}