Facile

Introduction - Séance 1

Bienvenue dans le cours R5A5 - Développement Avancé ! Cette première séance pose les fondations théoriques et architecturales pour concevoir des API backend robustes et maintenables.

Objectifs de la séance

Ce que vous allez apprendre

À la fin de cette séance, vous serez capable de :

  • Définir ce qu'est une API et distinguer les différents types d'API web
  • Maîtriser le protocole HTTP : méthodes, statuts, headers, body, params et query
  • Comprendre les mécanismes de CORS et de caching
  • Concevoir une API RESTful en respectant les conventions
  • Structurer une application backend en couches (Router, Controller, Service, Repository)
  • Appréhender les principes de la Clean Architecture

Contexte du cours

Ce cours s'adresse à des étudiants de 3e année BUT Informatique ayant déjà des bases en développement web (HTML, CSS, JavaScript, React). L'objectif est de passer du côté backend et de comprendre comment construire les API que vous avez consommées en frontend.

Tout au long de ce module, les exemples seront en Python avec Flask pour le backend et Pydantic pour la validation des données.

Ce que l'on va construire

Cette séance est essentiellement théorique et conceptuelle. Il n'y a pas de projet pratique à proprement parler, mais les notions abordées ici seront directement appliquées dans les séances suivantes lorsque vous construirez une API complète.

Approche pédagogique

Chaque concept est illustré par des exemples concrets en Flask et Pydantic. Même si vous ne codez pas encore, prenez le temps de lire et comprendre les extraits de code : ils reflètent exactement ce que vous implémenterez par la suite.

Prérequis

  • Python : syntaxe de base, classes, fonctions
  • HTTP : avoir déjà utilisé fetch ou un client HTTP en frontend
  • React (R4A10) : comprendre le rôle d'une API côté client

Flask et Pydantic

Si vous n'avez jamais utilisé Flask, pas d'inquiétude. Les exemples sont suffisamment commentés pour être compris. L'installation et la configuration de Flask seront abordées en détail dans la prochaine séance.

Plan de la séance

PartieContenu
FondamentauxQu'est-ce qu'une API, les types d'API web
Protocole HTTPRequêtes, réponses, méthodes, body, params, query, headers
Statuts HTTPCodes 2xx, 4xx, 5xx et bonnes pratiques
CORS & CachingSécurité cross-origin et mise en cache
API RESTCaractéristiques, CRUD et design d'URI
ArchitectureRouter, Controller, Service, Repository
Clean ArchitectureDomaine, Application, Infrastructure

Commençons par comprendre ce qu'est réellement une API.