Aller au contenu principal

Cours

Objectifs

De quoi est composée une application Web ?

Présentation

Architecture trois tiers

Programmation Web et bases de données

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 : Application Programming Interface (Interface de programmation)

  • Contrat de communication entre deux applications.

  • API Web : REST, SOAP, GraphQL, …

REST

https://images.ctfassets.net/vwq10xzbe6iz/5sBH4Agl614xM7exeLsTo7/9e84dce01735f155911e611c42c9793f/rest-api.png

https://mannhowie.com/rest-api

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

Méthode

URI

Description

GET

/users

Lister tous les utilisateurs.

POST

/users

Créer un nouvel utilisateur.

GET

/users/42

Détail de l'utilisateur 42.

PUT

/users/42

Modifier l'utilisateur 42.

DELETE

/users/42

Supprimer l'utilisateur 42.

REST

Lister les utilisateurs.

Requête : GET /users

Réponse : 200 OK


[
  {
    "id": 1,
    "name": "Alice"
  },
  {
    "id": 2,
    "name": "Bob"
  }
]

REST

Créer un nouvel utilisateur.

Requête : POST /users


{
  "name": "Charlie"
}

Réponse : 201 Created


{
  "id": 3,
  "name": "Charlie"
}

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

F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.

Références