Skip to content

Fadelion/file_POO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Ce projet est une application Ruby permettant de scraper les adresses e-mail des mairies du département du Val-d'Oise à partir du site Annuaire des mairies. Les données collectées peuvent être sauvegardées dans différents formats : JSON, CSV ou Excel.

Fonctionnalités

  • Scraping des données : Extraction des noms des communes et des adresses e-mail associées.
  • Sauvegarde des données :
    • Format JSON
    • Format CSV
    • Format Excel (via Google Drive)
  • Interface utilisateur : Menu interactif pour guider l'utilisateur dans le processus de scraping et de sauvegarde.

Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :

  • Ruby (version >= 2.5.0)
  • Bundler (gem install bundler)

Installation

  1. Clonez ce dépôt sur votre machine locale :

    git clone <URL_DU_DEPOT>
    cd file_poo
  2. Installez les dépendances du projet:

    bundle install
  3. Configurer vos identifiants Google Drive:

    • Placez le fichier xxxxxxxx.json dans le répertoire racine du projet.
    • Ce fichier contient les informations nécessaires pour l'authentification avec l'API Google Drive.

Utilisation

  1. Lancez l'application avec la commande suivante :
ruby app.rb
  1. Suivez les instructions affichées dans le terminal :

    • Choisissez si vous souhaitez scraper les données des mairies.
    • Sélectionnez le format de sauvegarde des données (JSON, CSV ou Excel).

Structure du projet

Voici un aperçu de la structure du projet :

.
├── [app.rb]               # Point d'entrée principal de l'application
├── lib/
│   └── app/
│       └── [scrapper.rb]     # Classe Scrapper pour le scraping des données
├── views/
│   └── [menu.rb]             # Classe Menu pour l'interface utilisateur
├── db/
│   ├── [mail.json]           # Fichier JSON contenant les données scrapées
│   ├── [mail.csv]           # Fichier CSV contenant les données scrapées
├── spec/
│   └── [spec_helper.rb]      # Fichier de configuration pour les tests RSpec
├── Gemfile                 # Liste des dépendances du projet
├── [.rubocop.yml]            # Configuration pour RuboCop
├── .rspec                  # Configuration pour RSpec
├── .gitignore              # Fichiers à ignorer par Git
└── [README.md]              # Documentation du projet

Dépendances

Le projet utilise les gems suivantes :

  • dotenv: Gestion des variables d'environnement.
  • rpsec: Framework de tests.
  • pry: Débogueur interactif.
  • json : Manipulation des fichiers JSON.
  • google_drive: Interaction avec Google Drive.
  • csv: Manipulation des fichiers CSV.
  • rubocop: Analyse statique du code Ruby.
  • nokogiri: Parsing HTML pour le scraping.
  • open-uri: Ouverture d'URL.

Tests

Pour exécuter les tests, utilisez la commande suivante :

rspec

Contribution

Les contributions sont les bienvenues ! Veuillez soumettre une pull request ou ouvrir une issue pour toute suggestion ou amélioration.

Licence

Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.

Auteurs

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages