Académique Documents
Professionnel Documents
Culture Documents
Différence entre Web et Internet : Internet est un système de réseaux informatiques reliés
entre eux, alors que le Web est un système de publication d’informations et d’interactions
avec des serveurs qui sont connectés à Internet.
Architecture 3 tiers
● Couche de présentation
o Pages HTML transmises par le réseau
o Serveur qui les construit, client (navigateur qui les affiche)
● Couche de traitement
o Programmes
o Serveur web (dialogue http)
o Serveur d’applications (exécute des programmes PHP)
● Couche d’accès aux données
o SGBD : système de gestion de base de données
Codes HTTP
● 200 : succès de la requête
● 301 et 302 : redirection
● 403 : accès refusé
● 404 : page non trouvée
● 500 et 503 : erreur serveur
● 504 : le serveur n’a pas répondu
Design MVC : Modèle, Vues, Contrôleur. Permet d’organiser son code, permet de savoir quels
fichiers créer et de leur définir un rôle.
● Modèle (PHP + Doctrine) : gère les données du site. Récupère les données brutes, les
organise, et les assemble pour qu’elles soient traitées par le contrôleur
● Vue (HTML + Twig) : se concentre sur l’affichage. Ne fait presque aucun calcul, se
contente de récupérer des variables pour savoir ce qu’elle doit afficher
● Contrôleur (PHP) : gère la partie du code qui prend des décisions, fait l’intermédiaire
entre Modèle et Vue, décide de ce qu’il faut afficher, et détermine si l’utilisateur a
accès aux données. Codée uniquement en PHP
Fabriquer du HTML
● Soit côté serveur, qui génère du contenu qui transite vers le navigateur (utilisé ici)
● Soit côté navigateur, où un programme javascript s’exécute dans le contexte d’une
page chargée par le navigateur
● Les pages sont construites à partir des gabarits, et des données générées par le
programme
● Twig : moteur de template
● On crée une structure de page standard contenant des blocs, puis on complète le
contenu de chaque page spécifique en surchargeant ces blocs
Expérience utilisateur Web
HATEOS : Modèle ou un site internet c’est juste ça, des pages reliées entre elles par des
transitions gérées par le contrôleur
Principe REST : Representational State Transfer = passer de documents hypertextes (ci-
dessus) à des applications web. Le but c’est de permettre à l’utilisateur d’envoyer des données
au serveur.
On envoie les données au serveur par le protocole HTTP (méthode POST), mais cet envoi doit
tout de même être mis en forme.
Sessions, Contrôle d'accès
Pour mettre en place des sessions et permettre des utilisations personnalisées aux
utilisateurs, on utilise des Cookies, qui permettent d’identifier un client, et qui peuvent être
communs à un ensemble d’URLs.
Une session contient les données personnelles d’un utilisateur, et est présentée sous couvert
de la présentation d’un identifiant contenu dans le cookie associé.
Les cookies sont partagés dans les en-têtes des requêtes HTTP, ils permettent de raccrocher
la mémoire de l’état précédent sauvegardé côté serveur à la fin de la réponse HTTP
précédente pour le même client.
Les cookies ont une taille limitée, et leur durée de vie est potentiellement grande, au choix du
serveur.
Programmes Javascript téléchargés depuis le serveur qui s’exécute sur le client. Permet de
construire des vues et des pages web dynamiques, qui réagit aux commandes de l’utilisateur.
Intérêt
Exemples d’attaques
• Injection SQL
• Cross-site scripting (XSS) : donne accès aux données de l’application à un script tiers
(cookies, jeton session)
• Cross Site Request Forgery (CSRF) : Induire l’exécution de transition dans le graphe
d’états de l’application en jouant des requêtes à l’insu de l’utilisateur
Avantages du framework