bloc2:prog:web:ajax
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| bloc2:prog:web:ajax [2025/04/28 09:28] – [Définition et composants] clerge.r | bloc2:prog:web:ajax [2025/04/28 14:11] (Version actuelle) – [Définition et composants] clerge.r | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| Ajax est composé d'un Assemblage de produits et techniques qui sont : | Ajax est composé d'un Assemblage de produits et techniques qui sont : | ||
| - | - HTML + CSS : pour la structure et la présentation de la page. | + | |
| + | - JavaScript : pour les traitements côté client. | ||
| + | - XML (de plus en plus remplacé par JSON) : pour échanger des données entre le client et le serveur. | ||
| + | - XMLHttpRequest (XHR) : pour envoyer et recevoir des données en mode asynchrone (middleware entre le client et le serveur). | ||
| - | - JavaScript : pour les traitements | + | Ajax introduit une distribution des traitements |
| + | ===== Spécificité d' | ||
| - | - XML (de plus en plus remplacé par JSON) : pour échanger des données entre le client | + | Ajax modifie l' |
| - | - XMLHttpRequest (XHR) : pour envoyer et recevoir des données en mode asynchrone (middleware entre le client | + | Certaines logiques de traitement sont déplacées du serveur vers le client. |
| - | Ajax introduit une distribution des traitements | + | Le modèle architectural proposé suit les classifications du Gartner Group, où les traitements |
| - | ===== Spécificité d' | + | |
| + | L' | ||
| + | |||
| + | {{: | ||
| ===== Principe de fonctionnement ===== | ===== Principe de fonctionnement ===== | ||
| - | //Requête en mode asynchrone | + | |
| + | Ajax repose sur une communication | ||
| + | |||
| + | Lorsqu' | ||
| + | |||
| + | Cet objet envoie une requête HTTP en arrière-plan vers le serveur sans interrompre l' | ||
| + | |||
| + | Le serveur traite la demande et renvoie une réponse (souvent au format JSON ou XML). | ||
| + | |||
| + | JavaScript traite ensuite cette réponse pour mettre | ||
| + | |||
| + | Un schéma de principe illustre cette chaîne : Interaction utilisateur → Envoi d'une requête XHR → Réponse du serveur → Mise à jour dynamique de la page. | ||
| + | |||
| + | ---------------------------------------------------------------------- | ||
| + | |||
| + | En Ajax, les requêtes sont asynchrones, | ||
| + | Lorsqu' | ||
| + | |||
| + | Une fonction de rappel | ||
| + | |||
| + | Cette approche permet d' | ||
| + | |||
| + | Exemple simple en JavaScript: | ||
| + | <code javascript> | ||
| + | var xhr = new XMLHttpRequest(); | ||
| + | xhr.open(' | ||
| + | xhr.onload = function() { | ||
| + | if (xhr.status === 200) { | ||
| + | console.log(JSON.parse(xhr.responseText)); | ||
| + | } | ||
| + | }; | ||
| + | xhr.send(); | ||
| + | </code> | ||
| ===== Avantages ===== | ===== Avantages ===== | ||
| + | |||
| + | Les principaux avantages d'Ajax sont : | ||
| + | |||
| + | - Réactivité accrue des applications web. | ||
| + | |||
| + | - Réduction du trafic réseau, car seules les données nécessaires sont échangées. | ||
| + | |||
| + | - Soulagement des serveurs, certains traitements étant déportés vers le client. | ||
| + | |||
| + | - Faible consommation de ressources côté client pour des interactions rapides et légères. | ||
| ===== Inconvénients ===== | ===== Inconvénients ===== | ||
| + | Malgré ses avantages, Ajax présente aussi des limites : | ||
| + | |||
| + | - Nécessité d' | ||
| + | |||
| + | - Compatibilité navigateur : tester sur différents navigateurs est indispensable. | ||
| + | |||
| + | - Problèmes de référencement : les moteurs de recherche peuvent avoir du mal à indexer des contenus chargés dynamiquement. | ||
| + | |||
| + | - Risques de sécurité, notamment d' | ||
| + | |||
| + | - Temps de chargement initial parfois plus long dû aux bibliothèques JavaScript nécessaires. | ||
| + | |||
| + | - Détournement possible de l' | ||
| + | |||
bloc2/prog/web/ajax.1745825331.txt.gz · Dernière modification : 2025/04/28 09:28 de clerge.r
