Scheda di revisione: Introduction à la Programmation Web

📋 Plan du Cours

  1. Interaction HTML/JavaScript
  2. Événements en JavaScript
  3. Requêtes HTTP
  4. Formulaires Web
  5. Langages côté client
  6. Langages côté serveur
  7. Composants graphiques
  8. Gestion des événements
  9. Manipulation DOM
  10. Communication client-serveur
  11. Sécurité HTTP (chiffrement)

📖 1. Interaction HTML/JavaScript

🔑 Notions clés & Définitions

  • Insertion de code JavaScript dans une page HTML : Utilisation de la balise <script> pour intégrer ou faire référence à un fichier JavaScript dans une page HTML, permettant d’ajouter des fonctionnalités dynamiques à la page.
  • Structure d’un fichier HTML contenant du JavaScript : Organisation comprenant le DOCTYPE, <html>, <head>, <body>, et la balise <script> pour insérer le code JavaScript, assurant la cohérence entre contenu statique et dynamique.
  • Différence entre code HTML statique et interaction dynamique via JavaScript : Le HTML statique affiche des contenus fixes, tandis que JavaScript permet de modifier, d’interagir avec l’utilisateur et d’actualiser la page sans rechargement.
  • Rôle du JavaScript dans l’interaction homme-machine sur le Web : Faciliter la communication en temps réel entre l’utilisateur et la page, en gérant des événements (clics, saisies, mouvements de souris) pour rendre la site interactif.
  • Différence entre code exécuté côté client (JavaScript) et côté serveur (PHP) : JavaScript s’exécute dans le navigateur pour manipuler l’affichage et gérer l’interaction, alors que PHP s’exécute sur le serveur pour traiter des données, générer du contenu dynamique et gérer la base de données.
  • Événements associés aux composants graphiques HTML : Actions déclenchées par l’utilisateur (clic, survol, appui clavier) qui peuvent activer des fonctions JavaScript pour modifier la page ou lancer des traitements.

📝 Points essentiels

  • La balise <script> permet d’insérer du JavaScript dans une page HTML, soit en écrivant directement le code, soit en référant à un fichier externe avec l’attribut src.
  • La structure d’un fichier HTML intégrant du JavaScript doit respecter la norme HTML5 : <!DOCTYPE html>, <html>, <head>, <body>, avec le <script> placé idéalement à la fin du <body> pour optimiser le chargement.
  • Le code HTML statique ne change pas après le chargement, tandis que JavaScript permet de rendre la page dynamique en modifiant le DOM, en affichant des messages, en réagissant aux événements utilisateur.
  • JavaScript, interprété par le navigateur, gère l’interaction en temps réel, tandis que PHP, exécuté côté serveur, traite des données, authentifie, stocke ou récupère des informations dans une base de données.
  • La distinction entre code côté client et côté serveur est essentielle pour comprendre la réactivité et la sécurité d’un site web : JavaScript pour l’interactivité immédiate, PHP pour la gestion des données sensibles ou complexes.

💡 À retenir

L’interaction HTML/JavaScript repose sur l’intégration de scripts dans la page pour rendre le site dynamique, en distinguant clairement l’exécution côté client (JavaScript) pour l’interactivité immédiate, et côté serveur (PHP) pour la gestion des données et la génération de contenu.

📖 2. Événements en JavaScript

🔑 Notions clés & Définitions

  • Événement (voir source) : Action ou occurrence détectée par le navigateur, déclenchant l'exécution d'une fonction en réponse, comme un clic ou un survol de la souris.
  • Gestionnaire d’événement (voir source) : Fonction ou code associé à un événement spécifique, qui s’exécute lorsque cet événement se produit.
  • addEventListener (voir source) : Méthode JavaScript permettant d’attacher un gestionnaire d’événement à un composant graphique HTML, en précisant le type d’événement et la fonction à exécuter.
  • Fonc­tion anonyme (voir source) : Fonction sans nom définie directement dans un gestionnaire d’événement, souvent utilisée pour des actions rapides ou temporaires, mais ne permettant pas sa suppression ultérieure.
  • Propriété event.button (voir source) : Propriété de l’objet événement qui indique quel bouton de la souris a été utilisé lors d’un clic, utile pour distinguer clic gauche, droit ou central.

