Cours
Objectifs
De quoi est composée une application Web ?
Présentation
Architecture trois tiers
Programmation Web et bases de donnéesArchitecture trois tiers
Architecture trois tiers
Architecture trois tiers
Architecture trois tiers
Architecture trois tiers
Client : interface utilisateur (navigateur, application mobile).
Présentation de l'application.
Serveur : logique "cachée" de l'application.
Traitement des données.
Base de données : stockage des données.
Persistance des données.
Frontend : Exécution côté client (navigateur, mobile, …).
Exemples : HTML, CSS, JavaScript
Backend : Exécution côté serveur (hébergement distant, cloud, …).
Exemples : PHP, Node.js, Python, Java, …
API
API
API : Application Programming Interface (Interface de programmation)
Contrat de communication entre deux applications.
Se mettre d'accord sur les formats de données.
Utilisation d'une bibliothèque (pandas), d'un service (Transport API, MediaWiki, …), …
API Web : REST, SOAP, GraphQL, …
REST
REST

REST
REST
REST : Representational State Transfer
Utilisation des méthodes HTTP
GET : lecture
POST : création
PUT : modification
DELETE : suppression
Ressources : URI (Uniform Resource Identifier) (similaire à une URL)
Format de données : JSON, XML, …
REST
REST
Méthode | URI | Description |
|---|---|---|
GET |
| Lister tous les utilisateurs. |
POST |
| Créer un nouvel utilisateur. |
GET |
| Détail de l'utilisateur 42. |
PUT |
| Modifier l'utilisateur 42. |
DELETE |
| Supprimer l'utilisateur 42. |
REST
REST
Lister les utilisateurs.
Requête : GET /users
Réponse : 200 OK
[
{
"id": 1,
"name": "Alice"
},
{
"id": 2,
"name": "Bob"
}
]
REST
REST
Créer un nouvel utilisateur.
Requête : POST /users
{
"name": "Charlie"
}
Réponse : 201 Created
{
"id": 3,
"name": "Charlie"
}
Full Stack
Full Stack
Full Stack : développement de l'ensemble de l'application : frontend + backend (+ base de données).
Exemples : JavaScript (Node.js + React), Python (Django), Python (FastAPI) + JavaScript (Vue.js), …
Stack : ensemble de technologies utilisées pour développer une application.
LAMP : Linux + Apache + MySQL + PHP
MEAN : MongoDB + Express.js + Angular + Node.js
Versions sans animation, plein écran, imprimable.