![Page 1: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/1.jpg)
1
Nouvelles techniques d’animation d’un site Internet / intranet
ENSMP/CRI, 8 décembre 2000---
Laurent DAVERIO
![Page 2: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/2.jpg)
2
Table des matières
http://sources.trad.org … 3 ht://Dig … 5 Langages de script … 8 Systèmes de génération dynamique de
pages Web … 13 SGBD / Annuaires … 39 Boite à outils Perl … 48 Analyse de trafic … 64
![Page 3: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/3.jpg)
3
Sources de logiciels libres
http://sources.trad.org
![Page 4: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/4.jpg)
4
http://sources.trad.org Au départ, un bloc-notes personnel pour noter les
adresses de téléchargement d’un certain nombre de logiciels libres ou gratuits « intéressants ».
La notion d’ « intéressant » est assez subjective… Pour une vision plus
exhaustive, voir par exemplewww.appwatch.com
Recherche de logiciels par nom / description, catégories
Réalisation : HTML::Mason OpenLDAP
![Page 5: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/5.jpg)
5
ht://Dig
Le moteur d’indexation et de recherchele plus répandu dans le domaine du
logiciel libre
http://www.htdig.org/
![Page 6: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/6.jpg)
6
ht://Dig 3.2 Un moteur relativement classique :
Robot de parcours de page (htdig) Respecte évidemment les « Robot Exclusion Rules » Paramétrage du parcours via des balises <META> spécifiques
Moteur d’indexation (htmerge) Types de documents : texte ASCII, HTML, Postscript, PDF (via
xpdf ou Acrobat Reader), autres (via convertisseurs à développer soi-même)
Indexation « floue » (htfuzzy) phonétique (soundex, metaphone) par racine (à partir d’un dictionnaire) par synonymes (à partir d’une table de correspondances)
Moteur de recherche (htsearch) Utilisé sous forme de CGI
![Page 7: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/7.jpg)
7
Caractéristiques
Points forts Efficacité, relative facilité de mise en oeuvre Compatible avec Windows (via bibliothèques Cygwin)
Limitations Certains types de recherche manquent
Recherche d’expressions : implémentée depuis la version 3.2 (bêta)
Recherche par proximité : en projet Personnalisation des résultats un peu malaisée
Passage obligé par le CGI htsearch, qui oblige éventuellement à un retraitement par un « wrapper » du HTML produit.
![Page 8: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/8.jpg)
8
Langages de script
Perl, Python, Zend, …
![Page 9: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/9.jpg)
9
Introduction
3 langages principaux : Perl, Python, Zend Caractéristiques :
Utilisables à la fois en contexte statique ou dynamique
Statique : préparation des données, mise en forme des pages à l'avance (préprocesseurs)
Dynamique : génération des pages à la volée Utilisables également comme langage de script
généraliste Administration système Traitement de données Processus lancés périodiquement par crontab
![Page 10: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/10.jpg)
10
Perl 5.6 Un langage "maximaliste"
Mélange de shell, sed, awk, C, BASIC, … Plein de pièges pour les néophytes et les autres. « Il y a toujours plus d'une façon de résoudre un problème ».
Outils et types de données évolués Intérêt : résoudre en une ligne une problème qui demande
normalement 3 ou 4 lignes de code découper une chaîne, rechercher une occurrence dans une liste, …
Exemples : expressions régulières, listes, tableaux associatifs,… CPAN : "Comprehensive Perl Archive Network"
(http://www.cpan.org/, plus de très nombreux miroirs dans le monde) :
Une bibliothèque de modules très étendue. Dont un module CPAN qui automatise l’installation d’autres modules
Mais ces modules ne sont pas, en majorité, fournis dans la distribution standard.
http://www.activestate.com
http://www.perl.com
![Page 11: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/11.jpg)
11
Python 2.0 Langage de type intermédiaire
Plus "propre" que les langages de scripts traditionnels … en particulier, plus propre que Perl ;-)
Langage à objets plus simple à utiliser que Java Syntaxe simplifiée Langage "interprété" (compilation en bytecode à la volée) Passerelle avec Java : Jpython (interpréteur 100% pure Java)
Possibilité de réaliser des Applets Java en JPython Une bibliothèque de modules standard très complète
Modules réseau (sockets, FTP, HTTP, …) Tkinter : une bibliothèque graphique basée sur Tcl/Tk
portable sous X11 et Windows
Langage jeune, en pleine expansion Plusieurs outils significatifs sont déjà écrits en Python
Zope, BSCW, scripts d'installation et de configuration de RedHat Linux, …
http://www.python.org
![Page 12: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/12.jpg)
12
Zend Zend est le langage de PHP 4
Réécriture complète du langage de PHP3 Amélioration importante des performances (précompilation) Modification de l’architecture (allocation mémoire, …) Meilleur découpage des tâches
PHP 4 devient multi plate-formes (IIS, Apache, NS, Roxen, …)
Syntaxe proche de celle de C ou de Perl Zend est un langage extrêmement riche en fonctions de toutes
sortes Exemples : manipulation de fichiers, d’images, de boites à lettres
IMAP, de SGBD (MySQL, …), d’annuaires LDAP, gestion de sessions… Avantage : tout est intégré en standard Inconvénient : il n’y a pas la notion de modules comme en Perl
Comme Perl, ce n’est pas un vrai langage à objets Notion de classes PHP, qui encapsulent variables et méthodes
Zend, un « sous Perl » ?
http://www.zend.com
![Page 13: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/13.jpg)
13
Systèmes de génération dynamique de pages Web
CGI, ASP, ePerl, PHP, ASP, Mason, Coldfusion, …
![Page 14: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/14.jpg)
14
Introduction Classés par flexibilité décroissante, et vitesse de
développement croissante : Génération par script de bout en bout
CGI (Common Gateway Interface) Java Servlets (avec serveur d'applications Java)
Inclusion d'un script dans une page HTML ASP (Active Server Pages) PHP (PHP : Hypertext Processor) ePerl (Embedded Perl) et équivalents (Mason / EmbPerl / EP)
Extension "HTML-like" côté serveur CFML : ColdFusion Markup Language (ColdFusion) RXML : Roxen Macro Language (Roxen Challenger) DTML : Document Template Markup Language (Zope)
![Page 15: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/15.jpg)
15
CGI - Common Gateway Interface Le premier système généralisé de génération
dynamique de pages Avantages : généralité, flexibilité
Flexibilité dans le choix du langage C, Perl, Python, shell Unix, Visual Basic, …
Flexibilité dans les types de contenus HTML, image fixe ou animée, …
Flexibilité dans le choix du serveur HTTP Inconvénients :
"fork" : chaque appel crée un nouveau process Solutions : variantes "persistantes" (PCGI, FastCGI, …)
"stateless" : pas de mémoire d'un appel à l'autre L'application doit gérer elle-même les sessions d'utilisation
(paramètres URL, cookies, …)
![Page 16: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/16.jpg)
16
CGI - Principe de fonctionnement
1. Le client Web (navigateur) envoie une requête HTTP au serveur Web
2. Le logiciel serveur Web (Apache, IIS) détermine qu'il s'agit non pas d'une requête de service de fichiers, mais d'une requête CGI (exécution de programme) Mécanismes : chemin d'accès (cgi-bin), extension (.cgi)
3. Le logiciel serveur Web démarre le programme CGI sur la machine hôte (création de processus), lui transmet un certain nombre de variables d'environnement et de paramètres utilisateur (champs de formulaire, …) Le programme CGI génère typiquement du code HTML, une
image GIF (compteur), …
4. La sortie standard (STDOUT) du programme CGI est redirigée vers le logiciel serveur Web, qui la retransmet à l'utilisateur
![Page 17: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/17.jpg)
17
CGI - Exemple en Perl (variante 1)
http://www.serveur.org/cgi-bin/exemple.cgi?nom=Laurent
#! /usr/local/bin/perluse CGI; # module perl CGI.pm$q = new CGI; $nom = $q->param("nom"); print "Content-type:text/html\n\n";print "<HTML>"; print "<HEAD>";print "<TITLE>CGI qui dit bonjour à $nom</TITLE>"; print "</HEAD>"; print "<BODY>"; print "Bonjour $nom !"; print "</BODY>"; print "</HTML>";
![Page 18: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/18.jpg)
18
CGI - Exemple en Perl (variante 2)
http://www.serveur.org/cgi-bin/exemple.cgi?nom=Laurent
#! /usr/local/bin/perluse CGI; # module perl CGI.pm$q = new CGI; $nom = $q->param("nom"); print
"Content-type:text/html\n\n", "<HTML>", "<HEAD>", "<TITLE>CGI qui dit bonjour à $nom</TITLE>", "</HEAD>", "<BODY>", "Bonjour $nom !", "</BODY>", "</HTML>";
![Page 19: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/19.jpg)
19
CGI - Exemple en Perl (variante 3, avec syntaxe « here document »)
http://www.serveur.org/cgi-bin/exemple.cgi?nom=Laurent #! /usr/local/bin/perl
use CGI; # module perl CGI.pm$q = new CGI; $nom = $q->param("nom"); print << FIN;Content-type:text/html
<HTML><HEAD> <TITLE>CGI qui dit bonjour à $nom</TITLE></HEAD><BODY> Bonjour $nom !</BODY></HTML>FIN
![Page 20: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/20.jpg)
20
CGI - Exemple en Perl (variante 4, avec module Text::Template)
http://www.serveur.org/cgi-bin/exemple.cgi?nom=Laurent #! /usr/local/bin/perl
use CGI; use Text::Template;$q = new CGI; $nom = $q->param("nom"); print Text::Template->fill_this_in(<<FIN);Content-type:text/html
<HTML><HEAD> <TITLE>CGI qui dit bonjour à {$nom}</TITLE></HEAD><BODY> Bonjour {$nom} !</BODY></HTML>FIN
![Page 21: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/21.jpg)
21
PHP 4.0 Un langage "enfoui" (embedded) dans le HTML
Possibilité d'utiliser des outils visuels (Dreamweaver 3) Avantages :
Tout intégré (cf. Zend) mod_php : accélération du démarrage des pages PHP sous
Apache Souvent préinstallé. Exemples :
php fait partie des principales distributions Linux. php est disponible chez plusieurs fournisseurs d’accès, dont Free
(http://www.free.fr) et Multimania. Inconvénient :
Langage spécifique Zend présente de nombreuses similitudes, vraies ou fausses, avec
Perl Langage moins extensible que Perl ou Python
Très à la mode en ce moment, notamment en France
http://www.php.net
![Page 22: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/22.jpg)
22
PHP - Exemple http://www.serveur.org/exemple.php?nom=Laurent
<HTML><HEAD> <!–- lecture du paramètre (commentaire HTML)--> <? $nom = $HTTP_GET_VARS["nom"]; ?> <TITLE> PHP qui dit bonjour à <?php echo $nom; ?> </TITLE></HEAD><BODY><? # Corps du document (commentaire php)
echo "Bonjour $nom !";?></BODY></HTML>
![Page 23: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/23.jpg)
23
ePerl 2.2 Modification du parser standard Perl
Extension de l’approche du module Text::Template : Inclusion de code Perl dans des fichiers texte
Inversion de la dépendance code / texte Au départ, pas de lien obligé avec le Web
ePerl peut s’utiliser depuis la ligne de commande comme langage de script généraliste
Utilisation pour le Web Intégration de Perl dans des pages HTML (.phtml, .epl)
Intérêt : temps d'apprentissage nul quand on connaît Perl Utilisable comme CGI ou via mod_perl (handler Apache::ePerl)
Démarche très proche de celles des CGI classiques Très grande simplicité conceptuelle
Mais des incertitudes sur son avenir Pas d’évolution depuis la version 2.2 de 1998
Possibles problèmes de compatibilité avec les nouvelles versions de Perl
http://www.engelschall.com/sw/eperl/
![Page 24: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/24.jpg)
24
ePerl - Exemple http://www.serveur.org/exemple.phtml?nom=Laurent
<HTML><HEAD> <? use CGI; # module perl CGI.pm $q = new CGI; $nom = $q->param("nom"); !> <TITLE>ePerl qui dit bonjour à <?=$nom!></TITLE></HEAD><BODY><? # Corps du document (commentaire Perl)
print "Bonjour $nom !";!></BODY></HTML>
![Page 25: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/25.jpg)
25
Mod_perl 1.24 Mod_perl associe un interpréteur Perl résident à Apache
Possibilité de paramétrer le comportement d’Apache depuis Perl Comme le ferait un module Apache classique, écrit en C
Emulation du fonctionnement des CGI en Perl (Apache::Registry) Avantages : performances accrues
Pas de création de processus, ni de lancement de l’interpréteur Perl à chaque requête utilisateur
Inconvénients : Complexité d’utilisation la persistance de l’interpréteur interdit les mauvaises habitudes de
programmation normalement autorisées par Perl Variables non déclarées ni initialisées, variables globales, …
Extension des possibilités par rapport aux CGI classiques Partage de variables entres sessions Gestion de sessions au niveau du serveur (Apache::Session) Gestion de caches persistants
Préchargement de modules Perl Cache de code (précompilation de scripts) et de données (variables de
session, résultat d’une requêtre SQL, …)
http://perl.apache.org
![Page 26: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/26.jpg)
26
HTML::Mason 0.89 Approche de développement par composants
Découpage d’une page en « briques » Chaque composant est converti en une fonction Perl
Il peut donc recevoir des paramètres et/ou renvoyer une valeur Plus évolué que la notion d’inclusion de ePerl ou ASP.
Système de génération dynamique étroitement lié à Apache Un bon compromis pour utiliser mod_perl :
Gain de vitesse sensible par rapport au même code CGI De nombreux garde-fous pour ne pas tomber dans les pièges de
mod_perl (programmer « propre ») Gestion de caches pour le code et les données Gestion de versions (production / développement) Prévisualiseur permettant de simuler diverses conditions
d’utilisation (date/heure, navigateur, adresse source, …) Debugger / Profiler pour l’optimisation de code
http://www.masonhq.com/
![Page 27: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/27.jpg)
27
HTML::Mason - Exemple http://www.serveur.org/exemple.html?nom=Laurent
<HTML><HEAD> <TITLE>Mason qui dit bonjour à <%$nom%></TITLE></HEAD><BODY><%perl> # Corps du document (commentaire Perl)
$m->out ("Bonjour $nom !");</%perl></BODY></HTML>
<%args> $nom => ’’</%args>
![Page 28: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/28.jpg)
28
HTML::Embperl 1.3 Une approche qui s’éloigne encore plus que Mason d’un
« embedded Perl » simple tel que ePerl ou ASP. Exemples :
Délimiteurs : [+… +] : blocs à afficher [- … -] : blocs à exécuter, mais à ne pas afficher [$ … $] : méta-commandes Embperl
if/endif, while/endwhile, do/until, foreach/endforeach, … Raccourcis pour générer des tables HTML ($row, $col)
Des possibilités étendues, liées essentiellement à l’utilisation de mod_perl
%fdat, @ffld : paramètres de la requête (formulaire) Gestion de sessions (Apache::Session)
Paramètres sauvegardés par utilisateur (%udate) ou par page (%mdat)
Des performances liées également à l’utilisation de mod_perl
http://perl.apache.org/embperl/
![Page 29: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/29.jpg)
29
HTML::Embperl - Exemple http://www.serveur.org/exemple.html?nom=Laurent
<HTML><HEAD> [- $nom = $fdat{’nom’} -] <TITLE>Embperl qui dit bonjour à [+$nom+]</TITLE></HEAD><BODY> [# Corps du document (commentaire Embperl) #] [+ "Bonjour $nom !" +]</BODY></HTML>
![Page 30: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/30.jpg)
30
ASP - Active Server Pages Un système essentiellement propriétaire…
Version Microsoft des systèmes de type "Embedded xyz" Langages préconisés au départ : VBScript, Jscript (variante de Javascript)
Un système très simple d’utilisation Inclusion de blocs d'instructions de programme dans une page HTML
Possibilité d'utiliser des outils visuels (Dreamweaver 3) Un environnement accessible par le biais d'objets spécialisés
Request, Response, Server, Session, … Interface ISAPI : pas de création de processus pour traiter les requêtes
Meilleurs temps de chargement qu'un CGI a priori Gestion de caches de pages et de variables de sessions
Plate-forme typique : IIS sous Windows NT Intel Un portage commercial sous Unix existe (par Chili!Soft)
… mais pas totalement incompatible avec l'emploi de logiciels libres Point commun : Perl !
Sous Unix/Apache/mod_perl : module Apache::ASP Sous WinNT/IIS : PerlScript (composant de ActivePerl)
http://www.apache-asp.org/
![Page 31: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/31.jpg)
31
ASP - Exemple en Perlscript http://www.serveur.org/exemple.asp?nom=Laurent
<%@ language=perlScript %><HTML><HEAD> <!–- lecture du paramètre (commentaire HTML)--> <% $nom = $Request->querystring("nom")->item; %> <TITLE>ASP qui dit bonjour à <%=$nom%></TITLE></HEAD><BODY><% # Corps du document (commentaire Perl)
$Response->write("Bonjour $nom !");%></BODY></HTML>
![Page 32: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/32.jpg)
32
ColdFusion 4.0 Allaire : http://www.allaire.com Le moteur dynamique le plus utilisé aux Etats-Unis
4% des sites (ASP : 2%) Utilisation de balises supplémentaires : CFML (Cold Fusion Markup
Language) Syntaxe conforme à celle de HTML/XML -> utilisation possible dans des éditeurs
HTML, par exemple Dreamweaver Développement extrêmement rapide quand on se trouve dans les cas
prévus : Interrogation de bases de données SQL (<CFQUERY>) ou LDAP (<CFLDAP>) Applications de messagerie : envoi (<CFMAIL>) et réception (<CFPOP>) de
courrier électronique Interaction avec d’autres serveurs (<CFFTP>, <CFHTTP>)
Dans les autres cas, langage moins expressif qu’un langage de script « classique » comme Perl
Et lisibilité du code moins bonne (conflit entre les indentations HTML et les indentations CFML)
![Page 33: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/33.jpg)
33
ColdFusion - Exemple http://www.serveur.org/exemple.cfm?nom=Laurent
<HTML><HEAD><CFOUTPUT><TITLE>CFML qui dit bonjour à #nom#</TITLE></HEAD><BODY>Bonjour #nom# :</TITLE></CFOUTPUT></BODY></HTML>
![Page 34: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/34.jpg)
34
Roxen Challenger Un serveur Web modulaire et flexible
Interprété (écrit en Pike, langage proche de C) Administrable graphiquement (https://… via SSL) De nombreux modules
Gestion de la sécurité et des droits d'accès. Connections à des bases de données (SQL, LDAP, …). Génération dynamique de graphiques (texte graphique , diagrammes).
Un langage de macros, RXML. RXML est assez similaire à CFML (ColdFusion)
Limitations RXML doit souvent être complété par de l’ « embedded Pike » Les avantages de Roxen par rapport à ses concurrents touchent
surtout à l'accessoire (opinion personnelle). Génération de graphiques, module "Wizard", … CFML est plus aisé à utiliser en règle générale.
http://www.roxen.com/
![Page 35: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/35.jpg)
35
Roxen – Exemple de RXML http://www.serveur.org/exemple.rxml?nom=Laurent
<HTML><FORMOUTPUT><HEAD> <TITLE>RXML qui dit bonjour à #nom#</TITLE></HEAD><BODY>Bonjour #nom# !</BODY></FORMOUTPUT></HTML>
![Page 36: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/36.jpg)
36
Quid d’un « Embedded Python » ?
Il n’y a pas à l’heure actuelle de système à la fois simple et performant pour incclure du Python dans du HTML
Différents systèmes existent pourtant : ASPy, PMZ, ePython, … mais sont essentiellement du domaine expérimental
Voir http://sources.trad.org pour plus d’informations
Il existe par contre un système performant, mais complexe, à base d’objets Python : Zope
![Page 37: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/37.jpg)
37
Zope (Z Object Publishing Environment) Un système de publication d'objets écrit en Python
Tous les fichiers sont remplacés par des objets gérés par une base de donnée objets, ZODB.
Ces objets sont tous manipulables via une interface Web. Possibilité toutefois d'utiliser les outils usuels (éditeurs, …)
Un serveur FTP intégré assure l'import/export des objets vers des fichiers.
Objet = meilleure réutilisabilité des développements. Modèle de sécurité et de délégation puissant
Conçu pour un travail collaboratif entre développeurs, administrateurs, responsables de contenu, …
Un système tout intégré Peut être servi par Apache ou par son propre serveur HTTP,
Zserver. Intègre un SGBDR léger, gadfly (écrit en Python), et un
système d'indexation (Zcatalogs).
http://www.zope.org/
![Page 38: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/38.jpg)
38
Zope – Exemple de DTML http://www.serveur.org:8080/exemple?nom=Laurent
<HTML><dtml-let expr="REQUEST.form['nom']"><HEAD> <TITLE> DTML qui dit bonjour à <dtml-var nom> </TITLE></HEAD>
<BODY>Bonjour <dtml-var nom> !</BODY></dtml-let></HTML>
![Page 39: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/39.jpg)
39
SGBD / Annuaires
GDBM, Berkeley DB, MySQL, PostgreSQL, OpenLDAP
![Page 40: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/40.jpg)
40
Des bases de données pour le Web
Pourquoi ? Assurer le stockage des données associées à un site
dynamique Exemple : catalogue d'articles
Quel type de base de données ? Fichiers texte Fichiers DB / DBM Bases de données relationnelles (SGBDR) Serveurs d'annuaires LDAP
![Page 41: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/41.jpg)
41
Fichiers texte Qu'est-ce que c'est ?
Fichiers texte (ASCII) ordinaires Caractéristiques
Facilité d'édition et de mise à jour (éditeur de texte) Mécanisme d'accès : lecture séquentielle
Certains systèmes permettent d'appliquer des requêtes SQL (relationnelles) aux fichiers texte.
Module DBD::CSV (Perl) Drivers ODBC
Performances modestes Initialisation : nécessité de lire la totalité du fichier en
mémoire. Se limiter à quelques dizaines d'enregistrements. Aucun mécanisme de contrôle d'intégrité référentielle Utilisation de préférence en lecture seule
![Page 42: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/42.jpg)
42
Fichiers DB / xDBM Qu'est-ce que c'est ?
Famille de formats de stockage "clé -> valeur". Un algorithme de hachage permet d'accéder efficacement aux valeurs
à partir des clés. Caractéristiques
Formats standard sous Unix. Correspondance transparente avec le type "tableau associatif"
dans certains langages de script (Perl, Python). Mal adapté pour représenter l’équivalent d’un SGBD relationnel
1 clé + 1 valeur = 2 colonnes … Pas de notion d’intégrité référentielle
Exemples GDBM : implémentation GNU, libre. Berkeley DB (http://www.sleepycat.com) : implémentation très
performante SDBM : la seule implémentation de DBM disponible sous NT.
![Page 43: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/43.jpg)
43
SGBDR - Système de Gestion de Bases de Données Relationnelles Qu'est-ce que c'est ?
Une base de données où les entités modélisées ainsi que leurs associations sont représentées sous forme de tables
Ligne = une instance de l'entité Colonne = un attribut de l'entité
Caractéristiques Modèle sous-jacent : algèbre relationnelle, ensembliste Un langage d'interrogation normalisé : SQL
Ensembliste, non procédural Des mécanismes garantissant la cohérence des données
Contraintes d'intégrité référentielle, transactions, … Exemples
Commerciaux : Oracle, Sybase, SQL Server … Libres : PostgreSQL, MySQL, mSQL, Bureautiques : Access …
![Page 44: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/44.jpg)
44
MySQL 3.23 SGBDR léger et extrêmement répandu
Client/serveur, multi-utilisateurs, multi-thread, SQL Logiciel libre (été 2000), multi plate-forme
Souvent utilisé ou proposé en conjonction avec PHP Exemple : Free (http://www.free.fr)
Rapide et robuste Un modèle de sécurité très riche
Granularité des permissions très fine (utilisateur, machine, table, colonne, …) De très nombreux outils et bibliothèques
API (Perl, C, php, ODBC, Java/JDBC, …) Interfaçable avec Apache, POP3, … Clients graphiques (X11, Win32)
Limitations / lacunes Pas de sous-requêtes, ni de vues
Impossibilité de faire des mises à jour sur plusieurs tables simultanément Pas de transactions (explique en partie la rapidité de MySQL) Pas de procédures stockées
http://www.mysql.com/
![Page 45: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/45.jpg)
45
PostgreSQL 7.0.3
LE challenger de MySQL ? Comble l’essentiel des lacunes de MySQL…
Vues / sous-requêtes, transactions, procédures stockées
Meilleure conformité avec SQL/92 Meilleur comportement en contexte multi-utilisateur
… au prix toutefois de : Performances inférieures dans certains cas Relativement moindre universalité
Interfaçable cependant avec Perl, Python, Java, PHP, Coldfusion, Pike, …
http://www.postgresql/org
![Page 46: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/46.jpg)
46
Serveur d'annuaire LDAP Qu'est-ce que c'est ?
"Lightweight Directory Access Protocol" Version simplifiée du protocole DAP de X.500
Spécification à plusieurs niveaux : structuration (nommage des données, arborescence) protocole d'interrogation en réseau des données Distribution, réplication et sécurité des données Format LDIF (ASCII) : import / export d'informations
Caractéristiques : Adapté au stockage d'un grand nombre d'entrées contenant
chacune une faible quantité d'informations. Optimisation de la lecture par rapport à l'écriture.
Très grande rapidité d’accès en lecture De plus en plus souvent utilisé comme "Lightweight
Database Access Protocol".
![Page 47: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/47.jpg)
47
OpenLDAP 2.0.7 Un (le ?) serveur LDAP v3 libre
Dérivé de UMich LDAP (Université du Michigan), première implémentation libre de LDAP
Support de LDAP v3 depuis la version 2 Caractéristiques
Cohérence et sécurité : schémas LDAP, ACLs Supporte réplication et distribution Stockage des données : DBM (par défaut)
Stockage dans un SGBDR (Oracle, …) possible Et, naturellement, support de tous les outils LDAP standard
Browsers / éditeurs LDAP API : Net::LDAP (Perl), JNDI (Java), fonctions ldap_* (PHP),
<CFLDAP> (Coldfusion), <LDAPOUTPUT> (Roxen), ZopeLDAP (Zope) …
http://www.openldap.org/
![Page 48: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/48.jpg)
48
Boite à outils Perl
Petite sélection de modules utiles
![Page 49: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/49.jpg)
49
Le CPAN (http://www.cpan.org)
Le site où sont regroupés tous les développements ayant trait à Perl (versions, portages, modules, …)
De nombreux miroirs existent dans le monde, par exemple :
ftp://ftp.lip6.fr/pub/perl/cpan La liste et la documentation des modules est
consultable en ligne, notamment sur : http://theoryx5.uwinnipeg.ca/CPAN/by-module
![Page 50: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/50.jpg)
50
Bundle::CPAN
Module de la bibliothèque standard Installation automatisée de modules Perl
Gère les téléchargements (FTP) et les dépendances entre modules
Utilisation : Sur la ligne de commande :
perl –MCPAN –e shell A l’invite qui s’affiche, taper :
install HTML::Parser
![Page 51: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/51.jpg)
51
Bundle::CGI Module de la bibliothèque standard Simplification de l’écriture de programmes CGI
Moins utile avec des sytèmes des type « embedded Perl » Inutile avec mod_perl (ASP, Mason, Embperl) qui propose un
mécanisme plus efficace (Apache::Registry) Exemples :
use CGI;$q = new CGI;
print $q->param; # liste des paramètres présents dans le requête d’appel
print $q->param(‘nom’); # la/les valeur(s) du paramètre ‘nom’ print $q->dump; # dump HTML des paramètres de la requête,
et de leur(s) valeur(s) print $q->hidden(‘nom’); # transmission de la valeur actuelle
du paramètre nom sous forme de champ caché
![Page 52: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/52.jpg)
52
HTML::Parser
Analyse syntaxique de documents HTML HTML::Parser inclut également une collection
de sous-modules plus spécialisés : HTML::Entities : encodage/décodage des entités
HTML HTML::HeadParser : analyse de l’en-tête d’un
document HTML::LinkExtor : extraction des liens d’un document HTML::TokeParser : interface d’utilisation simplifiée
![Page 53: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/53.jpg)
53
HTML::TokeParser
Exemple : extraction de liens <A HREF=…>
use HTML::TokeParser;
$p = HTML::TokeParser->new(shift||"index.html");
while (my $token = $p->get_tag("a")) { my $url = $token->[1]{href} || "-"; my $text = $p->get_trimmed_text("/a"); print "$url\t$text\n";}
![Page 54: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/54.jpg)
54
Bundle::LWP (libwwwperl) Collection des modules gérant les requêtes
HTTP, notamment : LWP::Simple : interface simplifiée LWP::UserAgent : simulation d’un navigateur LWP::Robot : variante du précédent spécialisée pour
l’implémentation de robots HTTP::Request : encapsulation de requêtes HTTP HTTP::Response : encapsulation des réponses HTTP HTTP::Status : traitement des codes de retour HTTP
Une introduction intéressante : http://www.w3j.com/6/s3.wong.html
Attention, le module HTML::Parse est obsolète !
![Page 55: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/55.jpg)
55
LWP::Simple
Exemple : récupération d’un document
use LWP::Simple;get (http://www.admi.net);
![Page 56: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/56.jpg)
56
URI
Module de traitement des URI / URL Décomposition d'un URI, conversion relatif <->
absolu, … Exemple : conversion relatif -> absolu
use URI;
$u1 = URI->new("http://www.perl.com");$u2 = URI->new("foo");$u3 = $u2->abs($u1);
![Page 57: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/57.jpg)
57
WWW::Robot
Le module LWP fournit tous les éléments nécessaires pour construire des robots de parcours du Web
WWW::Robot s'appuie sur LWP pour proposer un tel robot personnalisable
La personnalisation se fait au moyen de fonctions utilisateurs, qui sont reliées (« hooks ») au robot
![Page 58: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/58.jpg)
58
Net::*
Famille de modules implémentant des fonctionnalités réseau
Net::FTP : interaction avec un serveur FTP Net::LDAP : interrogation d’un serveur d’annuaire
LDAP Net::SMTP : envoi d’e-mails …
![Page 59: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/59.jpg)
59
DBI / DBD::*
Module d’accès à des bases de données SQL Le fonctionnement est architecturé en deux
couches : DBI (« Interface ») : fonctions de haut niveau,
indépendantes du SGBD DBD (« Driver ») : bibliothèques d’interfaçage avec
un SGBD donné Oracle, Sybase, MySQL, …
![Page 60: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/60.jpg)
60
DBI/DBD::* : exemple Consultation d’une table via SQL
use DBI;$dbh = DBI->connect( "DBI:mysql:database=scott;host=localhost", "scott", "tiger");$sth = $dbh->prepare("SELECT ename FROM emp");$sth->execute;while (($nom) = $sth->fetchrow_array) { print "$nom\n";}$sth->finish;$dbh->disconnect;
![Page 61: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/61.jpg)
61
GD
Module de génération et de manipulation d'images JPEG ou PNG
GIF n'est plus supporté par les nouvelles versions (problème de licence)
Intérêt : génération d'images / graphiques / … à la volée
Modules apparentés : Famille Graph:: PerlMagick : interface avec ImageMagick
(http://www.imagemagick.org)
![Page 62: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/62.jpg)
62
Text::Template Module permettant d'inclure du code Perl dans des fichiers
modèles (« templates ») L’ancêtre des approches « embedded Perl »
Exemple : use Text::Template;
$nom = "Scherer";$email = "[email protected]";$texte = Text::Template->fill_this_in(<<FIN);Cher Monsieur {$nom},
Vous venez de gagner le droit de passer la journée à Fontainebleau
Les membres du CRIFINopen MAIL, "|mail $email";print MAIL $texte;close MAIL;
![Page 63: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/63.jpg)
63
Digest::MD5
Module réalisant l'encryptage d'une chaîne de caractères en une signature MD5
Exemples d'utilisation : Signer un e-mail Signer un fichier Signer une URL
![Page 64: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/64.jpg)
64
Analyse de trafic
Exemple d'Analog
![Page 65: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/65.jpg)
65
Gestion des fichiers de logs Choix du format de log (access_log)
Format COMMON date, heure, IP du client, requête HTTP, code de retour. On peut créer aussi les fichiers referrer_log et agent_log.
Format COMBINED : le plus riche pour les statistiques Format COMMON, combiné avec "referrer" et "user-agent". C'est le format qui permet d'approcher au plus près la notion
de session, absente de HTTP. Administration :
Découpage périodique des logs 1 Mo de log pour 5000 lignes environ (format COMBINED) Découpage et archivage (.gz) automatisable (logrotate, …)
Exploitation des logs Application d'un outil de statistiques : Analog, Webalizer, …
![Page 66: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/66.jpg)
66
Statistiques de consultation Volume global de consultation
"hit" (requête HTTP) : souvent vide de sens Grandeur directement proportionnelle à la complexité des pages
"pages HTML" : déjà plus parlant Attention : L'appel d'un "frameset" représente 3 ou 4 pages…
"visite" : est encore mieux… Mais plus difficile à appréhender (pas de sessions en HTML)
Détail des consultations Pages les plus consultées : optimisation (images), … Points de blocage : voir error_log, …
Référencement du site Référencements statiques (liens "fixes" depuis un autre site) Référencements dynamiques (liens "générés" par un moteur)
Quels moteurs ? Quels termes de recherche ? Navigateurs et systèmes d'exploitation
Permet de cibler le niveau de HTML à utiliser dans le site
![Page 67: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/67.jpg)
67
Analog 4.13 Outil d'analyse de logs extrêmement flexible
De nombreux types de rapport sélectionnables Rapports chronologique : mois, semaine, jour, heure, … Rapports non-chronologiques
Hôtes, organisations et domaines Référencement
Analyse des requêtes des indexeurs Systèmes d'exploitation
De nombreuses options de personnalisation Format(s) du ou des fichier(s) source(s) Choix de la langue du rapport Choix des grandeurs représentées (requêtes, pages,
octets) "utilisé par 25% des webmasters dans le monde"
http://www.analog.cx
![Page 68: 1 Nouvelles techniques danimation dun site Internet / intranet ENSMP/CRI, 8 décembre 2000 --- Laurent DAVERIO](https://reader036.vdocuments.mx/reader036/viewer/2022081518/551d9d83497959293b8bda2c/html5/thumbnails/68.jpg)
68