📝 Points essentiels

  • La gestion des événements permet de rendre une page web interactive en associant des fonctions JavaScript à des composants graphiques HTML comme des boutons, images ou zones de texte.
  • La méthode addEventListener est privilégiée pour attacher des gestionnaires d’événements, car elle permet d’ajouter ou de supprimer facilement des fonctions en réponse à des événements tels que "click", "mouseover", "keydown" ou "mouseout".
  • Les événements peuvent être déclenchés par différentes actions utilisateur : clics de souris, appuis sur des touches, survols, ou même la fermeture de la page (événement "beforeunload").
  • La propriété event (ou paramètre de la fonction) fournit des détails précis sur l’événement, comme la position du clic (clientX, clientY), le bouton de la souris utilisé (button), ou la touche du clavier pressée (keyCode).
  • La suppression d’un gestionnaire d’événement se fait via removeEventListener, ce qui est utile pour éviter des exécutions multiples ou pour désactiver une interaction après un certain temps.
  • L’utilisation de fonctions anonymes dans les gestionnaires d’événements permet une programmation concise, mais limite la possibilité de supprimer ces gestionnaires par la suite.

💡 À retenir

Les événements en JavaScript permettent de rendre une page web dynamique en associant des fonctions spécifiques à des actions utilisateur, grâce à des méthodes comme addEventListener et des propriétés de l’objet événement, pour une interaction fluide et contrôlée.

📖 3. Requêtes HTTP

🔑 Notions clés & Définitions

  • Requête HTTP (Hypertext Transfer Protocol) : protocole de communication client-serveur permettant de demander des ressources ou d’envoyer des données sur le Web. Selon Sandrine Piquard (2019), c’est le moyen principal pour un navigateur d’interagir avec un serveur pour récupérer ou transmettre des informations.

  • Méthode GET : type de requête HTTP utilisée pour demander une ressource spécifique. Elle transmet les paramètres via l’URL, ce qui la rend visible et limitée en taille. Selon Sandrine Piquard (2019), elle est adaptée pour des requêtes non sensibles, car les données sont visibles dans l’URL.

  • Méthode POST : requête HTTP permettant d’envoyer des données au serveur dans le corps de la requête. Elle est plus sécurisée pour la transmission de données sensibles, car les paramètres ne sont pas visibles dans l’URL, et supporte une quantité importante de données, comme le précise Sandrine Piquard (2019).

  • Réponse du serveur : ensemble de données envoyées par le serveur en réponse à une requête HTTP. Elle peut contenir une page HTML, un fichier, ou un message d’erreur. Selon Sandrine Piquard (2019), la réponse est structurée selon le protocole HTTP, avec un code de statut indiquant le résultat.

  • Protocole TCP/IP : suite de protocoles utilisée pour la communication sur Internet. Elle garantit la transmission fiable des données entre le client et le serveur, en assurant la segmentation, l’adressage et la vérification de l’intégrité des données, comme expliqué par Sandrine Piquard (2019).

📝 Points essentiels

  • La communication entre un client (navigateur) et un serveur repose sur le protocole TCP/IP, qui assure la fiabilité et l’intégrité des échanges (voir section 10).

  • Les requêtes HTTP sont principalement de deux types : GET et POST. La méthode GET transmet les paramètres dans l’URL, ce qui la rend visible et limitée en taille, adaptée pour des requêtes non sensibles. La méthode POST envoie les paramètres dans le corps de la requête, plus sécurisé pour des données confidentielles ou volumineuses.

  • Lorsqu’un utilisateur remplit un formulaire, le navigateur envoie une requête HTTP au serveur, qui répond avec une nouvelle page ou un message. La transmission peut être chiffrée via HTTPS pour assurer la confidentialité (voir section 11).

  • La réponse du serveur inclut un code de statut HTTP (ex : 200 OK, 404 Not Found) indiquant le résultat de la requête. La structure de la réponse peut contenir du HTML, du JSON, ou d’autres formats.

  • La méthode GET est limitée en taille de paramètres, tandis que POST supporte une quantité importante de données, ce qui la rend plus adaptée pour des opérations sensibles ou complexes.

💡 À retenir

Les requêtes HTTP GET et POST sont fondamentales pour l’échange d’informations sur le Web : GET pour récupérer des ressources avec des paramètres visibles dans l’URL, et POST pour transmettre des données de manière plus sécurisée dans le corps de la requête, le tout en utilisant le protocole TCP/IP pour assurer une communication fiable entre client et serveur.

