Skip to content

Evansbizzy/blog-api-inf222

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Blog - INF222 (Travail à Faire 1)

[cite_start]Ce projet est une API Backend développée pour gérer un blog simple permettant la gestion des articles[cite: 38, 39].

[cite_start]Il a été réalisé dans le cadre de l'UE **INF222 - EC1 (Développement Backend) :

Technologies Utilisées

[cite_start]Conformément aux consignes autorisant des alternatives à Node.js[cite: 41], cette API est construite avec les technologies suivantes :

  • Langage : Python 3
  • [cite_start]Framework : FastAPI (Alternative performante pour le backend) [cite: 41]
  • [cite_start]Base de données : SQLite (Via SQLAlchemy ORM) [cite: 41]
  • [cite_start]Documentation : Swagger UI (Généré nativement par FastAPI)

Architecture du Projet

[cite_start]Le code respecte une séparation claire entre les routes, les contrôleurs et les modèles[cite: 104]:

  • main.py : Point d'entrée de l'application et configuration globale.
  • database.py : Configuration de la connexion à la base de données SQLite.
  • models.py : Définition de la table des articles (Modèles de base de données).
  • schemas.py : Validation des entrées utilisateurs (Pydantic).
  • crud.py : Logique métier et requêtes SQL (Contrôleurs).
  • routers/articles.py : Définition des endpoints de l'API (Routes).

Installation et Lancement

[cite_start]Suivez ces étapes pour exécuter le projet localement sur une machine Linux/Windows/macOS.

  1. Créer et activer un environnement virtuel :
    python3 -m venv venv
    source venv/bin/activate  # Sur Windows: venv\Scripts\activate
    
  2. Installer les dépendances requises :
    pip install fastapi "uvicorn[standard]" sqlalchemy pydantic
    
  3. Démarrer le serveur de développement :
    uvicorn main:app --reload
    

Documentation et Tests (Swagger)

Une fois le serveur lancé, l'API est accessible localement. L'interface interactive Swagger permet de tester directement tous les endpoints documentés.

Accéder à Swagger UI : http://127.0.0.1:8000/docs

Endpoints Disponibles

L'API expose les routes suivantes pour la gestion des articles:

Méthode|Endpoint|Description ||________________________________________________________________________ POST | /api/articles |Créer un nouvel article. GET | /api/articles |Récupérer la liste complète des articles. GET | /api/articles?categorie=Tech |"Filtrer les articles par catégorie, auteur ou date." GET | /api/articles/{id} |Récupérer un article spécifique via son ID. PUT | /api/articles/{id} |Mettre à jour un article existant. DELETE | /api/articles/{id} |Supprimer un article via son ID. GET | /api/articles/search?query=texte |Rechercher des articles dont le titre ou le contenu contient un texte donné.

Exemples d'utilisation

  1. Créer un article (POST /api/articles) Corps de la requête (JSON) : { "titre": "Introduction à FastAPI", "contenu": "FastAPI est un framework web moderne et rapide...", "auteur": "Aether", "categorie": "Développement", "tags": "python, api, backend" }

About

code et fichier complet pour la creation du Blog API, TP INF222

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages