Code Monkey home page Code Monkey logo

geoip's Introduction

Géolocalisation d'Adresses IP

Démo

DEMOOOOO

Table des matières

  1. Compréhension du Projet
  2. Compréhension des Données
  3. Captures d'écran des Visualisations/Résultats
  4. Technologies Utilisées
  5. Installation
  6. Utilisation
  7. Definition

Compréhension du Projet

Ce projet consiste en une application lourde interagissant avec une API REST pour géolocaliser des adresses IP. Une interface graphique permet à l'utilisateur d'entrer une adresse IP, puis l'application interroge une autre API REST (Shodan) pour obtenir des informations de géolocalisation sur cette adresse IP.

Compréhension des Données

Les données utilisées proviennent de l'API REST Shodan qui fournit des informations de géolocalisation sur les adresses IP.

Technologies Utilisées

  • Python
  • PyQt5
  • FastAPI
  • requests
  • Shodan

Installation

  1. Assurez-vous d'avoir Python installé sur votre système.
  2. Clonez ce dépôt sur votre machine locale.
  3. Installez les dépendances en exécutant la commande suivante dans votre terminal :
pip install fastapi pyqt5 requests shodan

Utilisation

Voici comment vous pouvez ajouter les instructions pour lancer le serveur et accéder à l'API à votre README :

Lancement du Serveur

Pour lancer le serveur, exécutez la commande suivante dans votre terminal, en vous assurant d'être dans le répertoire où se trouve le fichier webser.py :

uvicorn webser:app --reload

Cette commande démarre le serveur uvicorn et charge l'application FastAPI définie dans le fichier webser.py.

Accès à l'API

Une fois le serveur démarré, ouvrez un navigateur web et accédez à l'URL suivante :

http://127.0.0.1:8000

Cela affichera la documentation interactive de l'API FastAPI, qui répertorie toutes les routes disponibles ainsi que leurs paramètres et schémas de réponse. Vous pouvez également tester les différentes routes directement à partir de cette documentation.


N'oubliez pas d'ajuster le chemin de la commande uvicorn en fonction de l'emplacement réel de votre fichier webser.py.

  1. Lancez le serveur en exécutant le script webser.py.
  2. Lancez l'application cliente en exécutant le script client.py.
  3. Dans l'interface graphique qui apparaît, entrez l'adresse IP que vous souhaitez géolocaliser, puis cliquez sur le bouton "Send".
  4. Les informations de géolocalisation seront affichées dans l'interface graphique.

Definition

Une API REST (également appelée API RESTful) est une interface de programmation d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et permet d'interagir avec les services web RESTful. L'architecture REST (Representational State Transfer) a été créée par l'informaticien Roy Fielding.

Une API est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications. Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu demandé au producteur (la réponse).

Une API RESTful doit remplir plusieurs critères, notamment :

  • Une architecture client-serveur constituée de clients, de serveurs et de ressources, avec des requêtes gérées via HTTP
  • Des communications client-serveur stateless, c'est-à-dire que les informations du client ne sont jamais stockées entre les requêtes GET, qui doivent être traitées séparément, de manière totalement indépendante
  • La possibilité de mettre en cache des données afin de rationaliser les interactions client-serveur
  • Une interface uniforme entre les composants qui permet un transfert standardisé des informations

FastAPI, quant à lui, est un framework web moderne pour construire des APIs avec Python 3. Il est basé sur des standards ouverts comme OpenAPI pour la création d'API et fournit une documentation automatique, une validation des données, la sécurité et l'authentification intégrées, ainsi que d'autres fonctionnalités avancées pour faciliter le développement d'API robustes et performantes.

geoip's People

Contributors

alphaxhotelxmikexechoxdelta avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.