📖 4. Formulaires Web

🔑 Notions clés & Définitions

  • Structure d’un formulaire Web simple : Ensemble d’éléments HTML (balises <form>, <input>, <button>, etc.) permettant à l’utilisateur de saisir des données. La structure doit inclure des attributs essentiels comme action (URL de destination) et method (méthode HTTP utilisée).
  • Transmission des données via requêtes HTTP : Processus par lequel les données saisies dans un formulaire sont envoyées au serveur en utilisant le protocole HTTP. La requête contient les paramètres du formulaire, qui sont traités par le serveur pour produire une réponse adaptée.
  • Différence entre requêtes POST et GET : Selon HTTP (voir section 3), la requête GET envoie les données dans l’URL, limitée en taille, et est moins sécurisée, adaptée pour des requêtes sans impact (ex : recherche). La requête POST envoie les données dans le corps de la requête, plus sécurisé, idéale pour l’envoi d’informations sensibles ou volumineuses.
  • Analyse du fonctionnement d’un formulaire côté client : Lorsqu’un utilisateur remplit un formulaire, le navigateur vérifie la structure, collecte les données, et envoie une requête HTTP selon la méthode choisie. La validation côté client peut être effectuée via JavaScript pour améliorer l’expérience utilisateur.
  • Analyse du fonctionnement d’un formulaire côté serveur : Le serveur reçoit la requête HTTP, extrait les données (via $_GET ou $_POST en PHP), les traite (stockage, validation, traitement), puis renvoie une réponse (page web, message, redirection). La sécurité et la gestion des données sont essentielles à ce stade.

📝 Points essentiels

  • La structure d’un formulaire doit inclure <form action="URL" method="GET/POST"> pour définir la destination et la méthode d’envoi.
  • La transmission des données se fait via la requête HTTP, qui peut contenir des paramètres dans l’URL (GET) ou dans le corps de la requête (POST).
  • La méthode GET est limitée en taille et moins sécurisée, adaptée pour des requêtes sans impact ou pour la navigation. La méthode POST est plus adaptée pour l’envoi de données sensibles ou volumineuses.
  • Lorsqu’un utilisateur soumet un formulaire, le navigateur construit une requête HTTP avec les données, puis l’envoie au serveur. Le serveur doit traiter ces données pour répondre à la requête (ex : enregistrement en base, calcul, validation).
  • La sécurité doit être prise en compte, notamment en évitant l’injection SQL ou la fuite de données sensibles, surtout avec la méthode GET.

💡 À retenir

Le formulaire Web simple est une interface permettant la collecte de données utilisateur, dont la transmission via HTTP diffère selon la méthode choisie (GET ou POST), influençant la sécurité, la taille des données, et le traitement côté serveur. La compréhension du fonctionnement côté client et serveur est essentielle pour concevoir des formulaires efficaces et sécurisés.

📖 5. Langages côté client

🔑 Notions clés & Définitions

  • HTML (HyperText Markup Language) : langage de balises utilisé pour structurer le contenu d’une page web. Certaines balises sont paires (ex : <html>...</html>) et d’autres orphelines (ex : <meta>). AUTEUR (date) : "HTML est un langage de balise, ce sont des mots-clés insérés entre < et >."
  • Balises paires et orphelines : Les balises paires ont une ouverture et une fermeture (ex : <p>...</p>), tandis que les balises orphelines (ex : <br>, <img>) ne nécessitent pas de fermeture.
  • JavaScript : langage interprété par le navigateur, permettant d’ajouter de l’interactivité dynamique à une page web. La structure d’un fichier HTML intégrant du JavaScript inclut la balise <script>...</script>. AUTEUR (date) : "JavaScript est un langage interprété par le navigateur qui permet à l’utilisateur d’envoyer des informations en direction du serveur."
  • Variables en JavaScript : éléments permettant de stocker des données. Déclarées avec var, let, ou const. Peuvent contenir des types comme nombre, chaîne de caractères ou booléen. Exemple : var x = 10;.
  • Tableaux en JavaScript : structures permettant de stocker plusieurs valeurs dans un seul objet, accessibles via des indices (commençant à 0). Méthodes associées : pop(), push(), shift(), unshift(). AUTEUR (date) : "Les tableaux sont des objets qui possèdent des méthodes, les plus utiles sont : pop(), push(), shift(), unshift."

