Autour des pages « Web »...

16
Ces documents peuvent être utilisés et modifiés librement dans le cadre des activités d'enseignement scolaire, hors exploitation commerciale. Toute reproduction totale ou partielle à d’autres fins est soumise à une autorisation préalable du Directeur général de l’enseignement scolaire. La violation de ces dispositions est passible des sanctions édictées à l’article L.335-2 du Code la propriété intellectuelle. Juin 2012 © MEN/DGESCO-IGEN eduscol.education.fr/ éduSCOL Ressources pour le lycée général et technologique Ressources pour le cycle terminal général et technologique Informatique et Sciences du Numérique Autour des pages « Web » dynamiques

Transcript of Autour des pages « Web »...

  • Ces documents peuvent tre utiliss et modifis librement dans le cadre des activits d'enseignement scolaire, hors exploitation commerciale.Toute reproduction totale ou partielle dautres fins est soumise une autorisation pralable du Directeur gnral de lenseignement scolaire.La violation de ces dispositions est passible des sanctions dictes larticle L.335-2 du Code la proprit intellectuelle.

    Juin 2012

    MEN/DGESCO-IGEN eduscol.education.fr/

    duSCOLRes

    source

    s pour

    le lyc

    e gn

    ral et

    techn

    ologiq

    ue

    Ressources pour le cycle terminalgnral et technologique

    Informatique et Sciencesdu Numrique

    Autour des pages Web dynamiques

    http://eduscol.education.fr/

  • Prsentation / Autour des pages Web dynamiques1 / Thme abord1.1 Problmatique, situation daccroche

    De nombreux sites comme les sites commerciaux, les forums de discussion, moteurs de recherche ou rseaux sociaux invitent lutilisateur rentrer quantits dinformations (informations personnelles, bancaires, discussions de forum, critres de recherche etc.). Au vu des pages obtenues en retour des informations saisies par linternaute, on se doute bien que du ct serveur web un programme informatique prend en charge linformation transmise et la traite avant de renvoyer une rponse adquate au navigateur.Notre vcu dinternaute, comme le ciblage publicitaire dont nous sommes parfois victimes, nous amnent aussi nous interroger sur les traces de notre passage sur les diffrents sites visits, stockes dans le disque dur de notre ordinateur personnel, et dont les donnes sont susceptibles dtre collectes voire dtournes notre insu.

    Lexprience propose par le site de dmonstration de la C.N.I.L. (http://www.cnil.fr/vos-libertes/vos-traces/experience) nous claire davantage sur ces aspects.

    Les activits menes dans cette squence visent rpondre au questionnement suivant : Comment rendre un site Web interactif ? Comment le serveur Web peut-il reconnatre mon ordinateur ? Comment maintenir des donnes temporairement ou de manire plus persistante pendant la navigation ? Quels sont les risques encourus concernant ces donnes collectes pendant la navigation et pouvant

    porter prjudice la personne (morale ou physique) sur le Net ?

    1.2 Frontires de ltude et prolongements possiblesLes langages et technologies pouvant tre utiliss ct client (comme JavaScript) ne sont pas abords dans cette squence. La persistance des donnes, usuellement gre ct serveur laide dun S.G.B.D. (Systme de Gestion de Base de Donnes), ainsi que larchitecture Client/Serveur ne font pas lobjet dactivits dans cette squence mais pourront tre voques. La plupart des applications web reposent (partiellement) sur une base de donnes au niveau du serveur, mais lapproche de ce domaine reprsente un assez gros investissement.

    2 / Objectifs pdagogiques2.1 Disciplines impliques

    Un enseignant de philosophie peut trs bien prolonger laspect technique de cette ressource en faisant rflchir les lves sur les problmes thiques et philosophiques causs par la persistance des donnes sur les espaces numriques interconnects.

    2.2 Prrequis les bases du langage de description HTML ; les bases de la programmation dans le langage retenu (le langage Python par exemple) ; un serveur pouvant excuter des programmes dans ce langage (on peut ventuellement se contenter dun

    serveur en local).

    2.3 lments du programme Langages et programmation / Langage de description HTML Reprsentation de linformation / persistance de linformation.

    2.4 Quelques comptences et capacits mises en jeuConcevoir et raliser une solution un problme :

    mettre un programme au point en le testant, en linstrumentant ; crer et analyser une page Web en langage HTML.

    Dcrire et expliquer une situation : matriser ladressage sur un rseau pour identifier des machines distantes.

    Faire un usage responsable des sciences du numrique :

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 1

    http://www.cnil.fr/vos-libertes/vos-traces/experience/http://www.cnil.fr/vos-libertes/vos-traces/experience/

  • prendre conscience de la persistance de linformation sur les espaces numriques interconnects ; savoir se comporter de manire responsable par rapport au droit des personnes ; prendre conscience que les donnes personnelles peuvent tre collectes, quelles peuvent rester

    disponibles sur le web pendant une trs longue priode.

    3 / Modalits de mise en uvre3.1 Dure prvue pour la partie se droulant en classe

    Trois sances de deux heures.

    3.2 Type de lanimationEn classe entire puis en binme pour les travaux dirigs ou pratiques.

    3.3 Projet ?Cette squence est un prolongement dune prcdente squence sur le langage HTML pour insister sur le fait que ce langage peut aussi servir de cible des gnrateurs de pages. Un projet est toujours possible mais il faut prvoir des sances supplmentaires.

    3.4 Recherches documentairesLa recherche documentaire concerne dune part les spcifications des bibliothques logicielles utilises (framework) et dautre part les aspects juridiques, thiques et philosophiques sur les problmes lis au droit la vie prive et au droit loubli.

    3.5 Production des lvesProgrammes complts et rpondant au cahier des charges, accompagns de synthses de rflexions sur lthique et le comportement adopter par rapport aux droits des personnes dans les espaces numriques.

    4 / Outils logiciels et rfrences diteur de texte avec coloration syntaxique, par exemple NotePad++ : http://notepad-plus-

    plus.org (charger le complment NppExec pour avoir une console de dialogue et de contrle dexcution) ou encore Geany : http://www.geany.org ou Bluefish : http://bluefish.openoffice.nl

    Langage Python : http://www.python.org/getit On peut aussi trouver Python avec un diteur de texte adapt sur SIALLE sous le nom AmiensPython :http://www.cndp.fr/sialle/fiche-detaillee-amiens-python-399.php

    Bibliothque HTTP CherryPy pour Python : http://www.cherrypy.org

    Gerard Swinnen, Apprendre programmer avec Python, livre en tlchargement gratuit: ladresse http://www.inforef.be/swi/python.htm (chapitre 17 Applications Web)

    How to use cookies with CherryPy : http://www.cherrypy.org/wiki/Cookies

    5 / AuteursFabien Le Bris, professeur de STI, acadmie de Nantes

    Andr Guigot, professeur de philosophie, acadmie de Nantes

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 2

    http://www.cherrypy.org/wiki/Cookieshttp://www.inforef.be/swi/python.htmhttp://www.cherrypy.org/http://www.cndp.fr/sialle/fiche-detaillee-amiens-python-399.phphttp://www.python.org/getithttp://bluefish.openoffice.nl/index.htmlhttp://www.geany.org/http://notepad-plus-plus.org/http://notepad-plus-plus.org/

  • Autour des pages Web dynamiques1 / Crer des pages web dynamiques1.1 Contexte

    Classiquement, une application Web tourne autour dun serveur Web accompagn dun serveur de donnes. Un logiciel applicatif connect au serveur Web se charge de gnrer dynamiquement les pages Web afin de crer linteractivit avec le client .

    Cette squence vise montrer le principe de la cration dynamique des pages laide dun langage de pro-grammation ct serveur. On en profite alors pour glisser dans le code de quoi crer ces fameux cookies qui donnent limpression linternaute de laisser des traces plus ou moins persistantes de son passage chaque visite.

    1.2 Dynamisme des pagesLes premires pages HTML tudies sont statiques au sens o elles sont, une fois dposes sur le serveur, invariables et donnent toujours le mme affichage la consultation avec une transmission des donnes qui se fait essentiellement du serveur vers le navigateur.On fait constater aux lves que dans le cas dapplications Web interactives, les changes sont plus complexes et se font en deux temps. A partir de la requte du client et des arguments passs, le serveur reconstruit la page Web avant de la retourner celui-ci.

    1.3 Principe de la gnration dynamique des pages WebCette partie vise dcrire les principes et les outils ct serveur Web visant gnrer des pages codes en HTML par programmation.

    On peut voquer avec les lves le populaire langage PHP, trs majoritairement install sur les serveurs Apache. Usuellement, un script PHP (gnralement identifi par lextension .php) est imbriqu dans le code HTML entre des balises spcifiques. Lorsque la page rclame par le client est un script PHP, le serveur appelle linterprteur PHP pour traiter les instructions entre les balises afin de gnrer le code HTML/CSS qui va tre retourn au navigateur.

    Le langage Python dispose galement de modules HTTP comme CherryPy. Le principe est ici trs diffrent puisque dans la logique de CherryPy, un site Web est vu comme une classe (au sens de la programmation objet) dont les mthodes donnent la structure des pages.

    cette tape et quel que soit le langage serveur retenu, le principe de la gnration dynamique des pages peut tre dcrit en classe entire au vido-projecteur.

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 3

    Page web gnre sur lordinateur du client ...

    par une squence PHP excute ct serveur dont le code entre les balises est ml au code HTML

  • On montre ici une page gnre en langage Python asso-ci la bibliothque HTTP CherryPy. La mthode index retourne une chane de caractres compose en Python (concatnation et/ou formatage) comprenant le code HTML de la page.

    La mthode QuickStart de lobjet CherryPy prend en charge la cration et la gestion du serveur Web.

    Si le langage Python a dj t utilis par les lves au cours de lanne, cest celui-ci, associ une bibliothque HTTP, que nous retiendrons comme langage ct serveur par la suite. Pour les activits de T.P., on veillera dans ce cas fournir aux lves des gabarits de programmes prpars en amont afin quils naient plus qu se concen-trer sur les traitements essentiels sans faire appels des concepts trop pousss autour de la programmation oriente objet que requiert lutilisation de ces bibliothques.

    1.4 Formulaires webLes donnes saisies par lutilisateur seront encodes dans les formulaires rdigs en HTML entre les balises et comprenant des zones de texte, des listes droulantes, des cases cocher, etc. On met en vidence le fait que ce formulaire permet denvoyer au serveur Web une requte accompagne des informations saisies (mthodes GET ou POST). Il faudra alors exposer aux

    lves comment on peut rcuprer les arguments passs par la mthode GET, dans le langage serveur pour y effectuer les traitements ncessaires.

    LURL invoque par la mthode Get (HTTP) comprend les arguments saisis par lutilisateur :

    http://localhost:8080/salutations?nom=toto

    Dans la logique de CherryPy, celle-ci est convertie en un appel de mthode.

    1.5 Maintien de donnes laide de cookiesOn constate que les changes HTTP ne permettent pas jusqu prsent de mmoriser un tat et que lon peut revenir indfiniment sur la mme page sans que le serveur en garde le souvenir . Les cookies ont t invents

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 4

  • justement pour donner une mmoire de ltat des changes serveur-navigateur (client).Aprs avoir dfini les principes gnraux de fonctionnement des cookies et des mcanismes dchanges client-serveur associs, ainsi que les cas classiques dutilisation (gestion des sessions, personnalisation et mme pistage), on peut explorer les cookies stocks dans le navigateur.En installant lextension Firebug dans le navigateur Firefox (https://addons.mozilla.org/fr/firefox/addon/firebug), on parvient mettre en vidence la prsence et le rle des cookies, extension laquelle on peut encore rajouter le complment Firecookie (https://addons.mozilla.org/fr/firefox/addon/firecookie) pour aller plus loin dans la gestion des cookies.Deux autres extensions sont particulirement spectaculaires de ce point de vue (on peut donc rpartir les lves en deux ou plusieurs groupes et les inviter exprimenter un peu) :Collusion (https://addons.mozilla.org/fr/firefox/addon/collusion) permet dafficher un graphique suggrant indiquant les liens entre les divers serveurs dposant des cookies.Ghostery (http://www.ghostery.com) permet dautoriser slectivement le dpt des cookies et de reprer ceux qui ne servent qu pister les comportements de internautes.Dans un second temps, les activits de programmation en TP peuvent conduire les lves rpondre au questionnement suivant :

    quelles sont les donnes maintenir ? (information de connexion, contenus de paniers dachats lectroniques, prfrences de navigation,...)

    comment utiliser ces donnes pour grer linteractivit du site ? (galement lergonomie en termes de navigation)

    quel est le degr de persistance des donnes maintenir ? (maintien en mmoire vive le temps de la visite du site, sauvegarde sur le disque de lordinateur client le temps de la session ou pour une dure dtermine)

    que se passe-t-il si le visiteur interdit la prsence de cookies sur son poste ?Exprience : le message daccueil est personnalis selon le pseudo et la langue saisis dans un formulaire de connexion. Les informations de connexion doivent tre maintenues grce aux cookies tant que lutilisateur ne sest pas dconnect du site.

    1.6 Comment ne pas aller trop loin ?Les activits autour du cookie sont galement une occasion de soulever les problmes causs par les don-

    nes personnelles laisses sur le Net.Dans un modle conomique largement financ par la publicit, le cookie stock par le navigateur Web de

    lutilisateur est souvent charg de jouer les espions . Linternaute se retrouve alors cibl son insu dans ses gots et ses habitudes de navigation des fins marketing (voir lexprience du CNIL).

    Dans ce flux de donnes sensibles et difficiles matriser, il est bien dans cette squence dvoquer avec les lves les quelques gardes-fous permettant de crer une premire forme de protection de la vie prive ( com -mencer par les options des assistants de confidentialit proposs dans les navigateurs).

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 5

    file:///home/rob/documents/Dropbox/D%C3%A9pos%C3%A9%20DGESCO/%20http://www.cnil.fr/vos-libertes/vos-traces/experience/%20http://www.ghostery.com/https://addons.mozilla.org/fr/firefox/addon/collusionhttps://addons.mozilla.org/fr/firefox/addon/firecookie/https://addons.mozilla.org/fr/firefox/addon/firebug

  • Sur le plan lgislatif, on peut montrer les efforts mens sur les notions de droit loubli (voir la rcente charte du droit loubli numrique1). Malgr les chartes de dontologie (qui noffrent pas la mme valeur juri-dique que les lois) et face aux progrs des nouvelles technologies, souvent en avance sur les lois et habilement exploites par les socits du Web (par exemple la possibilit de ciblage publicitaire go-adapt grce aux rcents services de golocalisation), la premire garantie de protection de la vie prive reste lducation et la pr -vention en adoptant des comportements simples comme :

    la lecture des rgles de confidentialit des socits du Web (ou privacy policy ) et leurs matrises (exercice pouvant tre ralis en classe ou comme travail la maison) et ainsi aller en faveur de la transparence des sites;

    lusage de la navigation anonyme, le contrle des cookies (il est difficile de les interdire compltement tant donn que la plupart des services proposs sur Internet requiert leur usage).

    Le respect des lois actuelles (adaptes lre du numrique) sur la diffamation et le respect de la vie prive nest pas une chose facile compte tenu du volume des changes qui se droulent quotidiennement sur le Net. Il sagit de faire comprendre quen ltat actuel de la lgislation, sans prise de conscience de lutilisateur, celui-ci donne par dfaut son accord tacite une ventuelle utilisation commerciale des cookies installs sur son poste par son navigateur.

    1.7 Activits de TPEn TP, on peut fournir une application Web simple et fonctionnelle aux pages gnres dynamiquement (en langage Python par exemple). Llve analyse la structure du programme et lenchanement des pages du site en testant lapplication en local dans le navigateur.

    On lui propose une ou plusieurs volutions parmi : modification du traitement sur une donne saisie dans un formulaire ; donne supplmentaire encoder dans un formulaire et programmation du traitement associ. Implanter un cookie pour apporter une nouvelle fonctionnalit ou une amlioration (compteur de

    session, maintien en mmoire dun identifiant, dune prfrence personnelle de navigation), prvoir sa construction avec ses attributs, sa destruction. Programmer le traitement associ.

    Voir des exemples dactivits en annexe.

    2 / propos du droit loubli numrique 2.1 Problmatique

    Lautre question soulever concerne la dure de conservation des donnes collectes. Grce aux capacits dindexation des moteurs de bases de donnes et des possibilits quasi-illimites de stockage de celles-ci, les donnes personnelles renseignes aussi de faon active par linternaute (comme dans le cas emblmatique des messages posts dans les forums des rseaux sociaux) risquent de rester indfiniment sur la toile.

    1 Lire ici : http://fr.wikipedia.org/wiki/Chartes_du_droit_%C3%A0_l%27oubli_num%C3%A9rique Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 6

    Dans cet exercice, on simule le comportement dun moteur de recherche. Le serveur cre un cookie mmorisant les derniers critres renseigns par linternaute.

    quelles fins pourrait-on exploiter ce cookie ?

    http://fr.wikipedia.org/wiki/Chartes_du_droit_%C3%A0_l'oubli_num%C3%A9rique

  • On rappelle que si les cookies peuvent tre supprims physiquement du poste de lutilisateur, les donnes inscrites dans les bases de donnes sont stockes sur un serveur tiers et peuvent chapper au contrle de lutilisa-teur.

    Ce sont bien de ces donnes personnelles collectes par le biais de cookies ou dans les gigantesques bases de donnes renseignes par linternaute lui-mme et du risque de la perte de la matrise de ces donnes quest ne la revendication du droit loubli numrique.On propose de prolonger le travail de cette squence en faisant rflchir sur les conditions et les limites philosophiques concernant la mmorisation des donnes issues des changes sur la toile.Dans cette optique, on pourra proposer un travail alternant des (petits) passages thoriques, quelques lectures et recherches personnelles, des changes par petits groupes avec un porte-parole et une synthse globale assure par un enseignant quelle que soit sa discipline de spcialisation.Un enseignant de Philosophie pourra accompagner la rflexion des lves en leur proposant des textes comme ceux extraits de Bergson sur la mmoire (extrait de son Essai sur les donnes immdiates de la conscience) et de Foucault sur le pouvoir de normalisation par la mmoire. Le but de ces lectures est de montrer que la mmoire est la fois psychologiquement et moralement ncessaire (individuellement et collectivement), mais dangereuse pour les liberts individuelles si on lutilise comme un moyen demprisonner les individus dans leur pass.Le travail de groupe, partir de ces textes et dautres sources documentaires (CDI, sites Internet, ou pourquoi pas partir de faits divers) mettant en vidence la ncessit dune sorte de droit loubli , doit permettre aux lves dlaborer une sorte de fiche-mmoire pouvant sintituler thique et droit loubli dans les espaces numriques .

    2.2 Pistes de travail possiblesPartir dun constat : linachvement juridique du droit loubli et les nombreux problmes que cela pose. Les spcialistes comme les usagers du numrique ne peuvent chapper cette exigence dinterrogation au sujet des implications thiques de leur pratique. En somme

    La mmoire est une fonction ncessaire, tout comme loubli. Rappel (rapide) de la ncessit psychologique de la mmoire

    La mmoire nest pas seulement un meuble dans lequel nous rangeons des souvenirs et nous puisons comme dans des tiroirs. Elle est une fonction constitutive de notre conscience, comme accumulation et anticipation permanente. Sans mmoire, pas de conscience de soi, donc pas didentit. Cest pourquoi nous tenons tant (trop?) afficher ce que nous avons fait de nous-mmes (cf. Facebook, MySpace etc.). Cette mmoire affiche nest que lillustration de limportance de cette fonction. Sans la prsence soi de son propre pass, ltre humain ressent comme une perte de matrise de lui-mme. Notons que cette fonction est de fait insparable de lacquisition du langage. Cest pourquoi conscience de soi , langage et mmoire sont lis. On ne parvient jamais remonter plus loin que lge de trois ans dans son pass, ge partir duquel la mmoire sappuie sur du langage pour associer lidentit aux activits : on commence dire Je . Illustration morale : le courage est fait du souvenir et dune image de soi, dune identification de soi prsent cette image qui donne confiance en soi.

    La mmoire est moralement et juridiquement ncessaire pour constituer une responsabilit

    On ne saurait rendre pareillement responsable un individu qui aurait effectivement oubli la totalit de ses actes. Non pas, videmment, quil naurait pas malgr tout en rendre compte , voire rparer, tre puni, mais comme tel, loubli (rel) modifie le discours que lon peut lui tenir. L accusation, par exemple, devient dans ce cas un rappel des faits, et le jugement un rappel de lexigence assumer devant les autres les consquences de ses actes. tre lauteur rel implique une responsabilit de fait. Pour que cette responsabilit ait un sens, il faut que la mmoire, la peine encourue, la punition ventuelle et la prise de conscience des torts causs mette en jeu une mmoire.

    On peut, partir de l, rflchir ensemble sur le rapport de la responsabilit au temps.Exemple : un condamn a bien effectu sa peine, son existence numrique ne cesse pas pour autant. Com-ment le problme se pose-t-il et comment y remdier ? Voir, ce sujet, larticle suivant :https://wiki.inria.fr/sciencinfolycee/Droit_%C3%A0_l%27oubli_%28CNIL%29

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 7

    https://wiki.inria.fr/sciencinfolycee/Droit_%C3%A0_l'oubli_(CNIL)

  • Apparition du droit loubli en lien avec la question de la mmoire. Les risques denfermer un individu dans des images passes.

    Il ny a pas de libert sans le pouvoir lgitime sur soi que constitue le droit loubli . Si celui-ci parat difficilement applicable, il nest pas interdit de tenter par tous les moyens de faire prendre conscience aux futurs spcialistes que la technologie numrique est un pouvoir, non seulement un savoir-faire neutre, mais un ensemble de techniques pouvant durablement impacter la vie des individus. titre dillustration, on peut se rfrer aux nombreux cas dimages circulant sur le web tout en chappant au contrle des personnes concernes, avec des consquences parfois dramatiques.

    3 / Rfrences3.1 Cookies All about cookies : http://www.allaboutcookies.org/ Cookie(informatique) : http://fr.wikipedia.org/wiki/Cookie_%28informatique%29 Vos traces sur internet : a nest pas virtuel ! : http://www.cnil.fr/vos-libertes/vos-traces La norme technique sur les cookies : http://www.ietf.org/rfc/rfc2109.txt

    3.2 Droit la vie prive, droit loubli Proposition de loi visant mieux garantir le droit la vie prive lheure du numrique (article 6) :

    http://www.senat.fr/leg/ppl09-093.html

    Directive 2002/58/CE du Parlement europen et du Conseil de lUE du 12 juillet 2002 concernant le traitement des donnes caractre personnel et la protection de la vie prive dans le secteur des communications lectroniques (directive vie prive et communications lectroniques) :

    http://europa.eu/legislation_summaries/information_society/legislative_framework/l241 20_fr.htmvoir notamment le point (25) de la directie, qui concerne les cookies.

    Fiches pratiques de la CNIL : http://www.cnil.fr/recherche/?tx_indexedsearch[ext]=1&tx_indexedsearch[sword]=publicit%C3%A9+cibl%C3%A9e&x=18&y=9

    Publicit cible sur Internet : vers un consentement pralable de linternaute (article de la CNIL) : http://www.cnil.fr/la-cnil/actu-cnil/article/article/publicite-ciblee-sur-internet-vers-un-consentement-prealable-de-linternaute/

    Charte du droit loubli numrique signe du 13 Octobre 2010 sous lgide de Mme Nathalie Kosciusko-Morizet (secrtaire dEtat charge de la Prospective et du Dveloppement de lconomie numrique): http://fr.wikisource.org/wiki/Charte_du_droit_%C3%A0_l%27oubli_dans_les_sites_collaboratifs_et_les_moteurs_de_recherche

    Quelques liens sur le droit loubli (SILO) : https://wiki.inria.fr/sciencinfolycee/Droit_%C3%A0_l%27oubli

    La Commission propose une rforme globale des rgles en matire de protection des donnes pour accrotre la matrise que les utilisateurs ont sur leurs donnes, et rduire les cots grevant les entreprises :http://europa.eu/rapid/pressReleasesAction.do?reference=IP/12/46&format=HTML&aged=0&language=FR&guiLanguage=en

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 8

    http://europa.eu/rapid/pressReleasesAction.do?reference=IP/12/46&format=HTML&aged=0&language=FR&guiLanguage=enhttp://europa.eu/rapid/pressReleasesAction.do?reference=IP/12/46&format=HTML&aged=0&language=FR&guiLanguage=enhttps://wiki.inria.fr/sciencinfolycee/Droit_%C3%A0_l'oublihttp://fr.wikisource.org/wiki/Charte_du_droit_%C3%A0_l'oubli_dans_les_sites_collaboratifs_et_les_moteurs_de_recherchehttp://fr.wikisource.org/wiki/Charte_du_droit_%C3%A0_l'oubli_dans_les_sites_collaboratifs_et_les_moteurs_de_recherchehttp://www.cnil.fr/la-cnil/actu-cnil/article/article/publicite-ciblee-sur-internet-vers-un-consentement-prealable-de-linternaute/http://www.cnil.fr/la-cnil/actu-cnil/article/article/publicite-ciblee-sur-internet-vers-un-consentement-prealable-de-linternaute/http://www.cnil.fr/recherche/?tx_indexedsearch[ext]=1&tx_indexedsearch[sword]=publicit%C3%A9+cibl%C3%A9e&x=18&y=9http://www.cnil.fr/recherche/?tx_indexedsearch[ext]=1&tx_indexedsearch[sword]=publicit%C3%A9+cibl%C3%A9e&x=18&y=9http://europa.eu/legislation_summaries/information_society/legislative_framework/l24120_fr.htmhttp://europa.eu/legislation_summaries/information_society/legislative_framework/l24120_fr.htmhttp://www.senat.fr/leg/ppl09-093.htmlhttp://www.ietf.org/rfc/rfc2109.txthttp://www.cnil.fr/vos-libertes/vos-traceshttp://fr.wikipedia.org/wiki/Cookie_(informatique)http://www.allaboutcookies.org/

  • Annexe: Autour des pages Web dynamiques1 / But de cette activit

    On essaye de dcouvrir dans cet exercice comment les moteurs de recherche utilisent et conservent nos recherches afin de mieux nous cibler par la suite (voir la dmonstration du CNIL http://www.cnil.fr/vos-libertes/vos-traces/experience).

    2 / PrincipeLe contenu dynamique des pages est gr en langage Python associ la bibliothque HTTP CherryPy. Le

    maintien des donnes est obtenu par un cookie. Le comportement de notre prototype de moteur de recherche est illustr par les images ci-dessous.

    chaque retour sur la page principale, les recherches prcdentes sont mmorises et affiches le temps de la session.

    3 / OutilsLe langage de programmation utilis est Python (v2.6) associ au framework HTTP CherryPy (http://www.cherrypy.org/). Lenvironnement de programmation comportera un diteur avec coloration syntaxique comme NotePad++ (http://notepad-plus-plus.org avec en complment la console NppExec). Pendant le dveloppement, le site sera test sur un serveur Web local (localhost).On pourra consulter le livre de Gerard Swinnen Apprendre programmer avec Python en tlchargement libre: http://www.inforef.be/swi/python.htm (chapitre 17 Applications Web)ainsi que larticle How to use cookies with CherryPy : http://www.cherrypy.org/wiki/Cookies

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 9

    http://www.cherrypy.org/wiki/Cookieshttp://www.inforef.be/swi/python.htmhttp://notepad-plus-plus.org/http://www.cherrypy.org/http://www.cnil.fr/vos-libertes/vos-traces/experiencehttp://www.cnil.fr/vos-libertes/vos-traces/experience

  • La console permet de lancer lexcution du programme et de rendre compte des changes HTTP.

    Le navigateur Internet pourra comporter un module utilis par les dveloppeurs Web pour visualiser le code HTML gnr ou ltat des cookies (par exemple les extensions Firebug/Firecookie pour Firefox).

    Lemploi dun deuxime navigateur (qui peut tre Opera, Chromium ou tout autre) est recommand pour simuler diffrentes sessions de navigation.

    4 / Description de lactivitAprs avoir expliqu le but du prototype aux lves, on peut leur proposer le gabarit de programme sui-

    vant :

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 10

  • import cherrypy

    class MonSiteWeb(object):def index(self):

    return

    Mon moteur de recherche

    Mon moteur de recherche

    Ou voulez-vous partir en vacances ? (ex: Barcelone, Berlin, Paris,...):

    dernieres recherches: ...

    index.exposed=True

    def recherche(self,lieu):return

    Recherche

    Resultats de la recherche pour: ...

    ...

    cliquer ici pour poursuivre dautres recherches

    recherche.exposed=True

    if __name__==__main__:cherrypy.quickstart(MonSiteWeb())

    Au dmarrage du programme, la mthode quickstart prend en charge la gestion du serveur Web (serveur local ladresse localhost:8080 par dfaut).

    Lexcution du programme dans un navigateur en local permet dj de dcouvrir la structure du site et len-chanement des deux seules pages qui le compose. Il dcouvre entre-autres quaprs soumission du formulaire, la requte HTTP comporte la ville saisie dans la zone de texte comme argument :

    http://localhost:8080/recherche?lieu=Paris

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 11

    http://localhost:8080/recherche?lieu=Paris

  • Lanalyse du code HTML gnr dans le navigateur (clic droit puis code source de la page avec Firefox) et du code Python permet de comprendre le principe de la gnration de code HTML par programmation avec la bibliothque CherryPy.

    Llve comprend que les deux mthodes index et recherche structurent les deux pages web.On fait constater comment CheeryPy transforme automatiquement les paramtres action et name de la

    mthode HTTP GET en appel de mthode classique aprs soumission du formulaire (code surlign en jaune). De mme le paramtre href (surlign en bleu) permet automatiquement la redirection vers la racine du site (la racine tant la page retourne par la mthode index).

    La suite du dveloppement du prototype peut commencer, en particulier la mise en uvre du cookie pour le maintien des donnes sur les diffrentes recherches de villes saisies.

    Lors de laffichage du formulaire, il faut tester lexistence de recherches prcdentes en rcuprant le contenu du cookie si celui-ci existe (voir le lexique en fin de document). Puis on modifie dynamiquement la chane HTML de retour afin dafficher les dernires recherches par concatnation ou formatage (attention aux nouvelles syntaxes de formatage des chanes de caractres depuis la version 3 de Python).

    def index(self):derniere_recherche=cherrypy.request.cookie.get(moncookie,None)if derniere_recherche:

    valeurCookie=derniere_recherche.valueelse:

    valeurCookie=""return

    Mon moteur de recherche

    Mon moteur de recherche

    Ou voulez-vous partir en vacances ? (ex: Barcelone, Berlin, Paris,...):

    dernieres recherches: %s

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 12

  • %(valeurCookie)

    Dans la page donnant le rsultat de la recherche (mthode recherche), il faut aussi recomposer dynamique-ment la chane retourne. Sil ny a pas recherches qui prcde il faut crer le cookie. Si le cookie existe dj, il faut modifier son contenu en concatnant la dernire recherche saisie suivant le principe tester suivant :

    >>> derniere_recherche="Nantes">>> print ", ".join([derniere_recherche,"Bordeaux"])Nantes, Bordeaux>>>

    Ce qui donne par exemple :

    def recherche(self,lieu):resultats=" ".join(["ici, les resultats de la recherche pour",lieu])derniere_recherche=cherrypy.request.cookie.get(moncookie,None)if derniere_recherche:

    valeurCookie=", ".join([derniere_recherche.value, lieu])else:

    valeurCookie=lieucherrypy.response.cookie[moncookie]=valeurCookiereturn

    Recherche

    Rsultats de la recherche pour: %s

    %s

    cliquer ici pour poursuivre dautres recherches

    % (lieu, resultats)

    Le contenu de la page restitue peut comporter des variantes selon lavancement et la motivation de llve ou du groupe et le temps disponible (squence courte ou mini-projet).

    On peut se contenter dune simple restitution de la ville saisie dans un paragraphe de texte HTML (minima-liste mais suffisant pour comprendre le principe) mais aussi recomposer une page plus complexe avec une image de la ville recherche par exemple, page mise en forme grce une feuille de style CSS spare. Dans ce cas il peut-tre ncessaire de prciser certains paramtres pour le stockage des images ou du ficher CSS dans un fichier de configuration appel par la mthode quickstart :

    cherrypy.quickstart(MonSiteWeb() , config=D:\\maconfig.conf)

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 13

  • Exemple de contenu du fichier de configuration maconfig.conf , (voir les options http://www.cherrypy.org):

    [/]tools.staticdir.root = "D:"

    [/style.css]tools.staticfile.on= Truetools.staticfile.filename="D:\\style.css"

    [/images]tools.staticdir.on= Truetools.staticdir.dir="D:\\images"

    Sur chaque page retourne, on rajoute le lien vers la feuille de style CSS dans lentte :

    ...

    ...

    Enfin, afin de simuler diffrentes sessions de navigation dans un fonctionnement local, on peut ouvrir et tester le site dans plusieurs navigateurs internet :

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 14

    http://www.cherrypy.org/

  • On peut enfin se poser la question de laccs aux cookies par dautres serveurs que le serveur initial ; cest videmment une question de scurit mais la chose est envisageable, lire ici :http://www.codeguru.com/print/csharp/csharp/cs_internet/article.php/c19417/Sharing-Cookies-Across-Domains.htm

    5 / Lexique CherryPy pour la gestion des cookies Pour crer un cookie avec CherryPy :MonCookie=cherrypy.response.cookie # Dclaration dun cookieMonCookie[NomDuCookie]=ContenuDuCookie # Contenu du cookie# Les paramtres qui suivent sont facultatifs, par dfaut la dure de vie du cookie est le temps de la session

    MonCookie[NomDuCookie][path]=/ # CheminMoncookie[NomDuCookie][max-age]=30 # Dure de vie en secondes

    Pour tester lexistence dun cookie:MonCookie=cherrypy.request.cookie.get(NomDuCookie,None)if MonCookie: # le cookie existe

    print MonCookie.value # afficher le contenu du cookie dans la consoleelse:

    print Cookie supprime # le cookie nexiste pas/plus

    Pour supprimer tous les cookies:

    reqcookie=cherrypy.request.cookierescookie=cherrypy.response.cookiefor name in reqcookie.keys():

    rescookie[name]=namerescookie[name][path]=/rescookie[name][max-age]=0

    Ministre de lducation nationale (DGESCO IGEN)ISN Terminale srie scientifique Autour des pages Web dynamiques Page 15

    http://www.codeguru.com/print/csharp/csharp/cs_internet/article.php/c19417/Sharing-Cookies-Across-Domains.htmhttp://www.codeguru.com/print/csharp/csharp/cs_internet/article.php/c19417/Sharing-Cookies-Across-Domains.htm

    ISN - Ressource pdagogiquePrsentation / Autour des pages Web dynamiques1 / Thme abord1.1 Problmatique, situation daccroche1.2 Frontires de ltude et prolongements possibles

    2 / Objectifs pdagogiques2.1 Disciplines impliques2.2 Prrequis2.3 lments du programme2.4 Quelques comptences et capacits mises en jeu

    3 / Modalits de mise en uvre3.1 Dure prvue pour la partie se droulant en classe3.2 Type de lanimation3.3 Projet?3.4 Recherches documentaires3.5 Production des lves

    4 / Outils logiciels et rfrences5 / Auteurs

    Autour des pages Web dynamiques1 / Crer des pages web dynamiques1.1 Contexte1.2 Dynamisme des pages1.3 Principe de la gnration dynamique des pages Web1.4 Formulaires web1.5 Maintien de donnes laide de cookies1.6 Comment ne pas aller trop loin?1.7 Activits de TP

    2 / propos du droit loubli numrique2.1 Problmatique2.2 Pistes de travail possibles

    3 / Rfrences3.1 Cookies3.2 Droit la vie prive, droit loubli

    Annexe: Autour des pages Web dynamiques1 / But de cette activit2 / Principe3 / Outils4 / Description de lactivit5 / Lexique CherryPy pour la gestion des cookies