[{"data":1,"prerenderedAt":2980},["ShallowReactive",2],{"navigation":3,"\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http":585,"\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http__counterpart":1651,"\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http__slides":1962,"annexes-memo:\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http":2383,"annexes-slides:\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http":2628},[4,224,440],{"title":5,"path":6,"stem":7,"children":8},"SNT — Seconde","\u002Fsnt-2nde","0.snt-2nde\u002F0.index",[9,10,14,36,66,92,118,144,162,184,206],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"REVIEW pédagogique — SNT 2nde","\u002Fsnt-2nde\u002Freview","0.snt-2nde\u002FREVIEW",{"title":15,"path":16,"stem":17,"children":18},"Internet","\u002Fsnt-2nde\u002Fsa-internet","0.snt-2nde\u002Fsa-internet\u002F0.index",[19,20,24,28,32],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Adresses symboliques et DNS","\u002Fsnt-2nde\u002Fsa-internet\u002Fadresses-dns","0.snt-2nde\u002Fsa-internet\u002F1.adresses-dns",{"title":25,"path":26,"stem":27},"Internet et les réseaux physiques","\u002Fsnt-2nde\u002Fsa-internet\u002Freseaux-physiques","0.snt-2nde\u002Fsa-internet\u002F2.reseaux-physiques",{"title":29,"path":30,"stem":31},"Protocoles TCP\u002FIP et routage des paquets","\u002Fsnt-2nde\u002Fsa-internet\u002Ftcp-ip-routage","0.snt-2nde\u002Fsa-internet\u002F3.tcp-ip-routage",{"title":33,"path":34,"stem":35},"Réseaux pair-à-pair","\u002Fsnt-2nde\u002Fsa-internet\u002Fpair-a-pair","0.snt-2nde\u002Fsa-internet\u002F4.pair-a-pair",{"title":37,"path":38,"stem":39,"children":40},"Le Web","\u002Fsnt-2nde\u002Fsb-web","0.snt-2nde\u002Fsb-web\u002F0.index",[41,42,46,50,54,58,62],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Histoire du Web","\u002Fsnt-2nde\u002Fsb-web\u002Fhistoire-web","0.snt-2nde\u002Fsb-web\u002F1.histoire-web",{"title":47,"path":48,"stem":49},"URL et hypertexte","\u002Fsnt-2nde\u002Fsb-web\u002Furl-hypertexte","0.snt-2nde\u002Fsb-web\u002F2.url-hypertexte",{"title":51,"path":52,"stem":53},"HTML et CSS — le contenu et la présentation","\u002Fsnt-2nde\u002Fsb-web\u002Fhtml-css","0.snt-2nde\u002Fsb-web\u002F3.html-css",{"title":55,"path":56,"stem":57},"Client-serveur et requêtes HTTP","\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http","0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http",{"title":59,"path":60,"stem":61},"Moteurs de recherche","\u002Fsnt-2nde\u002Fsb-web\u002Fmoteurs-recherche","0.snt-2nde\u002Fsb-web\u002F5.moteurs-recherche",{"title":63,"path":64,"stem":65},"Sécurité du navigateur et notions juridiques","\u002Fsnt-2nde\u002Fsb-web\u002Fsecurite-droits","0.snt-2nde\u002Fsb-web\u002F6.securite-droits",{"title":67,"path":68,"stem":69,"children":70},"Les réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F0.index",[71,72,76,80,84,88],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Panorama des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpanorama-rs","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F1.panorama-rs",{"title":77,"path":78,"stem":79},"Identité numérique et authentification","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fidentite-numerique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F2.identite-numerique",{"title":81,"path":82,"stem":83},"Le modèle économique des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fmodele-economique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F3.modele-economique",{"title":85,"path":86,"stem":87},"Petit monde et graphes","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpetit-monde-graphes","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F4.petit-monde-graphes",{"title":89,"path":90,"stem":91},"La cyberviolence","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fcyberviolence","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F5.cyberviolence",{"title":93,"path":94,"stem":95,"children":96},"Les données structurées et leur traitement","\u002Fsnt-2nde\u002Fsd-donnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F0.index",[97,98,102,106,110,114],{"title":93,"path":94,"stem":95},{"title":99,"path":100,"stem":101},"Données et formats","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-formats","0.snt-2nde\u002Fsd-donnees-structurees\u002F1.donnees-formats",{"title":103,"path":104,"stem":105},"Données structurées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F2.donnees-structurees",{"title":107,"path":108,"stem":109},"Métadonnées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fmetadonnees","0.snt-2nde\u002Fsd-donnees-structurees\u002F3.metadonnees",{"title":111,"path":112,"stem":113},"Traitement de tables","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Ftraitement-tables","0.snt-2nde\u002Fsd-donnees-structurees\u002F4.traitement-tables",{"title":115,"path":116,"stem":117},"Le cloud","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fcloud","0.snt-2nde\u002Fsd-donnees-structurees\u002F5.cloud",{"title":119,"path":120,"stem":121,"children":122},"Localisation, cartographie et mobilité","\u002Fsnt-2nde\u002Fse-localisation-cartographie","0.snt-2nde\u002Fse-localisation-cartographie\u002F0.index",[123,124,128,132,136,140],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"GPS et Galileo — se situer grâce aux satellites","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fgps-galileo","0.snt-2nde\u002Fse-localisation-cartographie\u002F1.gps-galileo",{"title":129,"path":130,"stem":131},"Décoder une trame NMEA","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Ftrame-nmea","0.snt-2nde\u002Fse-localisation-cartographie\u002F2.trame-nmea",{"title":133,"path":134,"stem":135},"Cartes numériques — GeoPortail et OpenStreetMap","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fcartes-numeriques","0.snt-2nde\u002Fse-localisation-cartographie\u002F3.cartes-numeriques",{"title":137,"path":138,"stem":139},"Itinéraires et graphes","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fitineraires-graphes","0.snt-2nde\u002Fse-localisation-cartographie\u002F4.itineraires-graphes",{"title":141,"path":142,"stem":143},"Confidentialité de la position","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fconfidentialite-position","0.snt-2nde\u002Fse-localisation-cartographie\u002F5.confidentialite-position",{"title":145,"path":146,"stem":147,"children":148},"Informatique embarquée et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee","0.snt-2nde\u002Fsf-info-embarquee\u002F0.index",[149,150,154,158],{"title":145,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Systèmes informatiques embarqués","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fsystemes-embarques","0.snt-2nde\u002Fsf-info-embarquee\u002F1.systemes-embarques",{"title":155,"path":156,"stem":157},"Capteurs et actionneurs","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fcapteurs-actionneurs","0.snt-2nde\u002Fsf-info-embarquee\u002F2.capteurs-actionneurs",{"title":159,"path":160,"stem":161},"IHM et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fihm-objet-connecte","0.snt-2nde\u002Fsf-info-embarquee\u002F3.ihm-objet-connecte",{"title":163,"path":164,"stem":165,"children":166},"Photographie numérique","\u002Fsnt-2nde\u002Fsg-photo-numerique","0.snt-2nde\u002Fsg-photo-numerique\u002F0.index",[167,168,172,176,180],{"title":163,"path":164,"stem":165},{"title":169,"path":170,"stem":171},"Photosites, pixels et résolution","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fpixels-resolution","0.snt-2nde\u002Fsg-photo-numerique\u002F1.pixels-resolution",{"title":173,"path":174,"stem":175},"Les algorithmes de l'appareil photo","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Falgorithmes-photo","0.snt-2nde\u002Fsg-photo-numerique\u002F2.algorithmes-photo",{"title":177,"path":178,"stem":179},"Les métadonnées EXIF","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fmetadonnees-exif","0.snt-2nde\u002Fsg-photo-numerique\u002F3.metadonnees-exif",{"title":181,"path":182,"stem":183},"Traiter une image en Python","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Ftraitement-rgb","0.snt-2nde\u002Fsg-photo-numerique\u002F4.traitement-rgb",{"title":185,"path":186,"stem":187,"children":188},"Notions transversales de programmation","\u002Fsnt-2nde\u002Fsh-prog-notions","0.snt-2nde\u002Fsh-prog-notions\u002F0.index",[189,190,194,198,202],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193},"Séquences d'instructions et variables","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fsequences-affectations","0.snt-2nde\u002Fsh-prog-notions\u002F1.sequences-affectations",{"title":195,"path":196,"stem":197},"Instructions conditionnelles","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fconditionnelles","0.snt-2nde\u002Fsh-prog-notions\u002F2.conditionnelles",{"title":199,"path":200,"stem":201},"Boucles bornées et non bornées","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fboucles","0.snt-2nde\u002Fsh-prog-notions\u002F3.boucles",{"title":203,"path":204,"stem":205},"Définitions et appels de fonctions","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Ffonctions","0.snt-2nde\u002Fsh-prog-notions\u002F4.fonctions",{"title":207,"path":208,"stem":209,"children":210},"Démo des widgets MDC","\u002Fsnt-2nde\u002Fzz-demo-widgets","0.snt-2nde\u002Fzz-demo-widgets\u002F0.index",[211,212,216,220],{"title":207,"path":208,"stem":209},{"title":213,"path":214,"stem":215},"Démo statique — callouts, code, BO, illustration","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fstatique","0.snt-2nde\u002Fzz-demo-widgets\u002F1.statique",{"title":217,"path":218,"stem":219},"Démo interactive — self-eval et python-snippet","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Finteractif","0.snt-2nde\u002Fzz-demo-widgets\u002F2.interactif",{"title":221,"path":222,"stem":223},"Démo · 14 widgets de manipulation NSI","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fwidgets-manipulation","0.snt-2nde\u002Fzz-demo-widgets\u002F3.widgets-manipulation",{"title":225,"path":226,"stem":227,"children":228},"NSI — Première","\u002Fnsi-1ere","1.nsi-1ere\u002F0.index",[229,230,234,256,282,304,328,354,380,410],{"title":225,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Relecture pédagogique — 8 chapitres NSI 1ère (PA → PH)","\u002Fnsi-1ere\u002Freview","1.nsi-1ere\u002FREVIEW",{"title":235,"path":236,"stem":237,"children":238},"Histoire de l'informatique","\u002Fnsi-1ere\u002Fpa-histoire-info","1.nsi-1ere\u002Fpa-histoire-info\u002F0.index",[239,240,244,248,252],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243},"De la préantiquité aux machines à calculer","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fpreantiquite-aux-machines","1.nsi-1ere\u002Fpa-histoire-info\u002F1.preantiquite-aux-machines",{"title":245,"path":246,"stem":247},"La machine universelle (1930-1950)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fmachine-universelle","1.nsi-1ere\u002Fpa-histoire-info\u002F2.machine-universelle",{"title":249,"path":250,"stem":251},"Les ordinateurs modernes (1947-1990)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fordinateurs-modernes","1.nsi-1ere\u002Fpa-histoire-info\u002F3.ordinateurs-modernes",{"title":253,"path":254,"stem":255},"Réseaux, Web et IA (1969 à aujourd'hui)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Freseaux-et-web","1.nsi-1ere\u002Fpa-histoire-info\u002F4.reseaux-et-web",{"title":257,"path":258,"stem":259,"children":260},"Représentation des données — types et valeurs","\u002Fnsi-1ere\u002Fpb-types-valeurs","1.nsi-1ere\u002Fpb-types-valeurs\u002F0.index",[261,262,266,270,274,278],{"title":257,"path":258,"stem":259},{"title":263,"path":264,"stem":265},"Bases de numération et entiers positifs","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbases-entiers-positifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F1.bases-entiers-positifs",{"title":267,"path":268,"stem":269},"Entiers relatifs et complément à deux","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fentiers-relatifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F2.entiers-relatifs",{"title":271,"path":272,"stem":273},"Nombres flottants et virgule flottante","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fflottants","1.nsi-1ere\u002Fpb-types-valeurs\u002F3.flottants",{"title":275,"path":276,"stem":277},"Textes et encodages — ASCII, ISO-8859-1, Unicode","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Ftextes-encodages","1.nsi-1ere\u002Fpb-types-valeurs\u002F4.textes-encodages",{"title":279,"path":280,"stem":281},"Valeurs booléennes et opérateurs logiques","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbooleens","1.nsi-1ere\u002Fpb-types-valeurs\u002F5.booleens",{"title":283,"path":284,"stem":285,"children":286},"Représentation des données : types construits","\u002Fnsi-1ere\u002Fpc-types-construits","1.nsi-1ere\u002Fpc-types-construits\u002F0.index",[287,288,292,296,300],{"title":283,"path":284,"stem":285},{"title":289,"path":290,"stem":291},"Tableaux et listes","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftableaux-listes","1.nsi-1ere\u002Fpc-types-construits\u002F1.tableaux-listes",{"title":293,"path":294,"stem":295},"Listes en compréhension","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fcomprehension","1.nsi-1ere\u002Fpc-types-construits\u002F2.comprehension",{"title":297,"path":298,"stem":299},"Tuples et p-uplets nommés","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftuples","1.nsi-1ere\u002Fpc-types-construits\u002F3.tuples",{"title":301,"path":302,"stem":303},"Dictionnaires","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fdictionnaires","1.nsi-1ere\u002Fpc-types-construits\u002F4.dictionnaires",{"title":305,"path":306,"stem":307,"children":308},"Traitement de données en tables","\u002Fnsi-1ere\u002Fpd-tables-donnees","1.nsi-1ere\u002Fpd-tables-donnees\u002F0.index",[309,310,314,318,322],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313},"Tables et CSV","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftables-csv","1.nsi-1ere\u002Fpd-tables-donnees\u002F1.tables-csv",{"title":315,"path":316,"stem":317},"Recherche et filtrage","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Frecherche","1.nsi-1ere\u002Fpd-tables-donnees\u002F2.recherche",{"title":319,"path":320,"stem":321},"Trier une table","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri","1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri",{"title":323,"path":324,"stem":325,"children":326},"Fusion et indexation","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ffusion-indexation","1.nsi-1ere\u002Fpd-tables-donnees\u002F4.fusion-indexation",[327],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331,"children":332},"IHM sur le Web","\u002Fnsi-1ere\u002Fpe-ihm-web","1.nsi-1ere\u002Fpe-ihm-web\u002F0.index",[333,334,338,342,346,350],{"title":329,"path":330,"stem":331},{"title":335,"path":336,"stem":337},"HTML et CSS — rappel de structure","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fhtml-css-bases","1.nsi-1ere\u002Fpe-ihm-web\u002F1.html-css-bases",{"title":339,"path":340,"stem":341},"Formulaires HTML","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fformulaires","1.nsi-1ere\u002Fpe-ihm-web\u002F2.formulaires",{"title":343,"path":344,"stem":345},"Événements JavaScript","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fevenements-js","1.nsi-1ere\u002Fpe-ihm-web\u002F3.evenements-js",{"title":347,"path":348,"stem":349},"Manipulation du DOM","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fdom-interaction","1.nsi-1ere\u002Fpe-ihm-web\u002F4.dom-interaction",{"title":351,"path":352,"stem":353},"Client, serveur et HTTP","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fclient-serveur-http","1.nsi-1ere\u002Fpe-ihm-web\u002F5.client-serveur-http",{"title":355,"path":356,"stem":357,"children":358},"Architectures matérielles et systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os","1.nsi-1ere\u002Fpf-archi-os\u002F0.index",[359,360,364,368,372,376],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363},"Le modèle de von Neumann","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fvon-neumann","1.nsi-1ere\u002Fpf-archi-os\u002F1.von-neumann",{"title":365,"path":366,"stem":367},"Périphériques et interface homme-machine","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fperipheriques-ihm","1.nsi-1ere\u002Fpf-archi-os\u002F2.peripheriques-ihm",{"title":369,"path":370,"stem":371},"Les systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fsystemes-exploitation","1.nsi-1ere\u002Fpf-archi-os\u002F3.systemes-exploitation",{"title":373,"path":374,"stem":375},"Linux et le shell","\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell","1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell",{"title":377,"path":378,"stem":379},"Réseaux et protocoles","\u002Fnsi-1ere\u002Fpf-archi-os\u002Freseaux","1.nsi-1ere\u002Fpf-archi-os\u002F5.reseaux",{"title":381,"path":382,"stem":383,"children":384},"Langages et programmation","\u002Fnsi-1ere\u002Fpg-langages-prog","1.nsi-1ere\u002Fpg-langages-prog\u002F0.index",[385,386,390,394,398,402,406],{"title":381,"path":382,"stem":383},{"title":387,"path":388,"stem":389},"Diversité et unité des langages de programmation","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fdiversite-langages","1.nsi-1ere\u002Fpg-langages-prog\u002F1.diversite-langages",{"title":391,"path":392,"stem":393},"Constructions élémentaires","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fconstructions-elementaires","1.nsi-1ere\u002Fpg-langages-prog\u002F2.constructions-elementaires",{"title":395,"path":396,"stem":397},"Fonctions","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Ffonctions","1.nsi-1ere\u002Fpg-langages-prog\u002F3.fonctions",{"title":399,"path":400,"stem":401},"Spécification d'une fonction","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fspecification","1.nsi-1ere\u002Fpg-langages-prog\u002F4.specification",{"title":403,"path":404,"stem":405},"Mise au point des programmes","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fmise-au-point","1.nsi-1ere\u002Fpg-langages-prog\u002F5.mise-au-point",{"title":407,"path":408,"stem":409},"Utilisation de bibliothèques","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fbibliotheques","1.nsi-1ere\u002Fpg-langages-prog\u002F6.bibliotheques",{"title":411,"path":412,"stem":413,"children":414},"Algorithmique","\u002Fnsi-1ere\u002Fph-algorithmique","1.nsi-1ere\u002Fph-algorithmique\u002F0.index",[415,416,420,424,428,432,436],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"Parcours séquentiel d'un tableau","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fparcours-sequentiel","1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel",{"title":421,"path":422,"stem":423},"Bases de la complexité","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fcomplexite-bases","1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases",{"title":425,"path":426,"stem":427},"Tris par sélection et par insertion","\u002Fnsi-1ere\u002Fph-algorithmique\u002Ftris","1.nsi-1ere\u002Fph-algorithmique\u002F3.tris",{"title":429,"path":430,"stem":431},"Recherche dichotomique","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fdichotomie","1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie",{"title":433,"path":434,"stem":435},"Algorithmes gloutons","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fgloutons","1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons",{"title":437,"path":438,"stem":439},"Les k plus proches voisins (k-NN)","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fknn","1.nsi-1ere\u002Fph-algorithmique\u002F6.knn",{"title":441,"path":442,"stem":443,"children":444},"NSI — Terminale","\u002Fnsi-tale","2.nsi-tale\u002F0.index",[445,446,450,476,498,536,560],{"title":441,"path":442,"stem":443},{"title":447,"path":448,"stem":449},"Review pédagogique — chapitres NSI Terminale (TA, TB, TC, TD, TE)","\u002Fnsi-tale\u002Freview","2.nsi-tale\u002FREVIEW",{"title":451,"path":452,"stem":453,"children":454},"Structures de données","\u002Fnsi-tale\u002Fta-structures-donnees","2.nsi-tale\u002Fta-structures-donnees\u002F0.index",[455,456,460,464,468,472],{"title":451,"path":452,"stem":453},{"title":457,"path":458,"stem":459},"Objet, classe, interface","\u002Fnsi-tale\u002Fta-structures-donnees\u002Finterface-implementation","2.nsi-tale\u002Fta-structures-donnees\u002F1.interface-implementation",{"title":461,"path":462,"stem":463},"Implémenter une structure — l'exemple de la file FIFO","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fimplementer-une-structure","2.nsi-tale\u002Fta-structures-donnees\u002F2.implementer-une-structure",{"title":465,"path":466,"stem":467},"Listes, piles, files, dictionnaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Flistes-piles-files-dict","2.nsi-tale\u002Fta-structures-donnees\u002F3.listes-piles-files-dict",{"title":469,"path":470,"stem":471},"Arbres binaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Farbres-binaires","2.nsi-tale\u002Fta-structures-donnees\u002F4.arbres-binaires",{"title":473,"path":474,"stem":475},"Graphes","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fgraphes","2.nsi-tale\u002Fta-structures-donnees\u002F5.graphes",{"title":477,"path":478,"stem":479,"children":480},"Bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees","2.nsi-tale\u002Ftb-bases-de-donnees\u002F0.index",[481,482,486,490,494],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485},"Le modèle relationnel","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fmodele-relationnel","2.nsi-tale\u002Ftb-bases-de-donnees\u002F1.modele-relationnel",{"title":487,"path":488,"stem":489},"Bases de données relationnelles et anomalies de schéma","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fbase-relationnelle","2.nsi-tale\u002Ftb-bases-de-donnees\u002F2.base-relationnelle",{"title":491,"path":492,"stem":493},"Le langage SQL","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsql","2.nsi-tale\u002Ftb-bases-de-donnees\u002F3.sql",{"title":495,"path":496,"stem":497},"Les systèmes de gestion de bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsgbd","2.nsi-tale\u002Ftb-bases-de-donnees\u002F4.sgbd",{"title":499,"path":500,"stem":501,"children":502},"Architectures matérielles, systèmes d'exploitation et réseaux","\u002Fnsi-tale\u002Ftc-archi-os-reseaux","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F0.index",[503,504,508,512,516,520,524,528,532],{"title":499,"path":500,"stem":501},{"title":505,"path":506,"stem":507},"Le système sur puce (SoC)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fsysteme-sur-puce","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F1.systeme-sur-puce",{"title":509,"path":510,"stem":511},"Processus et ordonnancement par l'OS","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprocessus-os","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F2.processus-os",{"title":513,"path":514,"stem":515},"L'interblocage (deadlock)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Finterblocage","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F3.interblocage",{"title":517,"path":518,"stem":519},"Principes du routage","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Froutage-principes","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F4.routage-principes",{"title":521,"path":522,"stem":523},"Protocoles de routage RIP et OSPF","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprotocoles-rip-ospf","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F5.protocoles-rip-ospf",{"title":525,"path":526,"stem":527},"Chiffrement symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-symetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F6.chiffrement-symetrique",{"title":529,"path":530,"stem":531},"Chiffrement asymétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-asymetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F7.chiffrement-asymetrique",{"title":533,"path":534,"stem":535},"HTTPS — l'échange de clé symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fhttps-tls","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F8.https-tls",{"title":381,"path":537,"stem":538,"children":539},"\u002Fnsi-tale\u002Ftd-langages-prog","2.nsi-tale\u002Ftd-langages-prog\u002F0.index",[540,541,544,548,552,556],{"title":381,"path":537,"stem":538},{"title":403,"path":542,"stem":543},"\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmise-au-point","2.nsi-tale\u002Ftd-langages-prog\u002F1.mise-au-point",{"title":545,"path":546,"stem":547},"Modularité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmodularite","2.nsi-tale\u002Ftd-langages-prog\u002F2.modularite",{"title":549,"path":550,"stem":551},"Récursivité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Frecursivite","2.nsi-tale\u002Ftd-langages-prog\u002F3.recursivite",{"title":553,"path":554,"stem":555},"Paradigmes de programmation","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fparadigmes","2.nsi-tale\u002Ftd-langages-prog\u002F4.paradigmes",{"title":557,"path":558,"stem":559},"Programme comme donnée — calculabilité et indécidabilité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fprogramme-comme-donnee","2.nsi-tale\u002Ftd-langages-prog\u002F5.programme-comme-donnee",{"title":411,"path":561,"stem":562,"children":563},"\u002Fnsi-tale\u002Fte-algorithmique","2.nsi-tale\u002Fte-algorithmique\u002F0.index",[564,565,569,573,577,581],{"title":411,"path":561,"stem":562},{"title":566,"path":567,"stem":568},"Algorithmes sur les arbres binaires","\u002Fnsi-tale\u002Fte-algorithmique\u002Farbres-binaires-algos","2.nsi-tale\u002Fte-algorithmique\u002F1.arbres-binaires-algos",{"title":570,"path":571,"stem":572},"Parcours de graphes — DFS, BFS, cycles, chemins","\u002Fnsi-tale\u002Fte-algorithmique\u002Fgraphes-parcours","2.nsi-tale\u002Fte-algorithmique\u002F2.graphes-parcours",{"title":574,"path":575,"stem":576},"Diviser pour régner","\u002Fnsi-tale\u002Fte-algorithmique\u002Fdiviser-pour-regner","2.nsi-tale\u002Fte-algorithmique\u002F3.diviser-pour-regner",{"title":578,"path":579,"stem":580},"Programmation dynamique","\u002Fnsi-tale\u002Fte-algorithmique\u002Fprogrammation-dynamique","2.nsi-tale\u002Fte-algorithmique\u002F4.programmation-dynamique",{"title":582,"path":583,"stem":584},"Recherche textuelle — l'algorithme de Boyer-Moore","\u002Fnsi-tale\u002Fte-algorithmique\u002Frecherche-textuelle","2.nsi-tale\u002Fte-algorithmique\u002F5.recherche-textuelle",{"id":586,"title":55,"bo":587,"body":590,"description":1637,"eval":1638,"extension":1639,"labo":1638,"meta":1640,"navigation":1285,"path":56,"quizzes":1641,"readingTime":896,"seo":1649,"stem":57,"tp":1638,"__hash__":1650},"cours\u002F0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http.md",[588,589],"SB03","SB08",{"type":591,"value":592,"toc":1621},"minimark",[593,598,620,631,639,643,646,669,683,703,708,711,772,794,811,840,844,856,859,872,876,884,939,942,1031,1044,1048,1080,1100,1104,1115,1123,1162,1183,1198,1229,1233,1240,1329,1363,1367,1452,1461,1465,1471,1525,1531,1535,1573,1577,1617],[594,595,597],"h2",{"id":596},"introduction","Introduction",[599,600,601,602,606,607,610,611,614,615,619],"p",{},"Chaque fois que vous chargez une page Web, deux ordinateurs entrent en\nconversation : le ",[603,604,605],"strong",{},"vôtre"," (qui exécute votre navigateur) et un ",[603,608,609],{},"serveur","\ndistant (qui héberge la page). Le vôtre demande, le serveur répond. Ce dialogue\nsuit un protocole strict — ",[603,612,613],{},"HTTP"," (",[616,617,618],"em",{},"HyperText Transfer Protocol",") — qui\nprécise quels messages s'échanger et comment les structurer.",[599,621,622,623,626,627,630],{},"Comprendre ce dialogue, c'est lever un dernier capot du Web : derrière chaque\nclic se cache une ",[603,624,625],{},"requête"," envoyée à travers Internet, et une ",[603,628,629],{},"réponse","\nqui revient avec le contenu attendu.",[599,632,633,636,637],{},[634,635],"bo-ref",{"code":588}," ",[634,638],{"code":589},[594,640,642],{"id":641},"le-modèle-client-serveur","Le modèle client-serveur",[599,644,645],{},"Sur le Web, deux rôles bien distincts :",[647,648,649,661],"ul",{},[650,651,652,653,656,657,660],"li",{},"Le ",[603,654,655],{},"client"," est l'ordinateur qui ",[603,658,659],{},"demande",". Le plus souvent, c'est votre\nnavigateur (Firefox, Chrome, Safari…).",[650,662,652,663,656,665,668],{},[603,664,609],{},[603,666,667],{},"répond",". Il est allumé 24h\u002F24, connecté\nà Internet, et stocke les pages et fichiers qu'il distribue.",[670,671,673],"card",{"icon":672,"title":642},"i-lucide-server",[599,674,652,675,678,679,682],{},[603,676,677],{},"client demande",", le ",[603,680,681],{},"serveur répond",". Toujours dans cet ordre, jamais\nl'inverse. Le serveur ne « pousse » pas une page chez vous tant que vous ne\nl'avez pas demandée.",[684,685,686],"note",{},[599,687,688,689,691,692,695,696,698,699,702],{},"Analogie : imaginez un restaurant. Le ",[603,690,655],{}," consulte la carte, ",[603,693,694],{},"passe\ncommande"," auprès du serveur en salle ; le ",[603,697,609],{}," transmet en cuisine, puis\n",[603,700,701],{},"rapporte le plat",". La salle ne vous apporte rien tant que vous n'avez pas\ncommandé.",[704,705,707],"h3",{"id":706},"qui-fait-quoi-dans-le-navigateur","Qui fait quoi dans le navigateur ?",[599,709,710],{},"Une page Web moderne fait travailler les deux côtés :",[712,713,714,732],"table",{},[715,716,717],"thead",{},[718,719,720,727],"tr",{},[721,722,723,724,726],"th",{},"Côté ",[603,725,655],{}," (votre navigateur)",[721,728,723,729,731],{},[603,730,609],{}," (machine distante)",[733,734,735,744,756,764],"tbody",{},[718,736,737,741],{},[738,739,740],"td",{},"Affiche le HTML \u002F CSS reçu",[738,742,743],{},"Stocke les pages HTML, CSS, images",[718,745,746,753],{},[738,747,748,749,752],{},"Exécute le ",[603,750,751],{},"JavaScript"," de la page",[738,754,755],{},"Génère parfois les pages à la demande (PHP, Python, Node.js)",[718,757,758,761],{},[738,759,760],{},"Gère vos clics, vos formulaires",[738,762,763],{},"Stocke la base de données",[718,765,766,769],{},[738,767,768],{},"Charge les images, vidéos",[738,770,771],{},"Envoie chaque ressource à la demande",[599,773,774,775,778,779,782,783,786,787,790,791,793],{},"C'est pour cela que le programme demande de ",[616,776,777],{},"« distinguer ce qui est exécuté\npar le client et par le serveur »"," : tout ce qui dépend du moment où ",[603,780,781],{},"vous","\ninteragissez (clic, animation, formulaire) tourne dans ",[603,784,785],{},"votre navigateur"," ;\ntout ce qui dépend de ",[603,788,789],{},"données partagées"," (catalogue produits, commentaires,\nposts) est calculé sur le ",[603,792,609],{},".",[795,796,797],"tip",{},[599,798,799,802,803,806,807,810],{},[603,800,801],{},"Outil pédagogique"," : ouvrez les ",[616,804,805],{},"Outils de développement"," d'un navigateur\n(touche F12 sur la plupart). L'onglet ",[603,808,809],{},"Réseau"," vous montre toutes les requêtes\némises pour charger la page courante. Chaque ligne = un dialogue client\u002Fserveur.",[812,813,817,824],"self-eval-qcm",{"correct":814,"explanation":815,"slug":816},"1","Toujours le client qui demande en premier. Le serveur ne pousse jamais une page sans qu'on la demande.","client-serveur-http-c1",[818,819,821],"template",{"v-slot:question":820},"",[599,822,823],{},"Quand vous tapez une adresse Web, qui contacte qui en premier ?",[818,825,826],{"v-slot:choices":820},[647,827,828,831,834,837],{},[650,829,830],{},"Le serveur contacte le client",[650,832,833],{},"Le client contacte le serveur",[650,835,836],{},"Les deux contactent en même temps",[650,838,839],{},"Aucun des deux",[594,841,843],{"id":842},"le-protocole-http-la-langue-du-dialogue","Le protocole HTTP : la langue du dialogue",[599,845,846,848,849,851,852,855],{},[603,847,613],{}," signifie ",[616,850,618],{}," — protocole de transfert\nhypertexte. C'est l'ensemble des règles qui dictent ",[603,853,854],{},"comment"," le client et\nle serveur formulent leurs messages.",[599,857,858],{},"Une transaction HTTP, c'est toujours :",[860,861,862,867],"ol",{},[650,863,864,865,793],{},"Le client envoie une ",[603,866,625],{},[650,868,869,870,793],{},"Le serveur renvoie une ",[603,871,629],{},[704,873,875],{"id":874},"une-requête-http-à-quoi-ça-ressemble","Une requête HTTP : à quoi ça ressemble",[599,877,878,879,883],{},"Quand vous demandez ",[880,881,882],"code",{},"https:\u002F\u002Fnsi.rocks\u002Fcours\u002Fsb-web"," à votre navigateur, voici\nce qu'il envoie réellement au serveur (en simplifié) :",[885,886,890],"pre",{"className":887,"code":888,"language":889,"meta":820,"style":820},"language-http shiki shiki-themes github-light github-light github-dark","GET \u002Fcours\u002Fsb-web HTTP\u002F1.1\nHost: nsi.rocks\nUser-Agent: Mozilla\u002F5.0 (...)\n","http",[880,891,892,914,928],{"__ignoreMap":820},[893,894,897,901,905,907,910],"span",{"class":895,"line":896},"line",1,[893,898,900],{"class":899},"s8jYJ","GET",[893,902,904],{"class":903},"sxrX7"," \u002Fcours\u002Fsb-web ",[893,906,613],{"class":899},[893,908,909],{"class":903},"\u002F",[893,911,913],{"class":912},"sBjJW","1.1\n",[893,915,917,921,924],{"class":895,"line":916},2,[893,918,920],{"class":919},"sovSZ","Host",[893,922,923],{"class":899},":",[893,925,927],{"class":926},"sIIMD"," nsi.rocks\n",[893,929,931,934,936],{"class":895,"line":930},3,[893,932,933],{"class":919},"User-Agent",[893,935,923],{"class":899},[893,937,938],{"class":926}," Mozilla\u002F5.0 (...)\n",[599,940,941],{},"Décomposons ligne par ligne :",[712,943,944,957],{},[715,945,946],{},[718,947,948,951,954],{},[721,949,950],{},"Élément",[721,952,953],{},"Valeur",[721,955,956],{},"Rôle",[733,958,959,973,988,1003,1017],{},[718,960,961,966,970],{},[738,962,963],{},[603,964,965],{},"Méthode",[738,967,968],{},[880,969,900],{},[738,971,972],{},"Le verbe : « je veux récupérer une ressource »",[718,974,975,980,985],{},[738,976,977],{},[603,978,979],{},"Chemin",[738,981,982],{},[880,983,984],{},"\u002Fcours\u002Fsb-web",[738,986,987],{},"Quelle ressource sur le serveur",[718,989,990,995,1000],{},[738,991,992],{},[603,993,994],{},"Version",[738,996,997],{},[880,998,999],{},"HTTP\u002F1.1",[738,1001,1002],{},"Version du protocole",[718,1004,1005,1009,1014],{},[738,1006,1007],{},[603,1008,920],{},[738,1010,1011],{},[880,1012,1013],{},"nsi.rocks",[738,1015,1016],{},"Quel site (un serveur peut en héberger plusieurs)",[718,1018,1019,1023,1028],{},[738,1020,1021],{},[603,1022,933],{},[738,1024,1025],{},[880,1026,1027],{},"Mozilla\u002F5.0 (...)",[738,1029,1030],{},"Quel navigateur fait la demande",[599,1032,1033,1034,1036,1037,1039,1040,1043],{},"Les deux dernières lignes (",[880,1035,920],{},", ",[880,1038,933],{},") sont des ",[603,1041,1042],{},"en-têtes"," : des\ninformations supplémentaires que le navigateur joint à la requête. Une vraie\nrequête en compte plusieurs autres, mais ces deux-là suffisent pour comprendre\nle principe.",[704,1045,1047],{"id":1046},"les-méthodes-http-à-connaître","Les méthodes HTTP à connaître",[712,1049,1050,1059],{},[715,1051,1052],{},[718,1053,1054,1056],{},[721,1055,965],{},[721,1057,1058],{},"Sens",[733,1060,1061,1070],{},[718,1062,1063,1067],{},[738,1064,1065],{},[880,1066,900],{},[738,1068,1069],{},"Récupérer une ressource (le cas le plus fréquent — afficher une page)",[718,1071,1072,1077],{},[738,1073,1074],{},[880,1075,1076],{},"POST",[738,1078,1079],{},"Envoyer des données au serveur (formulaire, message à publier)",[599,1081,1082,1083,1087,1088,1092,1093,1036,1096,1099],{},"Pour SNT, deux méthodes suffisent : ",[603,1084,1085],{},[880,1086,900],{}," (afficher une page, suivre un\nlien) et ",[603,1089,1090],{},[880,1091,1076],{}," (envoyer un formulaire, publier un message). D'autres\nméthodes existent (",[880,1094,1095],{},"PUT",[880,1097,1098],{},"DELETE","…) mais sortent du programme à ce niveau.",[704,1101,1103],{"id":1102},"les-paramètres-dans-une-requête","Les paramètres dans une requête",[599,1105,1106,1107,1110,1111,1114],{},"Une URL peut contenir des ",[603,1108,1109],{},"paramètres"," après le ",[880,1112,1113],{},"?",". Ils sont transmis avec\nla requête, et permettent au serveur de personnaliser sa réponse :",[885,1116,1121],{"className":1117,"code":1119,"language":1120,"meta":820},[1118],"language-text","https:\u002F\u002Fwww.google.com\u002Fsearch?q=meteo+paris&hl=fr\n","text",[880,1122,1119],{"__ignoreMap":820},[712,1124,1125,1134],{},[715,1126,1127],{},[718,1128,1129,1132],{},[721,1130,1131],{},"Paramètre",[721,1133,953],{},[733,1135,1136,1149],{},[718,1137,1138,1143],{},[738,1139,1140],{},[880,1141,1142],{},"q",[738,1144,1145,1148],{},[880,1146,1147],{},"meteo paris"," (la recherche)",[718,1150,1151,1156],{},[738,1152,1153],{},[880,1154,1155],{},"hl",[738,1157,1158,1161],{},[880,1159,1160],{},"fr"," (langue d'affichage)",[599,1163,1164,1165,1168,1169,1174,1175,1178,1179,1182],{},"Plusieurs paramètres sont séparés par ",[880,1166,1167],{},"&",". Cette URL utilise donc la ",[603,1170,1171,1172],{},"méthode\n",[880,1173,900],{}," pour transmettre ",[880,1176,1177],{},"q=meteo+paris"," et ",[880,1180,1181],{},"hl=fr"," au serveur de Google.",[1184,1185,1186],"warning",{},[599,1187,1188,1189,1192,1193,1195,1196,793],{},"Quand on remplit un formulaire (par exemple un mot de passe), il ne faut ",[603,1190,1191],{},"pas","\nque la donnée passe par l'URL en méthode ",[880,1194,900],{}," — sinon le mot de passe apparaît\ndans l'historique du navigateur et dans les journaux du serveur. C'est la\nraison pour laquelle les formulaires de connexion utilisent toujours ",[880,1197,1076],{},[812,1199,1203,1215],{"correct":1200,"explanation":1201,"slug":1202},"2","Deux paramètres : `q=hello` et `page=2`. Ils sont séparés par `&` après le `?`.","client-serveur-http-c2",[818,1204,1205],{"v-slot:question":820},[599,1206,1207,1208,1214],{},"Dans l'URL ",[1209,1210,1211],"a",{"href":1211,"rel":1212},"https:\u002F\u002Fexample.com\u002Fsearch?q=hello&page=2",[1213],"nofollow",", combien de paramètres sont passés au serveur ?",[818,1216,1217],{"v-slot:choices":820},[647,1218,1219,1222,1224,1226],{},[650,1220,1221],{},"0",[650,1223,814],{},[650,1225,1200],{},[650,1227,1228],{},"3",[704,1230,1232],{"id":1231},"une-réponse-http-à-quoi-ça-ressemble","Une réponse HTTP : à quoi ça ressemble",[599,1234,1235,1236,1239],{},"Le serveur répond avec un message qui commence par un ",[603,1237,1238],{},"code de statut"," :",[885,1241,1243],{"className":887,"code":1242,"language":889,"meta":820,"style":820},"HTTP\u002F1.1 200 OK\nContent-Type: text\u002Fhtml\nContent-Length: 1245\n\n\u003C!DOCTYPE html>\n\u003Chtml>\n...\n\u003C\u002Fhtml>\n",[880,1244,1245,1260,1270,1280,1287,1302,1313,1319],{"__ignoreMap":820},[893,1246,1247,1249,1251,1254,1257],{"class":895,"line":896},[893,1248,613],{"class":899},[893,1250,909],{"class":903},[893,1252,1253],{"class":912},"1.1",[893,1255,1256],{"class":912}," 200",[893,1258,1259],{"class":926}," OK\n",[893,1261,1262,1265,1267],{"class":895,"line":916},[893,1263,1264],{"class":919},"Content-Type",[893,1266,923],{"class":899},[893,1268,1269],{"class":926}," text\u002Fhtml\n",[893,1271,1272,1275,1277],{"class":895,"line":930},[893,1273,1274],{"class":919},"Content-Length",[893,1276,923],{"class":899},[893,1278,1279],{"class":926}," 1245\n",[893,1281,1283],{"class":895,"line":1282},4,[893,1284,1286],{"emptyLinePlaceholder":1285},true,"\n",[893,1288,1290,1293,1296,1299],{"class":895,"line":1289},5,[893,1291,1292],{"class":903},"\u003C!",[893,1294,1295],{"class":899},"DOCTYPE",[893,1297,1298],{"class":912}," html",[893,1300,1301],{"class":903},">\n",[893,1303,1305,1308,1311],{"class":895,"line":1304},6,[893,1306,1307],{"class":903},"\u003C",[893,1309,1310],{"class":919},"html",[893,1312,1301],{"class":903},[893,1314,1316],{"class":895,"line":1315},7,[893,1317,1318],{"class":903},"...\n",[893,1320,1322,1325,1327],{"class":895,"line":1321},8,[893,1323,1324],{"class":903},"\u003C\u002F",[893,1326,1310],{"class":919},[893,1328,1301],{"class":903},[647,1330,1331,1340,1356],{},[650,1332,1333,1336,1337,793],{},[880,1334,1335],{},"200 OK"," signifie : ",[616,1338,1339],{},"« j'ai trouvé la ressource, la voici »",[650,1341,1342,1344,1345,1348,1349,1036,1352,1355],{},[880,1343,1264],{}," indique le type de contenu (",[880,1346,1347],{},"text\u002Fhtml"," ici, mais ce peut être\n",[880,1350,1351],{},"image\u002Fpng",[880,1353,1354],{},"application\u002Fpdf","…).",[650,1357,1358,1359,1362],{},"Après une ligne vide, le ",[603,1360,1361],{},"contenu"," lui-même (le HTML de la page).",[704,1364,1366],{"id":1365},"codes-de-statut-à-reconnaître","Codes de statut à reconnaître",[712,1368,1369,1381],{},[715,1370,1371],{},[718,1372,1373,1376,1379],{},[721,1374,1375],{},"Code",[721,1377,1378],{},"Signification",[721,1380,1058],{},[733,1382,1383,1396,1413,1426,1439],{},[718,1384,1385,1390,1393],{},[738,1386,1387],{},[880,1388,1389],{},"200",[738,1391,1392],{},"OK",[738,1394,1395],{},"Tout va bien, voici la ressource",[718,1397,1398,1407,1410],{},[738,1399,1400,1403,1404],{},[880,1401,1402],{},"301"," \u002F ",[880,1405,1406],{},"302",[738,1408,1409],{},"Redirection",[738,1411,1412],{},"La ressource a changé d'adresse",[718,1414,1415,1420,1423],{},[738,1416,1417],{},[880,1418,1419],{},"403",[738,1421,1422],{},"Forbidden",[738,1424,1425],{},"Accès interdit",[718,1427,1428,1433,1436],{},[738,1429,1430],{},[880,1431,1432],{},"404",[738,1434,1435],{},"Not Found",[738,1437,1438],{},"Page introuvable (« lien cassé »)",[718,1440,1441,1446,1449],{},[738,1442,1443],{},[880,1444,1445],{},"500",[738,1447,1448],{},"Internal Server Error",[738,1450,1451],{},"Le serveur a planté",[795,1453,1454],{},[599,1455,1456,1457,1460],{},"Le célèbre « erreur 404 » que vous voyez parfois est exactement ça : le serveur\nvous répond ",[616,1458,1459],{},"« je n'ai pas cette page »",". C'est une réponse HTTP valide, juste\nnégative.",[594,1462,1464],{"id":1463},"récapitulatif-le-voyage-dune-page","Récapitulatif : le voyage d'une page",[599,1466,1467,1468,1470],{},"Quand vous tapez ",[880,1469,1013],{}," dans la barre de votre navigateur :",[860,1472,1473,1483,1489,1498,1510,1519],{},[650,1474,1475,1476,1479,1480,1482],{},"Le navigateur ",[603,1477,1478],{},"résout le nom"," via le DNS (",[880,1481,1013],{}," → adresse IP) — vu\nau chapitre Internet.",[650,1484,1475,1485,1488],{},[603,1486,1487],{},"ouvre une connexion"," TCP avec le serveur à cette IP.",[650,1490,1475,1491,1494,1495,793],{},[603,1492,1493],{},"envoie une requête HTTP"," : ",[880,1496,1497],{},"GET \u002F HTTP\u002F1.1",[650,1499,1500,1501,1178,1504,1494,1507,1509],{},"Le serveur ",[603,1502,1503],{},"traite la requête",[603,1505,1506],{},"renvoie une réponse HTTP",[880,1508,1335],{},"\nsuivi du HTML de la page d'accueil.",[650,1511,1475,1512,1178,1515,1518],{},[603,1513,1514],{},"analyse le HTML",[603,1516,1517],{},"affiche"," la page.",[650,1520,1521,1522,793],{},"Pour chaque image, chaque feuille CSS, chaque fichier JavaScript référencé\ndans le HTML : ",[603,1523,1524],{},"nouvelle requête, nouvelle réponse",[599,1526,1527,1528,793],{},"Une seule page peut ainsi déclencher ",[603,1529,1530],{},"des dizaines de requêtes HTTP",[594,1532,1534],{"id":1533},"cas-particuliers-et-pièges","Cas particuliers et pièges",[647,1536,1537,1555,1566],{},[650,1538,1539,1542,1543,1546,1547,1550,1551,1554],{},[603,1540,1541],{},"HTTP n'est pas chiffré"," par défaut — c'est ",[603,1544,1545],{},"HTTPS"," qui ajoute le\nchiffrement (",[880,1548,1549],{},"s"," pour ",[616,1552,1553],{},"secure",").",[650,1556,1557,1558,1561,1562,1565],{},"Le serveur ne sait pas ",[616,1559,1560],{},"« qui »"," est le client de manière fiable — c'est pour\ncela qu'on a besoin des ",[603,1563,1564],{},"cookies"," pour identifier un utilisateur d'une\nrequête à l'autre (vu au cours sécurité).",[650,1567,1568,1569,1572],{},"Une ",[603,1570,1571],{},"requête est sans mémoire"," : chaque échange est indépendant du\nprécédent du point de vue du protocole HTTP.",[594,1574,1576],{"id":1575},"à-retenir","À retenir",[599,1578,1579,1580,1583,1584,1586,1587,1589,1590,1592,1593,614,1596,1036,1598,1600,1601,1604,1605,614,1607,1036,1609,1611,1612,1614,1615,793],{},"Le Web fonctionne en ",[603,1581,1582],{},"client-serveur"," : le client (navigateur) ",[603,1585,659],{},",\nle serveur ",[603,1588,667],{},". Le dialogue suit le protocole ",[603,1591,613],{}," : une requête\nqui précise une ",[603,1594,1595],{},"méthode",[880,1597,900],{},[880,1599,1076],{},") et un ",[603,1602,1603],{},"chemin",", suivie d'une\nréponse qui commence par un ",[603,1606,1238],{},[880,1608,1389],{},[880,1610,1432],{},"…). Les paramètres\nsont passés dans l'URL après un ",[880,1613,1113],{},", séparés par ",[880,1616,1167],{},[1618,1619,1620],"style",{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sovSZ, html code.shiki .sovSZ{--shiki-light:#22863A;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":820,"searchDepth":916,"depth":916,"links":1622},[1623,1624,1627,1634,1635,1636],{"id":596,"depth":916,"text":597},{"id":641,"depth":916,"text":642,"children":1625},[1626],{"id":706,"depth":930,"text":707},{"id":842,"depth":916,"text":843,"children":1628},[1629,1630,1631,1632,1633],{"id":874,"depth":930,"text":875},{"id":1046,"depth":930,"text":1047},{"id":1102,"depth":930,"text":1103},{"id":1231,"depth":930,"text":1232},{"id":1365,"depth":930,"text":1366},{"id":1463,"depth":916,"text":1464},{"id":1533,"depth":916,"text":1534},{"id":1575,"depth":916,"text":1576},"Quand vous chargez une page Web, deux ordinateurs dialoguent — le vôtre (client) demande, un serveur lointain répond. Ce dialogue suit un protocole précis : HTTP.",null,"md",{},[1642,1646],{"slug":816,"kind":1643,"question":823,"choices":1644,"correct":814,"multi":1645,"explanation":815},"qcm",[830,833,836,839],false,{"slug":1202,"kind":1643,"question":1647,"choices":1648,"correct":1200,"multi":1645,"explanation":1201},"Dans l'URL https:\u002F\u002Fexample.com\u002Fsearch?q=hello&page=2, combien de paramètres sont passés au serveur ?",[1221,814,1200,1228],{"title":55,"description":1637},"xHQ3rAGaBK0hlNKhcLgS_xL1pDhry_P_oWCVedfqz8o",{"id":1652,"title":1653,"bo":1654,"body":1655,"description":1955,"eval":1638,"extension":1639,"labo":1638,"meta":1956,"navigation":1645,"path":1957,"quizzes":1958,"readingTime":896,"seo":1959,"stem":1960,"tp":1638,"__hash__":1961},"coursMemo\u002F0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http.memo.md","Client-serveur et HTTP — l'essentiel",[588,589],{"type":591,"value":1656,"toc":1947},[1657,1661,1671,1675,1738,1742,1802,1806,1840,1875,1879,1917,1921,1945],[594,1658,1660],{"id":1659},"en-une-phrase","En une phrase",[599,1662,1579,1663,1583,1665,1667,1668,1670],{},[603,1664,1582],{},[603,1666,659],{}," via\nune requête HTTP, le serveur ",[603,1669,667],{}," avec un code de statut et un contenu.",[594,1672,1674],{"id":1673},"à-mémoriser","À mémoriser",[647,1676,1677,1683,1689,1697,1706,1718,1732],{},[650,1678,1679,1682],{},[603,1680,1681],{},"Client"," = ordinateur qui demande (votre navigateur).",[650,1684,1685,1688],{},[603,1686,1687],{},"Serveur"," = ordinateur qui répond (machine distante, allumée 24h\u002F24).",[650,1690,1691,1693,1694,1696],{},[603,1692,613],{}," = ",[616,1695,618],{},". La langue du dialogue.",[650,1698,1699,1701,1702,1705],{},[603,1700,1545],{}," = HTTP ",[603,1703,1704],{},"sécurisé"," (chiffré).",[650,1707,1708,1711,1712,1714,1715,1717],{},[603,1709,1710],{},"Méthodes HTTP"," principales : ",[880,1713,900],{}," (afficher une page), ",[880,1716,1076],{}," (envoyer\nun formulaire).",[650,1719,1720,1723,1724,1614,1726,1728,1729,793],{},[603,1721,1722],{},"Paramètres"," dans une URL : après ",[880,1725,1113],{},[880,1727,1167],{},".\nEx. ",[880,1730,1731],{},"?q=meteo&hl=fr",[650,1733,1734,1737],{},[603,1735,1736],{},"Réponse"," = code de statut + contenu.",[594,1739,1741],{"id":1740},"codes-de-statut-à-connaître","Codes de statut à connaître",[712,1743,1744,1752],{},[715,1745,1746],{},[718,1747,1748,1750],{},[721,1749,1375],{},[721,1751,1058],{},[733,1753,1754,1763,1774,1783,1793],{},[718,1755,1756,1760],{},[738,1757,1758],{},[880,1759,1335],{},[738,1761,1762],{},"Ressource trouvée et envoyée",[718,1764,1765,1771],{},[738,1766,1767,1403,1769],{},[880,1768,1402],{},[880,1770,1406],{},[738,1772,1773],{},"Redirection (la page a déménagé)",[718,1775,1776,1781],{},[738,1777,1778],{},[880,1779,1780],{},"403 Forbidden",[738,1782,1425],{},[718,1784,1785,1790],{},[738,1786,1787],{},[880,1788,1789],{},"404 Not Found",[738,1791,1792],{},"Page introuvable",[718,1794,1795,1800],{},[738,1796,1797],{},[880,1798,1799],{},"500 Internal Server Error",[738,1801,1451],{},[594,1803,1805],{"id":1804},"décomposer-une-requête","Décomposer une requête",[885,1807,1809],{"className":887,"code":1808,"language":889,"meta":820,"style":820},"GET \u002Fcours\u002Fsb-web HTTP\u002F1.1\nHost: nsi.rocks\nUser-Agent: Mozilla\u002F5.0\n",[880,1810,1811,1823,1831],{"__ignoreMap":820},[893,1812,1813,1815,1817,1819,1821],{"class":895,"line":896},[893,1814,900],{"class":899},[893,1816,904],{"class":903},[893,1818,613],{"class":899},[893,1820,909],{"class":903},[893,1822,913],{"class":912},[893,1824,1825,1827,1829],{"class":895,"line":916},[893,1826,920],{"class":919},[893,1828,923],{"class":899},[893,1830,927],{"class":926},[893,1832,1833,1835,1837],{"class":895,"line":930},[893,1834,933],{"class":919},[893,1836,923],{"class":899},[893,1838,1839],{"class":926}," Mozilla\u002F5.0\n",[647,1841,1842,1848,1854,1860],{},[650,1843,1844,1494,1846],{},[603,1845,965],{},[880,1847,900],{},[650,1849,1850,1494,1852],{},[603,1851,979],{},[880,1853,984],{},[650,1855,1856,1494,1858],{},[603,1857,994],{},[880,1859,999],{},[650,1861,1862,614,1865,1868,1869,1871,1872,1874],{},[603,1863,1864],{},"En-têtes",[616,1866,1867],{},"headers",") : ",[880,1870,920],{}," (quel site), ",[880,1873,933],{}," (quel navigateur).",[594,1876,1878],{"id":1877},"côté-client-vs-côté-serveur","Côté client vs côté serveur",[712,1880,1881,1891],{},[715,1882,1883],{},[718,1884,1885,1888],{},[721,1886,1887],{},"Côté client",[721,1889,1890],{},"Côté serveur",[733,1892,1893,1901,1909],{},[718,1894,1895,1898],{},[738,1896,1897],{},"Affichage HTML\u002FCSS",[738,1899,1900],{},"Stockage des fichiers",[718,1902,1903,1906],{},[738,1904,1905],{},"Exécution JavaScript local",[738,1907,1908],{},"Génération dynamique (PHP, Python)",[718,1910,1911,1914],{},[738,1912,1913],{},"Réaction aux clics",[738,1915,1916],{},"Base de données",[594,1918,1920],{"id":1919},"pièges-courants","Pièges courants",[647,1922,1923,1933,1939],{},[650,1924,1925,1930,1931,793],{},[603,1926,1927,1929],{},[880,1928,900],{}," ne convient pas pour un mot de passe"," — il apparaît dans l'URL et\nl'historique. Utiliser ",[880,1932,1076],{},[650,1934,1935,1938],{},[603,1936,1937],{},"HTTP n'est pas chiffré."," Sur Wi-Fi public, préférer HTTPS.",[650,1940,1941,1944],{},[603,1942,1943],{},"Une page = plusieurs requêtes"," : HTML + chaque image + chaque CSS + chaque\nscript = autant de requêtes HTTP distinctes.",[1618,1946,1620],{},{"title":820,"searchDepth":916,"depth":916,"links":1948},[1949,1950,1951,1952,1953,1954],{"id":1659,"depth":916,"text":1660},{"id":1673,"depth":916,"text":1674},{"id":1740,"depth":916,"text":1741},{"id":1804,"depth":916,"text":1805},{"id":1877,"depth":916,"text":1878},{"id":1919,"depth":916,"text":1920},"Mémo de révision sur le modèle client-serveur et les requêtes HTTP.",{},"\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http.memo",[],{"title":1653,"description":1955},"0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http.memo","RSxGQWOJisiRR3k-A_8t4eDT0ZMndIuwZ7Ihuc3EIws",{"id":1963,"title":1964,"body":1965,"description":2377,"extension":1639,"meta":2378,"navigation":1645,"path":2379,"seo":2380,"stem":2381,"__hash__":2382},"coursSlides\u002F0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http.slides.md","Client-serveur et HTTP — diapositives",{"type":591,"value":1966,"toc":2375},[1967,1972,1975,1982,1985,1989,2005,2008,2010,2014,2021,2035,2038,2040,2042,2085,2087,2091,2123,2148,2150,2154,2184,2187,2189,2193,2199,2219,2222,2224,2228,2280,2285,2287,2291,2346,2348,2352,2357,2360,2362,2364,2373],[1968,1969,1971],"h1",{"id":1970},"client-serveur-et-http","Client-serveur et HTTP",[599,1973,1974],{},"Comment un navigateur dialogue avec un serveur pour afficher une page.",[599,1976,1977,1978,636,1980],{},"SNT Seconde — chapitre Le Web — ",[634,1979],{"code":588},[634,1981],{"code":589},[1983,1984],"hr",{},[1968,1986,1988],{"id":1987},"deux-rôles","Deux rôles",[647,1990,1991,1998],{},[650,1992,1993,1995,1996,793],{},[603,1994,1681],{}," : votre navigateur. Il ",[603,1997,659],{},[650,1999,2000,2002,2003,793],{},[603,2001,1687],{}," : machine distante. Il ",[603,2004,667],{},[599,2006,2007],{},"Toujours dans cet ordre. Le serveur ne pousse jamais une page tout seul.",[1983,2009],{},[1968,2011,2013],{"id":2012},"le-dialogue","Le dialogue",[2015,2016],"illustration",{"alt":2017,"kind":2018,"src":2019,"svg":2020},"Dialogue client\u002Fserveur","mermaid","\u002Fillustrations\u002F0.snt-2nde\u002Fsb-web\u002Fdialogue-client-serveur.svg","\u003Csvg class=\"illustration-svg\" id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" xmlns:xlink=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxlink\" viewBox=\"-32 -16 424 193\" role=\"graphics-document document\" aria-roledescription=\"sequence\">\u003Cg>\u003Cline id=\"actor1\" x1=\"285\" y1=\"65\" x2=\"285\" y2=\"2000\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"S\" data-et=\"life-line\" data-id=\"S\"\u002F>\u003Cg id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"S\">\u003Crect x=\"210\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"S\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"\u002F>\u003Ctext x=\"285\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Geist, Inter, system-ui, -apple-system, sans-serif;\">\u003Ctspan x=\"285\" dy=\"0\">Serveur\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Cline id=\"actor0\" x1=\"77\" y1=\"65\" x2=\"77\" y2=\"2000\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"C\" data-et=\"life-line\" data-id=\"C\"\u002F>\u003Cg id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"C\">\u003Crect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"154\" height=\"65\" name=\"C\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"\u002F>\u003Ctext x=\"77\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Geist, Inter, system-ui, -apple-system, sans-serif;\">\u003Ctspan x=\"77\" dy=\"0\">Client (navigateur)\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cstyle>#ill-0-snt-2nde-sb-web-dialogue-client-serveur{font-family:Geist,Inter,system-ui,-apple-system,sans-serif;font-size:14px;fill:var(--diagram-text);}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .error-icon{fill:#fdecec;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .error-text{fill:var(--diagram-text);stroke:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-thickness-normal{stroke-width:1px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-thickness-thick{stroke-width:3.5px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-pattern-solid{stroke-dasharray:0;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-thickness-invisible{stroke-width:0;fill:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-pattern-dashed{stroke-dasharray:3;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edge-pattern-dotted{stroke-dasharray:2;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .marker{fill:var(--diagram-line);stroke:var(--diagram-line);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .marker.cross{stroke:var(--diagram-line);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur svg{font-family:Geist,Inter,system-ui,-apple-system,sans-serif;font-size:14px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur p{margin:0;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actor{stroke:var(--diagram-node-border);fill:var(--diagram-node-bg);stroke-width:1;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur rect.note[data-look=\"neo\"]{stroke:var(--diagram-border);fill:var(--diagram-surface);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur text.actor&gt;tspan{fill:var(--diagram-text);stroke:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actor-line{stroke:var(--diagram-line);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .innerArc{stroke-width:1.5;stroke-dasharray:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [id$=\"-arrowhead\"] path{fill:var(--diagram-text);stroke:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .sequenceNumber{fill:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [id$=\"-sequencenumber\"]{fill:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [id$=\"-crosshead\"] path{fill:var(--diagram-text);stroke:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageText{fill:var(--diagram-text);stroke:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .labelBox{stroke:var(--diagram-node-border);fill:var(--diagram-node-bg);filter:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .labelText,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .labelText&gt;tspan{fill:var(--diagram-text);stroke:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .loopText,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .loopText&gt;tspan{fill:var(--diagram-text);stroke:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .sectionTitle,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .sectionTitle&gt;tspan{fill:var(--diagram-text);stroke:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:var(--diagram-node-border);fill:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .note{stroke:var(--diagram-border);fill:var(--diagram-surface);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .noteText,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .noteText&gt;tspan{fill:var(--diagram-line);stroke:none;font-weight:normal;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .activation0{fill:var(--diagram-accent-soft);stroke:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .activation1{fill:var(--diagram-accent-soft);stroke:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .activation2{fill:var(--diagram-accent-soft);stroke:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actorPopupMenu{position:absolute;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actorPopupMenuPanel{position:absolute;fill:var(--diagram-node-bg);box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 \u002F 0.4));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actor-man circle,#ill-0-snt-2nde-sb-web-dialogue-client-serveur line{fill:var(--diagram-node-bg);stroke-width:2px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur g rect.rect{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));stroke:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node .neo-node{stroke:var(--diagram-node-border);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node rect,#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].cluster rect,#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node polygon{stroke:url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node path{stroke:url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-gradient);stroke-width:1px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node .neo-line path{stroke:var(--diagram-node-border);filter:none;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node circle{stroke:url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].node circle .state-start{fill:var(--diagram-text);}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].icon-shape .icon{fill:url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node rect,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node circle,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node ellipse,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node polygon,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node path{stroke-width:1.5px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgePath .path{stroke-width:1.5px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .label,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .nodeLabel,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .cluster-label,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageText,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actor text{font-family:Geist,Inter,system-ui,sans-serif!important;font-weight:500!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .nodeLabel,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .cluster-label,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .nodeLabel p,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .cluster-label p{color:var(--diagram-text)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .nodeLabel .markdown-node-label,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .nodeLabel .markdown-node-label p{color:var(--diagram-text)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .stateLabel text,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .stateLabel{fill:var(--diagram-text)!important;font-weight:600!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel{padding:0px 6px;background-color:var(--diagram-surface)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel rect.background,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel rect{fill:var(--diagram-surface)!important;opacity:1!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel .label text,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .edgeLabel text{fill:var(--diagram-line)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .cluster rect{rx:4px;ry:4px;stroke-width:1px!important;stroke-dasharray:3,3!important;fill:transparent!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node rect,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .node polygon,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .stateGroup rect{rx:4px;ry:4px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur marker,#ill-0-snt-2nde-sb-web-dialogue-client-serveur marker path{fill:var(--diagram-line)!important;stroke:var(--diagram-line)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .marker{fill:var(--diagram-line)!important;stroke:var(--diagram-line)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .actor{stroke-width:1.5px;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageText,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .messageText tspan{fill:var(--diagram-text)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .titleText{fill:var(--diagram-text)!important;font-weight:600!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .note text,#ill-0-snt-2nde-sb-web-dialogue-client-serveur .note .nodeLabel{fill:var(--diagram-line)!important;color:var(--diagram-line)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .statediagram-cluster rect{fill:transparent!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur .statediagram-state .divider{stroke:var(--diagram-border)!important;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur :root{--mermaid-font-family:Geist,Inter,system-ui,-apple-system,sans-serif;}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#eef0fc\"]{fill:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#eef0fc\"]{stroke:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#eef0fc\"]{stop-color:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(238, 240, 252)\"]{fill:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(238, 240, 252)\"]{stroke:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(238, 240, 252)\"]{stop-color:var(--diagram-node-bg)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#4948b8\"]{fill:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#4948b8\"]{stroke:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#4948b8\"]{stop-color:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(73, 72, 184)\"]{fill:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(73, 72, 184)\"]{stroke:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(73, 72, 184)\"]{stop-color:var(--diagram-node-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#c8cdf5\"]{fill:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#c8cdf5\"]{stroke:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#c8cdf5\"]{stop-color:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(200, 205, 245)\"]{fill:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(200, 205, 245)\"]{stroke:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(200, 205, 245)\"]{stop-color:var(--diagram-accent-soft)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#1f2127\"]{fill:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#1f2127\"]{stroke:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#1f2127\"]{stop-color:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(31, 33, 39)\"]{fill:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(31, 33, 39)\"]{stroke:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(31, 33, 39)\"]{stop-color:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#000000\"]{fill:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#000000\"]{stroke:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#000000\"]{stop-color:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(0, 0, 0)\"]{fill:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(0, 0, 0)\"]{stroke:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(0, 0, 0)\"]{stop-color:var(--diagram-text)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#56595e\"]{fill:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#56595e\"]{stroke:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#56595e\"]{stop-color:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(86, 89, 94)\"]{fill:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(86, 89, 94)\"]{stroke:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(86, 89, 94)\"]{stop-color:var(--diagram-line)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#fafbfc\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#fafbfc\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#fafbfc\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(250, 251, 252)\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(250, 251, 252)\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(250, 251, 252)\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#f3f4f6\"]{fill:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#f3f4f6\"]{stroke:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#f3f4f6\"]{stop-color:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(243, 244, 246)\"]{fill:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(243, 244, 246)\"]{stroke:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(243, 244, 246)\"]{stop-color:var(--diagram-surface-alt)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#c4c8cd\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#c4c8cd\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#c4c8cd\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(196, 200, 205)\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(196, 200, 205)\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(196, 200, 205)\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#e5e7eb\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#e5e7eb\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#e5e7eb\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(229, 231, 235)\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(229, 231, 235)\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(229, 231, 235)\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#e0e0e0\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#e0e0e0\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#e0e0e0\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(224, 224, 224)\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(224, 224, 224)\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(224, 224, 224)\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#EDF2AE\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#EDF2AE\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#EDF2AE\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(237, 242, 174)\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(237, 242, 174)\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(237, 242, 174)\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#fff5ad\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#fff5ad\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#fff5ad\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(255, 245, 173)\"]{fill:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(255, 245, 173)\"]{stroke:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(255, 245, 173)\"]{stop-color:var(--diagram-surface)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"#666\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"#666\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"#666\"]{stop-color:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [fill=\"rgb(0, 6, 102)\"]{fill:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stroke=\"rgb(0, 6, 102)\"]{stroke:var(--diagram-border)}#ill-0-snt-2nde-sb-web-dialogue-client-serveur [stop-color=\"rgb(0, 6, 102)\"]{stop-color:var(--diagram-border)}\u003C\u002Fstyle>\u003Cg\u002F>\u003Cdefs>\u003Csymbol id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-computer\" width=\"24\" height=\"24\">\u003Cpath transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"\u002F>\u003C\u002Fsymbol>\u003C\u002Fdefs>\u003Cdefs>\u003Csymbol id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\">\u003Cpath transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"\u002F>\u003C\u002Fsymbol>\u003C\u002Fdefs>\u003Cdefs>\u003Csymbol id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-clock\" width=\"24\" height=\"24\">\u003Cpath transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"\u002F>\u003C\u002Fsymbol>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\">\u003Cpath d=\"M -1 0 L 10 5 L 0 10 z\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\">\u003Cpath fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\">\u003Cpath d=\"M 18,7 L9,13 L14,7 L9,1 Z\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\">\u003Ccircle cx=\"15\" cy=\"15\" r=\"6\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 0 L 10 8 L 0 8 z\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 0 L 10 0 L 0 8 z\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Cdefs>\u003Cmarker id=\"ill-0-snt-2nde-sb-web-dialogue-client-serveur-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"180\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: Geist, Inter, system-ui, -apple-system, sans-serif; font-size: 16px; font-weight: 500;\">requête HTTP\u003C\u002Ftext>\u003Cline x1=\"78\" y1=\"113\" x2=\"281\" y2=\"113\" class=\"messageLine0\" data-et=\"message\" data-id=\"i0\" data-from=\"C\" data-to=\"S\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-arrowhead)\" style=\"fill: none;\"\u002F>\u003Ctext x=\"183\" y=\"128\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: Geist, Inter, system-ui, -apple-system, sans-serif; font-size: 16px; font-weight: 500;\">réponse HTTP\u003C\u002Ftext>\u003Cline x1=\"284\" y1=\"161\" x2=\"81\" y2=\"161\" class=\"messageLine1\" data-et=\"message\" data-id=\"i1\" data-from=\"S\" data-to=\"C\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#ill-0-snt-2nde-sb-web-dialogue-client-serveur-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"\u002F>\u003C\u002Fsvg>",[860,2022,2023,2029],{},[650,2024,2025,2026,793],{},"Client → serveur : ",[603,2027,2028],{},"requête HTTP",[650,2030,2031,2032,793],{},"Serveur → client : ",[603,2033,2034],{},"réponse HTTP",[599,2036,2037],{},"Recommencer pour chaque image, chaque CSS, chaque script.",[1983,2039],{},[1968,2041,1878],{"id":1877},[712,2043,2044,2052],{},[715,2045,2046],{},[718,2047,2048,2050],{},[721,2049,1887],{},[721,2051,1890],{},[733,2053,2054,2061,2069,2077],{},[718,2055,2056,2059],{},[738,2057,2058],{},"Affichage HTML \u002F CSS",[738,2060,1900],{},[718,2062,2063,2066],{},[738,2064,2065],{},"Exécute JavaScript",[738,2067,2068],{},"Génère parfois les pages",[718,2070,2071,2074],{},[738,2072,2073],{},"Réagit aux clics",[738,2075,2076],{},"Stocke les bases de données",[718,2078,2079,2082],{},[738,2080,2081],{},"Charge images\u002Fvidéos",[738,2083,2084],{},"Authentifie les utilisateurs",[1983,2086],{},[1968,2088,2090],{"id":2089},"une-requête-http","Une requête HTTP",[885,2092,2093],{"className":887,"code":1808,"language":889,"meta":820,"style":820},[880,2094,2095,2107,2115],{"__ignoreMap":820},[893,2096,2097,2099,2101,2103,2105],{"class":895,"line":896},[893,2098,900],{"class":899},[893,2100,904],{"class":903},[893,2102,613],{"class":899},[893,2104,909],{"class":903},[893,2106,913],{"class":912},[893,2108,2109,2111,2113],{"class":895,"line":916},[893,2110,920],{"class":919},[893,2112,923],{"class":899},[893,2114,927],{"class":926},[893,2116,2117,2119,2121],{"class":895,"line":930},[893,2118,933],{"class":919},[893,2120,923],{"class":899},[893,2122,1839],{"class":926},[647,2124,2125,2134,2139],{},[650,2126,2127,1494,2129,2131,2132,793],{},[603,2128,965],{},[880,2130,900],{}," ou ",[880,2133,1076],{},[650,2135,2136,2138],{},[603,2137,979],{}," : la ressource demandée.",[650,2140,2141,1494,2143,2145,2146,1874],{},[603,2142,1864],{},[880,2144,920],{}," (quel site) + ",[880,2147,933],{},[1983,2149],{},[1968,2151,2153],{"id":2152},"les-deux-méthodes-à-connaître","Les deux méthodes à connaître",[712,2155,2156,2164],{},[715,2157,2158],{},[718,2159,2160,2162],{},[721,2161,965],{},[721,2163,1058],{},[733,2165,2166,2175],{},[718,2167,2168,2172],{},[738,2169,2170],{},[880,2171,900],{},[738,2173,2174],{},"Récupérer une page (suivre un lien)",[718,2176,2177,2181],{},[738,2178,2179],{},[880,2180,1076],{},[738,2182,2183],{},"Envoyer un formulaire (mot de passe, message à publier)",[599,2185,2186],{},"En SNT : ces deux-là suffisent. D'autres existent mais sortent du programme.",[1983,2188],{},[1968,2190,2192],{"id":2191},"les-paramètres-dans-une-url","Les paramètres dans une URL",[885,2194,2197],{"className":2195,"code":2196,"language":1120},[1118],"https:\u002F\u002Fgoogle.com\u002Fsearch?q=meteo&hl=fr\n",[880,2198,2196],{"__ignoreMap":820},[647,2200,2201,2207,2212],{},[650,2202,2203,2206],{},[880,2204,2205],{},"q=meteo"," : la requête de recherche.",[650,2208,2209,2211],{},[880,2210,1181],{}," : la langue.",[650,2213,2214,2215,1110,2217,793],{},"Séparés par ",[880,2216,1167],{},[880,2218,1113],{},[599,2220,2221],{},"Transmis au serveur avec la requête.",[1983,2223],{},[1968,2225,2227],{"id":2226},"une-réponse-http","Une réponse HTTP",[885,2229,2231],{"className":887,"code":2230,"language":889,"meta":820,"style":820},"HTTP\u002F1.1 200 OK\nContent-Type: text\u002Fhtml\n\n\u003C!DOCTYPE html>\n\u003Chtml>...\u003C\u002Fhtml>\n",[880,2232,2233,2245,2253,2257,2267],{"__ignoreMap":820},[893,2234,2235,2237,2239,2241,2243],{"class":895,"line":896},[893,2236,613],{"class":899},[893,2238,909],{"class":903},[893,2240,1253],{"class":912},[893,2242,1256],{"class":912},[893,2244,1259],{"class":926},[893,2246,2247,2249,2251],{"class":895,"line":916},[893,2248,1264],{"class":919},[893,2250,923],{"class":899},[893,2252,1269],{"class":926},[893,2254,2255],{"class":895,"line":930},[893,2256,1286],{"emptyLinePlaceholder":1285},[893,2258,2259,2261,2263,2265],{"class":895,"line":1282},[893,2260,1292],{"class":903},[893,2262,1295],{"class":899},[893,2264,1298],{"class":912},[893,2266,1301],{"class":903},[893,2268,2269,2271,2273,2276,2278],{"class":895,"line":1289},[893,2270,1307],{"class":903},[893,2272,1310],{"class":919},[893,2274,2275],{"class":903},">...\u003C\u002F",[893,2277,1310],{"class":919},[893,2279,1301],{"class":903},[647,2281,2282],{},[650,2283,2284],{},"Code de statut + en-têtes + contenu.",[1983,2286],{},[1968,2288,2290],{"id":2289},"codes-de-statut","Codes de statut",[712,2292,2293,2301],{},[715,2294,2295],{},[718,2296,2297,2299],{},[721,2298,1375],{},[721,2300,1378],{},[733,2302,2303,2312,2322,2330,2338],{},[718,2304,2305,2309],{},[738,2306,2307],{},[880,2308,1389],{},[738,2310,2311],{},"OK — voici la page",[718,2313,2314,2320],{},[738,2315,2316,1403,2318],{},[880,2317,1402],{},[880,2319,1406],{},[738,2321,1409],{},[718,2323,2324,2328],{},[738,2325,2326],{},[880,2327,1419],{},[738,2329,1425],{},[718,2331,2332,2336],{},[738,2333,2334],{},[880,2335,1432],{},[738,2337,1792],{},[718,2339,2340,2344],{},[738,2341,2342],{},[880,2343,1445],{},[738,2345,1451],{},[1983,2347],{},[1968,2349,2351],{"id":2350},"outil-indispensable","Outil indispensable",[599,2353,2354],{},[603,2355,2356],{},"F12 → Onglet Réseau",[599,2358,2359],{},"Chaque ligne = une requête HTTP émise par votre navigateur. Vous voyez la méthode, l'URL, le code de statut, la taille…",[1983,2361],{},[1968,2363,1576],{"id":1575},[599,2365,2366,2367,2370,2371,793],{},"Une page Web n'est pas téléchargée d'un bloc — c'est ",[603,2368,2369],{},"une dizaine, parfois cent requêtes"," échangées entre votre navigateur et un (ou plusieurs) serveur. La langue commune s'appelle ",[603,2372,613],{},[1618,2374,1620],{},{"title":820,"searchDepth":916,"depth":916,"links":2376},[],"Deck projetable pour la séance sur le dialogue client\u002Fserveur.",{},"\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http.slides",{"title":1964,"description":2377},"0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http.slides","1VGw9e6TAUXWlQSSa49UQLhjhIlQIZCo0NzTcujz2Eo",{"id":1652,"title":1653,"bo":2384,"body":2385,"description":1955,"eval":1638,"extension":1639,"labo":1638,"meta":2625,"navigation":1645,"path":1957,"quizzes":2626,"readingTime":896,"seo":2627,"stem":1960,"tp":1638,"__hash__":1961},[588,589],{"type":591,"value":2386,"toc":2617},[2387,2389,2397,2399,2443,2445,2499,2501,2533,2563,2565,2595,2597,2615],[594,2388,1660],{"id":1659},[599,2390,1579,2391,1583,2393,1667,2395,1670],{},[603,2392,1582],{},[603,2394,659],{},[603,2396,667],{},[594,2398,1674],{"id":1673},[647,2400,2401,2405,2409,2415,2421,2429,2439],{},[650,2402,2403,1682],{},[603,2404,1681],{},[650,2406,2407,1688],{},[603,2408,1687],{},[650,2410,2411,1693,2413,1696],{},[603,2412,613],{},[616,2414,618],{},[650,2416,2417,1701,2419,1705],{},[603,2418,1545],{},[603,2420,1704],{},[650,2422,2423,1711,2425,1714,2427,1717],{},[603,2424,1710],{},[880,2426,900],{},[880,2428,1076],{},[650,2430,2431,1723,2433,1614,2435,1728,2437,793],{},[603,2432,1722],{},[880,2434,1113],{},[880,2436,1167],{},[880,2438,1731],{},[650,2440,2441,1737],{},[603,2442,1736],{},[594,2444,1741],{"id":1740},[712,2446,2447,2455],{},[715,2448,2449],{},[718,2450,2451,2453],{},[721,2452,1375],{},[721,2454,1058],{},[733,2456,2457,2465,2475,2483,2491],{},[718,2458,2459,2463],{},[738,2460,2461],{},[880,2462,1335],{},[738,2464,1762],{},[718,2466,2467,2473],{},[738,2468,2469,1403,2471],{},[880,2470,1402],{},[880,2472,1406],{},[738,2474,1773],{},[718,2476,2477,2481],{},[738,2478,2479],{},[880,2480,1780],{},[738,2482,1425],{},[718,2484,2485,2489],{},[738,2486,2487],{},[880,2488,1789],{},[738,2490,1792],{},[718,2492,2493,2497],{},[738,2494,2495],{},[880,2496,1799],{},[738,2498,1451],{},[594,2500,1805],{"id":1804},[885,2502,2503],{"className":887,"code":1808,"language":889,"meta":820,"style":820},[880,2504,2505,2517,2525],{"__ignoreMap":820},[893,2506,2507,2509,2511,2513,2515],{"class":895,"line":896},[893,2508,900],{"class":899},[893,2510,904],{"class":903},[893,2512,613],{"class":899},[893,2514,909],{"class":903},[893,2516,913],{"class":912},[893,2518,2519,2521,2523],{"class":895,"line":916},[893,2520,920],{"class":919},[893,2522,923],{"class":899},[893,2524,927],{"class":926},[893,2526,2527,2529,2531],{"class":895,"line":930},[893,2528,933],{"class":919},[893,2530,923],{"class":899},[893,2532,1839],{"class":926},[647,2534,2535,2541,2547,2553],{},[650,2536,2537,1494,2539],{},[603,2538,965],{},[880,2540,900],{},[650,2542,2543,1494,2545],{},[603,2544,979],{},[880,2546,984],{},[650,2548,2549,1494,2551],{},[603,2550,994],{},[880,2552,999],{},[650,2554,2555,614,2557,1868,2559,1871,2561,1874],{},[603,2556,1864],{},[616,2558,1867],{},[880,2560,920],{},[880,2562,933],{},[594,2564,1878],{"id":1877},[712,2566,2567,2575],{},[715,2568,2569],{},[718,2570,2571,2573],{},[721,2572,1887],{},[721,2574,1890],{},[733,2576,2577,2583,2589],{},[718,2578,2579,2581],{},[738,2580,1897],{},[738,2582,1900],{},[718,2584,2585,2587],{},[738,2586,1905],{},[738,2588,1908],{},[718,2590,2591,2593],{},[738,2592,1913],{},[738,2594,1916],{},[594,2596,1920],{"id":1919},[647,2598,2599,2607,2611],{},[650,2600,2601,1930,2605,793],{},[603,2602,2603,1929],{},[880,2604,900],{},[880,2606,1076],{},[650,2608,2609,1938],{},[603,2610,1937],{},[650,2612,2613,1944],{},[603,2614,1943],{},[1618,2616,1620],{},{"title":820,"searchDepth":916,"depth":916,"links":2618},[2619,2620,2621,2622,2623,2624],{"id":1659,"depth":916,"text":1660},{"id":1673,"depth":916,"text":1674},{"id":1740,"depth":916,"text":1741},{"id":1804,"depth":916,"text":1805},{"id":1877,"depth":916,"text":1878},{"id":1919,"depth":916,"text":1920},{},[],{"title":1653,"description":1955},{"id":1963,"title":1964,"body":2629,"description":2377,"extension":1639,"meta":2978,"navigation":1645,"path":2379,"seo":2979,"stem":2381,"__hash__":2382},{"type":591,"value":2630,"toc":2976},[2631,2633,2635,2641,2643,2645,2659,2661,2663,2665,2667,2677,2679,2681,2683,2719,2721,2723,2755,2777,2779,2781,2809,2811,2813,2815,2820,2836,2838,2840,2842,2892,2896,2898,2900,2954,2956,2958,2962,2964,2966,2968,2974],[1968,2632,1971],{"id":1970},[599,2634,1974],{},[599,2636,1977,2637,636,2639],{},[634,2638],{"code":588},[634,2640],{"code":589},[1983,2642],{},[1968,2644,1988],{"id":1987},[647,2646,2647,2653],{},[650,2648,2649,1995,2651,793],{},[603,2650,1681],{},[603,2652,659],{},[650,2654,2655,2002,2657,793],{},[603,2656,1687],{},[603,2658,667],{},[599,2660,2007],{},[1983,2662],{},[1968,2664,2013],{"id":2012},[2015,2666],{"alt":2017,"kind":2018,"src":2019,"svg":2020},[860,2668,2669,2673],{},[650,2670,2025,2671,793],{},[603,2672,2028],{},[650,2674,2031,2675,793],{},[603,2676,2034],{},[599,2678,2037],{},[1983,2680],{},[1968,2682,1878],{"id":1877},[712,2684,2685,2693],{},[715,2686,2687],{},[718,2688,2689,2691],{},[721,2690,1887],{},[721,2692,1890],{},[733,2694,2695,2701,2707,2713],{},[718,2696,2697,2699],{},[738,2698,2058],{},[738,2700,1900],{},[718,2702,2703,2705],{},[738,2704,2065],{},[738,2706,2068],{},[718,2708,2709,2711],{},[738,2710,2073],{},[738,2712,2076],{},[718,2714,2715,2717],{},[738,2716,2081],{},[738,2718,2084],{},[1983,2720],{},[1968,2722,2090],{"id":2089},[885,2724,2725],{"className":887,"code":1808,"language":889,"meta":820,"style":820},[880,2726,2727,2739,2747],{"__ignoreMap":820},[893,2728,2729,2731,2733,2735,2737],{"class":895,"line":896},[893,2730,900],{"class":899},[893,2732,904],{"class":903},[893,2734,613],{"class":899},[893,2736,909],{"class":903},[893,2738,913],{"class":912},[893,2740,2741,2743,2745],{"class":895,"line":916},[893,2742,920],{"class":919},[893,2744,923],{"class":899},[893,2746,927],{"class":926},[893,2748,2749,2751,2753],{"class":895,"line":930},[893,2750,933],{"class":919},[893,2752,923],{"class":899},[893,2754,1839],{"class":926},[647,2756,2757,2765,2769],{},[650,2758,2759,1494,2761,2131,2763,793],{},[603,2760,965],{},[880,2762,900],{},[880,2764,1076],{},[650,2766,2767,2138],{},[603,2768,979],{},[650,2770,2771,1494,2773,2145,2775,1874],{},[603,2772,1864],{},[880,2774,920],{},[880,2776,933],{},[1983,2778],{},[1968,2780,2153],{"id":2152},[712,2782,2783,2791],{},[715,2784,2785],{},[718,2786,2787,2789],{},[721,2788,965],{},[721,2790,1058],{},[733,2792,2793,2801],{},[718,2794,2795,2799],{},[738,2796,2797],{},[880,2798,900],{},[738,2800,2174],{},[718,2802,2803,2807],{},[738,2804,2805],{},[880,2806,1076],{},[738,2808,2183],{},[599,2810,2186],{},[1983,2812],{},[1968,2814,2192],{"id":2191},[885,2816,2818],{"className":2817,"code":2196,"language":1120},[1118],[880,2819,2196],{"__ignoreMap":820},[647,2821,2822,2826,2830],{},[650,2823,2824,2206],{},[880,2825,2205],{},[650,2827,2828,2211],{},[880,2829,1181],{},[650,2831,2214,2832,1110,2834,793],{},[880,2833,1167],{},[880,2835,1113],{},[599,2837,2221],{},[1983,2839],{},[1968,2841,2227],{"id":2226},[885,2843,2844],{"className":887,"code":2230,"language":889,"meta":820,"style":820},[880,2845,2846,2858,2866,2870,2880],{"__ignoreMap":820},[893,2847,2848,2850,2852,2854,2856],{"class":895,"line":896},[893,2849,613],{"class":899},[893,2851,909],{"class":903},[893,2853,1253],{"class":912},[893,2855,1256],{"class":912},[893,2857,1259],{"class":926},[893,2859,2860,2862,2864],{"class":895,"line":916},[893,2861,1264],{"class":919},[893,2863,923],{"class":899},[893,2865,1269],{"class":926},[893,2867,2868],{"class":895,"line":930},[893,2869,1286],{"emptyLinePlaceholder":1285},[893,2871,2872,2874,2876,2878],{"class":895,"line":1282},[893,2873,1292],{"class":903},[893,2875,1295],{"class":899},[893,2877,1298],{"class":912},[893,2879,1301],{"class":903},[893,2881,2882,2884,2886,2888,2890],{"class":895,"line":1289},[893,2883,1307],{"class":903},[893,2885,1310],{"class":919},[893,2887,2275],{"class":903},[893,2889,1310],{"class":919},[893,2891,1301],{"class":903},[647,2893,2894],{},[650,2895,2284],{},[1983,2897],{},[1968,2899,2290],{"id":2289},[712,2901,2902,2910],{},[715,2903,2904],{},[718,2905,2906,2908],{},[721,2907,1375],{},[721,2909,1378],{},[733,2911,2912,2920,2930,2938,2946],{},[718,2913,2914,2918],{},[738,2915,2916],{},[880,2917,1389],{},[738,2919,2311],{},[718,2921,2922,2928],{},[738,2923,2924,1403,2926],{},[880,2925,1402],{},[880,2927,1406],{},[738,2929,1409],{},[718,2931,2932,2936],{},[738,2933,2934],{},[880,2935,1419],{},[738,2937,1425],{},[718,2939,2940,2944],{},[738,2941,2942],{},[880,2943,1432],{},[738,2945,1792],{},[718,2947,2948,2952],{},[738,2949,2950],{},[880,2951,1445],{},[738,2953,1451],{},[1983,2955],{},[1968,2957,2351],{"id":2350},[599,2959,2960],{},[603,2961,2356],{},[599,2963,2359],{},[1983,2965],{},[1968,2967,1576],{"id":1575},[599,2969,2366,2970,2370,2972,793],{},[603,2971,2369],{},[603,2973,613],{},[1618,2975,1620],{},{"title":820,"searchDepth":916,"depth":916,"links":2977},[],{},{"title":1964,"description":2377},1788035573159]