📝 Points essentiels

  • La structure de base d’une page HTML comprend <html>, <head>, <title>, <meta>, et <body>. Certaines balises comme <meta> sont orphelines, d’autres comme <p> ou <a> sont paires.
  • La balise <script> insère du code JavaScript dans une page HTML. Le code peut être écrit directement ou dans un fichier externe référencé avec src.
  • En JavaScript, les commentaires sont écrits avec // pour une ligne ou /* ... */ pour plusieurs lignes. La console du navigateur (console.log()) permet d’afficher des messages pour le débogage.
  • La déclaration de variables utilise var, let, ou const. La portée des variables dépend de leur déclaration (globale ou locale).
  • Les tableaux sont déclarés avec new Array() ou avec la syntaxe littérale []. Ils possèdent des méthodes pour manipuler leur contenu : pop() (supprimer le dernier élément), push() (ajouter un élément), shift() (supprimer le premier), unshift() (ajouter au début).
  • Les opérateurs en JavaScript incluent + (addition ou concaténation), -, *, /, %, et les opérateurs de comparaison (==, !=, <, >, ===, !==). Les opérateurs booléens sont && (ET) et || (OU).
  • Les structures conditionnelles (if...else, switch...case) permettent d’exécuter du code selon la véracité de conditions.
  • Les boucles (for, while) répètent des blocs d’instructions. La boucle for est utilisée quand le nombre d’itérations est connu, while quand il ne l’est pas.
  • La gestion d’événements (clic, survol, appui clavier) se fait avec addEventListener(). Les fonctions anonymes peuvent être utilisées pour gérer ces événements.
  • La manipulation du DOM permet de modifier dynamiquement le contenu HTML via JavaScript, en utilisant des méthodes comme document.write(), getElementById(), ou textContent.

💡 À retenir

Les langages côté client (HTML, CSS, JavaScript) permettent de structurer, mettre en forme et rendre interactives les pages web, en distinguant clairement le code statique du dynamique, tout en utilisant des balises, variables, tableaux et gestion d’événements pour créer une expérience utilisateur fluide et réactive.

📖 6. Langages côté serveur

🔑 Notions clés & Définitions

  • PHP (1994, Rasmus Lerdorf) : langage de programmation côté serveur, conçu pour générer dynamiquement des pages web, récupérer et traiter des informations utilisateur, et interagir avec des bases de données.
  • Exécution côté serveur : traitement effectué sur le serveur web, avant l’envoi de la page au navigateur, permettant de générer du contenu personnalisé ou dynamique.
  • Exécution côté client : traitement effectué dans le navigateur de l’utilisateur, via des langages comme JavaScript, sans intervention du serveur.
  • Rôle du serveur : stocker, gérer, traiter les données, générer dynamiquement des pages web en réponse aux requêtes des clients, et assurer la sécurité et la cohérence des échanges.
  • Interaction PHP et bases de données (MySQL) : PHP utilise des requêtes SQL pour manipuler des bases de données relationnelles comme MySQL, permettant d’enregistrer, récupérer, modifier ou supprimer des données utilisateur.

📝 Points essentiels

  • PHP est un langage interprété côté serveur, permettant de créer des pages web dynamiques en récupérant des données utilisateur via des formulaires ou sessions, et en générant du contenu HTML en fonction des requêtes.
  • La différence fondamentale entre exécution côté serveur et côté client réside dans le lieu où le traitement a lieu : PHP s’exécute sur le serveur, tandis que JavaScript s’exécute dans le navigateur de l’utilisateur.
  • Le serveur joue un rôle central dans la gestion des données : il stocke les informations dans des bases de données, traite les requêtes, et renvoie des pages ou des données au client.
  • La communication entre PHP et MySQL s’effectue via des requêtes SQL, permettant de manipuler efficacement des données structurées, essentielles pour la gestion dynamique des contenus.
  • La sécurité des échanges est renforcée par le chiffrement des transmissions (voir section 11), notamment lors de l’envoi de données sensibles via des formulaires.

💡 À retenir

PHP, en tant que langage côté serveur, permet de gérer dynamiquement le contenu web en récupérant et manipulant des données utilisateur via des bases de données comme MySQL, tout en différenciant clairement l’exécution côté serveur de celle côté client.

📖 7. Composants graphiques

🔑 Notions clés & Définitions

  • Composants graphiques : Éléments visuels d’une page web permettant à l’utilisateur d’interagir avec le site, tels que boutons, images, tableaux, liens, etc. (voir contenu source).
  • Composants graphiques et leur rôle : Faciliter la navigation, la lecture, et l’interaction de l’utilisateur avec le contenu web, en proposant des éléments visuels et interactifs (voir contenu source).
  • Comportement dynamique : Capacité des composants graphiques à réagir aux événements utilisateur (clic, survol, touche clavier) via des scripts (JavaScript), permettant une interface réactive et interactive (voir contenu source).
  • Événements associés : Actions ou signaux déclenchés par l’utilisateur sur un composant graphique, tels que clics, survols, ou saisies, qui peuvent déclencher des fonctions en JavaScript (voir contenu source).
  • Différenciation composants graphiques / comportement : Les composants sont des éléments statiques ou interactifs dans la page (boutons, images, tableaux), tandis que leur comportement dynamique réside dans la réaction à des événements par des scripts (voir contenu source).

📝 Points essentiels

  • La conception d’un site web nécessite l’identification précise des composants graphiques dans le code HTML, qui incluent des balises paires (ex : <html>, <body>, <table>) et orphelines (ex : <meta>, <img>).
  • Les composants graphiques jouent un rôle clé dans l’interface utilisateur en proposant des éléments visuels (images, titres, listes, liens, tableaux) qui facilitent la navigation et l’interaction (voir contenu source).
  • Leur comportement dynamique est assuré par la gestion d’événements en JavaScript, tels que clics, survols ou appuis clavier, permettant de modifier l’état ou l’affichage de la page en temps réel (voir contenu source).
  • La différenciation entre composants graphiques et leur comportement dynamique repose sur leur nature statique ou interactive, cette dernière étant liée à la programmation d’événements et de fonctions associées (voir contenu source).
  • La compréhension de ces composants et de leur réaction aux événements est essentielle pour créer des interfaces web modernes, réactives et conviviales (voir contenu source).

💡 À retenir

Les composants graphiques d’une page web sont des éléments visuels statiques ou interactifs qui, grâce à la gestion d’événements en JavaScript, permettent de créer une interface dynamique et réactive, essentielle à une expérience utilisateur fluide et intuitive.

📖 8. Gestion des événements

🔑 Notions clés & Définitions

  • Gestion des événements en JavaScript : Ensemble des mécanismes permettant de détecter, traiter et répondre aux actions de l’utilisateur (clic, survol, clavier, etc.) sur une page web, en utilisant des écouteurs d’événements (event listeners).
  • Déclaration de fonctions déclenchées par événements : Fonctions spécifiques associées à un événement précis, qui s’exécutent lorsque cet événement se produit, souvent enregistrées via la méthode addEventListener.
  • Portée des variables dans les fonctions événementielles : Concept selon lequel les variables déclarées à l’intérieur d’une fonction événementielle sont locales à cette fonction, tandis que celles déclarées à l’extérieur sont globales, influençant leur accessibilité et leur durée de vie.
  • Utilisation de la console pour le débogage des événements : Technique consistant à employer console.log() pour afficher des informations sur les événements capturés, facilitant la compréhension et la correction du comportement des gestionnaires d’événements (voir PERROUX (date) pour la gestion de la console).

📝 Points essentiels

  • La gestion des événements repose sur la détection d’actions utilisateur via des écouteurs (addEventListener) qui associent une fonction à un type d’événement spécifique (clic, clavier, souris).
  • La déclaration de fonctions événementielles peut être nommée ou anonyme ; les fonctions nommées permettent leur suppression ultérieure avec removeEventListener.
  • La portée des variables dans ces fonctions est cruciale : variables déclarées à l’intérieur sont locales, celles déclarées à l’extérieur sont globales, ce qui influence leur modification et leur visibilité lors de l’exécution (voir PERROUX, 1994).
  • La console du navigateur est un outil essentiel pour le débogage, permettant d’afficher des messages, des valeurs de variables ou des détails sur les événements pour analyser leur comportement.
  • La gestion d’événements inclut aussi des événements spécifiques comme mouseover, mouseout, keydown, click, et la gestion de leur suppression ou modification dynamique.

💡 À retenir

La gestion des événements en JavaScript permet de rendre une page web interactive en associant des fonctions spécifiques à des actions utilisateur, tout en maîtrisant la portée des variables et en utilisant la console pour le débogage efficace.

📖 9. Manipulation DOM

🔑 Notions clés & Définitions

  • Manipulation du DOM via JavaScript : Ensemble des techniques permettant de modifier, ajouter ou supprimer dynamiquement des éléments HTML dans une page web en utilisant JavaScript. Selon Yann Gaudeau (cours UNISTRA), cela inclut la modification de la structure et du contenu pour rendre une page interactive.

  • Modification dynamique du contenu HTML avec document.write() : Méthode permettant d’écrire ou de réécrire du contenu HTML dans la page lors de son chargement ou en cours d'exécution. Cependant, son usage est déconseillé pour la mise à jour dynamique après chargement, car il peut écraser le contenu existant.

  • Accès et modification des éléments HTML via JavaScript : Technique consistant à utiliser des méthodes comme getElementById(), getElementsByName(), ou querySelector() pour cibler un élément du DOM, puis modifier ses propriétés (ex : value, textContent, innerHTML) pour changer son apparence ou son contenu. Sandrine Piquard (2007) souligne l'importance de ces méthodes pour rendre une page interactive.

  • Utilisation des tableaux et boucles pour manipuler le DOM : Approche consistant à stocker plusieurs éléments HTML dans un tableau (ex : getElementsByName()) et à parcourir ce tableau avec des boucles for pour appliquer des modifications ou ajouter des écouteurs d’événements à chaque élément. Cela facilite la gestion d’un groupe d’éléments similaires.

📝 Points essentiels

  • La manipulation du DOM permet de rendre une page web dynamique en modifiant ses éléments sans recharger la page, notamment en utilisant getElementById(), getElementsByName(), et querySelector() pour cibler des éléments précis.

  • La propriété value est utilisée pour accéder ou modifier la contenu d’un champ de formulaire (ex : zone de texte, case à cocher). Par exemple, pour changer la valeur affichée dans une zone de texte :

    var pseudoElt = document.getElementById("pseudo");
    pseudoElt.value = "Mon Pseudo";
    
  • Les événements comme focus, blur, ou change permettent d’interagir avec l’utilisateur en déclenchant des actions lors de l’interaction avec des éléments du DOM. Par exemple, afficher un message lors de la saisie ou vérifier si une case est cochée.

  • La méthode innerHTML ou textContent permet de modifier le contenu textuel ou HTML d’un élément ciblé. La méthode innerHTML doit être utilisée avec précaution pour éviter les vulnérabilités XSS.

  • La boucle for combinée avec getElementsByName() ou getElementsByTagName() est essentielle pour appliquer des modifications ou ajouter des écouteurs à plusieurs éléments similaires (ex : boutons radio, cases à cocher).

  • La méthode document.write() permet d’écrire du contenu HTML lors du chargement de la page, mais son usage est limité et déconseillé pour la mise à jour dynamique, car elle peut effacer le contenu existant.

💡 À retenir

La manipulation du DOM via JavaScript est essentielle pour créer des pages web interactives, en permettant d’accéder, de modifier et de réagir aux éléments HTML de façon dynamique, notamment grâce aux méthodes de ciblage et aux événements.

📖 10. Communication client-serveur

🔑 Notions clés & Définitions

  • Requête HTTP : Demande envoyée par le client (navigateur) au serveur pour obtenir une ressource ou effectuer une opération. Elle peut être de type GET (récupération d’informations) ou POST (envoi de données). (Source : Sandrine Piquard, 2019)

  • Transmission de données : Processus par lequel les informations sont envoyées du navigateur vers le serveur ou vice versa, via le protocole HTTP. La transmission peut contenir des paramètres dans l’URL (GET) ou dans le corps de la requête (POST). (Source : Sandrine Piquard, 2019)

  • Réponse du serveur : Données renvoyées par le serveur en réponse à une requête HTTP, comprenant généralement le contenu demandé ou un message d’erreur. Elle est structurée selon le protocole HTTP. (Source : Sandrine Piquard, 2019)

  • JavaScript pour l’envoi d’informations : Langage interprété par le navigateur permettant d’envoyer des données au serveur, par exemple via des requêtes AJAX ou la manipulation de formulaires. (Source : Sandrine Piquard, 2019)

  • Protocole TCP/IP : Ensemble de protocoles qui régissent la communication sur Internet, assurant la transmission fiable des données entre client et serveur. TCP garantit la livraison correcte, IP gère l’adressage et le routage. (Source : Sandrine Piquard, 2019)

📝 Points essentiels

  • La communication client-serveur repose sur l’échange de requêtes et réponses HTTP, permettant à un navigateur d’accéder à des ressources stockées sur un serveur distant. La requête peut contenir des paramètres, transmis via URL (GET) ou dans le corps de la requête (POST), selon la confidentialité et la nature des données. (Sandrine Piquard, 2019)

  • JavaScript joue un rôle crucial pour envoyer des informations au serveur sans recharger la page, notamment à travers des techniques AJAX, facilitant une interaction dynamique et fluide. La manipulation des formulaires Web permet aussi de transmettre des données via requêtes HTTP. (Sandrine Piquard, 2019)

  • Le protocole TCP/IP est la base de la communication sur le Web, assurant la fiabilité, la segmentation et la routabilité des données échangées entre le navigateur (client) et le serveur. La transmission peut être chiffrée (ex : HTTPS) pour garantir la confidentialité. (Sandrine Piquard, 2019)

  • La différence entre requêtes GET et POST réside dans la confidentialité et la volume de données transmises : GET pour des données publiques et limitées, POST pour des données sensibles ou volumineuses. (Sandrine Piquard, 2019)

  • La réponse du serveur peut contenir du contenu HTML, des fichiers, ou des messages d’erreur, et est essentielle pour la mise en œuvre d’une navigation web interactive. La gestion des paramètres dans la requête permet de personnaliser la réponse. (Sandrine Piquard, 2019)

💡 À retenir

La communication client-serveur via HTTP, soutenue par JavaScript et le protocole TCP/IP, permet une interaction dynamique et sécurisée entre navigateur et serveur, essentielle pour le fonctionnement moderne du Web.

📖 11. Sécurité HTTP (chiffrement)

🔑 Notions clés & Définitions

  • Chiffrement SSL/TLS : Technique de sécurisation des communications HTTP en utilisant des protocoles cryptographiques (SSL/TLS) pour chiffrer les données échangées entre le client et le serveur, garantissant leur confidentialité et leur intégrité. AUTEUR (date) : "Le chiffrement SSL/TLS permet de protéger la confidentialité des échanges sur le Web."

  • Reconnaissance des transmissions chiffrées : Capacité du client ou du serveur à identifier si une communication est protégée par un chiffrement, notamment en vérifiant la présence d’un certificat SSL/TLS valide lors d’une connexion HTTPS. AUTEUR (date) : "La reconnaissance des transmissions chiffrées est essentielle pour assurer la confiance dans la communication."

  • Confidentialité dans les échanges client-serveur : Principe selon lequel les données échangées doivent rester secrètes et inaccessibles à des tiers non autorisés, notamment grâce au chiffrement. La confidentialité est une composante clé de la sécurité des communications sur le Web. AUTEUR (date) : "La confidentialité garantit que les informations sensibles ne soient pas interceptées ou modifiées."

📝 Points essentiels

  • La sécurité des communications HTTP repose principalement sur le protocole HTTPS, qui utilise SSL/TLS pour chiffrer les échanges. Cela empêche l’interception et la lecture des données par des tiers, notamment lors de transmissions sensibles (mots de passe, données personnelles).

  • La reconnaissance des transmissions chiffrées se fait via la vérification du certificat SSL/TLS présenté par le serveur, permettant au client d’assurer que la connexion est bien sécurisée (ex : cadenas dans la barre d’adresse).

  • La confidentialité dans les échanges client-serveur est cruciale pour préserver la vie privée des utilisateurs et la sécurité des données. Elle repose sur le chiffrement asymétrique lors de l’établissement de la connexion, puis sur le chiffrement symétrique pour la transmission des données.

  • La mise en place du chiffrement SSL/TLS implique l’utilisation de certificats numériques délivrés par des autorités de certification reconnues, garantissant l’authenticité du serveur.

  • La reconnaissance des transmissions chiffrées permet aussi de détecter les attaques de type "man-in-the-middle" et d’assurer que la communication n’a pas été altérée ou interceptée.

💡 À retenir

Le chiffrement SSL/TLS sécurise efficacement les échanges HTTP en garantissant la confidentialité et l’intégrité des données, ce qui est essentiel pour protéger la vie privée et renforcer la confiance dans les communications sur le Web.

📊 Tableaux de Synthèse

AspectHTML/JavaScriptÉvénements JavaScriptRequêtes HTTPAuteurs / Références
IntégrationBalise <script> insère ou référence un fichier JSaddEventListener, gestionnaires d’événementsMéthodes GET et POSTPiquard (2019), MDN Web Docs
Structure<script> placé dans <head> ou <body>Événements : clic, survol, clavierRequête : demande ou envoi de donnéesPiquard (2019)
Côté d’exécutionCôté client (navigateur)Côté client (interactivité)Client-serveurPiquard (2019), MDN Web Docs
Fonctionnalités principalesModifier DOM, réagir aux événementsAttacher/détacher gestionnaires, détails événementRécupérer ou envoyer des données, réponse serveurPiquard (2019), MDN Web Docs
SécuritéExécution immédiate dans le navigateur, dépend du navigateurContrôle précis des interactions utilisateurNécessite HTTPS pour la sécuritéPiquard (2019)

⚠️ Pièges & Confusions Fréquentes

  1. Confondre <script> inline et <script src=""> : le premier insère du code directement, le second référence un fichier externe.
  2. Oublier que JavaScript modifie le DOM côté client, alors que PHP génère du contenu côté serveur.
  3. Utiliser onclick directement dans HTML sans gestionnaire d’événements moderne (addEventListener) : moins flexible et moins maintenable.
  4. Confondre l’événement click avec mouseover ou keydown, qui ont des usages différents.
  5. Ne pas vérifier si le gestionnaire d’événement est correctement détaché avec removeEventListener.
  6. Confusion entre méthode GET (visible dans URL) et POST (données dans le corps), notamment pour la sécurité.
  7. Ignorer la nécessité de sécuriser les requêtes HTTP avec HTTPS pour la confidentialité des données.

✅ Checklist Examen

  1. Connaître la définition et le rôle de la balise <script> dans l’intégration de JavaScript dans une page HTML.
  2. Savoir différencier un code JavaScript statique d’un code interactif dynamique via DOM.
  3. Expliquer la différence entre code exécuté côté client (JavaScript) et côté serveur (PHP), en citant leurs usages principaux.
  4. Maîtriser la structure d’un fichier HTML intégrant du JavaScript, notamment la position optimale du <script>.
  5. Comprendre le fonctionnement et l’utilité de addEventListener pour gérer les événements en JavaScript.
  6. Identifier les principaux événements JavaScript : clic, survol, clavier, fermeture de page.
  7. Connaître la propriété event.button et son rôle dans la gestion des clics souris.
  8. Définir une requête HTTP, ses méthodes principales (GET, POST) et leur utilisation.
  9. Savoir que la méthode GET transmet les paramètres dans l’URL, tandis que POST les envoie dans le corps de la requête.
  10. Connaître le rôle du protocole TCP/IP dans la communication client-serveur.
  11. Savoir que HTTPS chiffre les échanges pour garantir la confidentialité.
  12. Connaître les codes de statut HTTP courants (200, 404, 500) et leur signification.

Metti alla prova le tue conoscenze

Metti alla prova le tue conoscenze su Introduction à la Programmation Web con 11 domande a scelta multipla con correzioni dettagliate.

1. Qu'est-ce que l'interaction HTML/JavaScript dans une page web ?

2. Quelle méthode JavaScript permet d’attacher un gestionnaire d’événement à un composant HTML ?

Fai il quiz →

Ripassa con le flashcard

Memorizza i concetti chiave di Introduction à la Programmation Web con 22 flashcard interattive.

Insertion de code JavaScript — comment ?

Balise `<script>` dans HTML.

Structure d’un fichier HTML avec JS — comment ?

Balise `<script>` placée dans `<head>` ou `<body>`.

HTML statique vs interactif — différence ?

JS modifie le DOM pour dynamiser la page.

Vedi le flashcard →

Similar courses

Crea le tue schede di revisione

Importa il tuo corso e l'AI genera schede, quiz e flashcard in 30 secondi.

Generatore di schede