WEB-II, Compléments sous la forme de rapport de travaux pratiques. Stève Galeuchet & Florian Seuret. Massimiliano Babino

Dimension: px
Commencer à balayer dès la page:

Download "WEB-II, 2003-2004-06-07 Compléments sous la forme de rapport de travaux pratiques. Stève Galeuchet & Florian Seuret. Massimiliano Babino"

Transcription

1 WEB-II, Compléments sous la forme de rapport de travaux pratiques Protocoles La communication vidéo sur Internet OpenSSL mod_ssl Marie-Laure Kottelat Stève Galeuchet & Florian Seuret Dispositifs autour de l Sendmail Majordomo Procmail Massimiliano Babino Jérôme Schaad Nicolas Leuenberger Programmation Perl objet, introduction Présentation d EasyPhp Réjane Forchelet Sirak Solomon XML SAX (Simple API for XML) avec une illustration tirée du rapport de Projet Fiche : feuille XSL pour publication Olivier Martin Sabrina Antonioli Magali Arnoux Services Comment choisir un bon hébergeur de site Web? CMS (Content/Community management system) Alex Kornmayer Cédric Caudoux url :

2 WEB II WEB II La communication vidéo sur internet La communication vidéo sur internet Vous trouverez, dans ces quelques pages, une présentation sur la visioconférence sur internet. Vous découvrirez son début ainsi qu une explication sur les protocoles et les normes de codage utilisés. UN PEU D HISTOIRE L e concept de téléconférence est apparu au début des années 70. Au début, le support de communication utilisé, était la télévision. Depuis, grâce aux performances des moyens techniques utilisés, la téléconférence a évoluée et actuellement ce terme est devenu générique et désigne : «L ensemble des systèmes de communication permettant un dialogue en temps réel entre 2 personnes ou plus, sans que celles-ci aient à se déplacer en un lieu unique de réunion.» Par la suite, les systèmes de communication se sont diversifiés et ont donné naissance à différents services qui renvoient au concept de téléconférence comme : la téléréunion, l audioconférence, la visioconférence, la vidéoconférence et la communication assistée par ordinateur. Vous trouverez dans la suite de ce document, un approfondissement du sujet de la visioconférence sur internet. DÉFINITION DE LA VISIOCONFÉRENCE SUR INTERNET L a visioconférence est un instrument interactif qui combine les technologies de l audiovisuel, de l informatique et des télécommunications. Cela permet à des personnes situées sur des sites distants de se voir et de dialoguer oralement à distance et en temps réel. En plus de la communication de leurs images animées et de leurs voix, les utilisateurs ont la possibilité de se transférer divers types de documents. Le logiciel CU-Seeme développé en 1994 par l'université de Cornell (Etats-Unis) a popularisé ce type de visioconférence. Petit résumé sur l histoire du développement du logiciel CU-Seeme Le logiciel a été développé au départ sur Macintosh par l'université de Cornell, aux Etats-Unis à partir d'une commande publique de la National Science Fondation (Le CNRS américain). En 1994, ça marche déjà, et la NASA retransmet ses missions spatiales en direct sur son réflecteur. Le but était de créer un outil de vidéo-conférence performant, mais aussi un outil compatible avec les logiciels déjà existants pour système Unix. Après avoir finalisé des versions correctes en noir et blanc et la mise au point du logiciel serveur (le réflecteur, qui permet la réunion de plus de deux Marie-Laure Kottelat page : 1

3 WEB II WEB II La communication vidéo sur internet personnes), l'université Cornell abandonne le projet, ou plutôt cède le droit de le poursuivre à une société, White Pine, issue de l'université elle-même, qui s'empresse de sortir une version commerciale baptisée "Enhanced Cu- Seeme" (Cu-Seeme Amélioré) pour se différencier du logiciel d'origine. Depuis, que s'est-il passé? Des programmeurs de l'université, par les droits qu'ils avaient sur le code luimême, ont décidé de continuer la version gratuite, et nous avons vu apparaître, en 1999, une version Couleur pour Macintosh et aussi pour Windows. Ces versions sont distribuées gratuitement, notamment sur le site Des versions pour Linux et Amiga existent également. Source extraite du site Exemple type d une communication sur internet avec CU-Seeme " Exemple d une visioconférence sans utiliser internet c est-à-dire par l intermédiaire de poste TV Marie-Laure Kottelat page : 2

4 WEB II WEB II La communication vidéo sur internet PARTICULARITÉ TECHNIQUE DE LA VISIOCONFÉRENCE SUR INTERNET P lusieurs tentatives ont été menées de façon indépendante pour diffuser des images et du son sur internet. Le premier impératif est de compresser les données échangées. Nous trouvons deux standards principaux : GSM : utilisé aujourd'hui dans les téléphones portables. RTP : Le rôle principal de RTP consiste à mettre en oeuvre des numéros de séquence de paquets IP pour reconstituer les informations de voix ou vidéo même si le réseau sous-jacent change l'ordre des paquets. De plus, RTP peut être véhiculé par des paquets multicast afin d'acheminer des conversations vers des destinataires multiples. Il est important aussi de prendre en considération les trois modes de transmission: DUPLEX : dans ce mode, le message sonore pourra être émis et reçu à un même instant donné HALFDUPLEX : dans ce mode, le message sonore pourra être émis ou reçu à un instant donné. Différé : lorsque le message est enregistré, il est envoyé au correspondant de façon asynchrone. MATÉRIEL TYPE UTILISÉ POUR RÉALISER UNE VISIOCONFÉRENCE SUR INTERNET Voici une liste générale des principaux éléments permettant de réaliser une visioconférence sur internet. # Une connexion Internet # Une caméra digitale à mettre sur son écran # Une carte vidéo # Un microphone # Une carte son en full Duplex # Un logiciel pour piloter le tout Il suffit ensuite de d appeler le numéro IP du correspondant souhaité et la connexion s établit. Marie-Laure Kottelat page : 3

5 WEB II WEB II La communication vidéo sur internet Architecture d un système de visioconférence sur internet C ette architecture permet la communication point à point entre les postes N 1 et N 3 via un réseau local et le réseau internet. (voir flèche pleine sur le dessin) Si le poste N 2 veut rejoindre la communication cela est possible grâce au protocole IP multicast et par l'intermédiaire d'un serveur réflecteur (voir flèches pointillées sur le dessin) Les différents protocoles utilisés P our que les terminaux puissent communiquer entre eux, en plus des caractéristiques du support physique, ils faut également préciser les protocoles utilisés pour permettre le dialogue et la transmission des données. Matériel de visioconférence Logiciel de visioconférence Niveaux Couches Protocoles utilisés Niveau 3 Application RTP Niveau 2 Transport UDP Niveau 1 Réseau IP, IP multicast Niveau 0 Liaison des LLC données Marie-Laure Kottelat page : 4

6 WEB II WEB II La communication vidéo sur internet " Pour la couche application C est le protocole RTP qui est utilisé car il permet le transport (uni ou multicast) de données à caractère temps réel. Grâce à ce protocole, le contenu des paquets transmis est identifié afin de permettre une transmission sécurité de plus les éventuelles pertes de paquets sont détectées % multicast : Permet d acheminer des paquets vers plusieurs destinataire. " Pour la couche transport C est protocole UDP qui convient le mieux pour la visioconférence car il fonctionne en temps réels contrairement au protocole TCP qui n est donc pas du tout recommandé. " Pour la couche réseau On utilise le protocole IP multicast qui est une combinaison du protocole IP avec le message IGMP (Internet Group Message Protocol). Il permet d'envoyer le même paquet à plusieurs destinataires. Grâce à IP multicast on peut réaliser de la visioconférence avec plusieurs personnes simultanément. " Pour la couche de liaison de données On utilise le protocole LLC qui gère les erreurs, les trames, le contrôle de flux et l'interface de service de la couche réseau Les normes de codage utilisées L a grande variété de constructeurs de matériel pour la visioconférence a poussé les organismes de normalisation à étudier des recommandation dans ce domaine. Actuellement, différentes normes régissent les échanges d'informations en visioconférence ainsi, tous les systèmes qui les respectent sont compatibles entre eux. Elles sont classées en familles selon la technologie réseau utilisée. A l intérieur de chacune de ces familles, on trouvera les caractéristiques des différents composants de la visioconférence : Pour la transmission de la vidéo, les normes de la série H 26x Pour la transmission du son, les normes de la série G 7xx Pour le travail coopératif, les normes de la série T12x Pour le multiplexage, les normes de la série H 22x Pour la signalisation et la gestion des communications, les normes des séries H 23x- H Marie-Laure Kottelat page : 5

7 WEB II WEB II La communication vidéo sur internet LES NORMES DE CODAGE DU SON Voyons la famille G 7xx (gérant la transmission du codage du son) plus en détail. Le son est une partie essentielle dans la visioconférence il se doit donc d être d une bonne qualité. Elle dépend de deux paramètres : 1. La bande passante, c est à dire les fréquences de la liaison 2. Le taux de compression et la qualité des codeurs. En effet, plus le taux est élevé, plus il y a perte d information et donc, moins bonne est la restitution. Voici donc quelques recommandations de l UIT-T mises en œuvres dans les codecs du marché. G 711 G 728 G 722 G Recommandation minimum imposée La voix, de qualité téléphonique est compressée à 16 kbit/s. Cette recommandation convient parfaitement pour la visiophonie et la visioconférence à bas débit (128 kbit/s). Cependant, sa qualité est trop faible pour une diffusion dans une salle de cours ou de conférence. La bande passante prise en considération est de 50 Hz à Hz. La restitution est de bonne qualité. Elle convient parfaitement à la diffusion dans une salle de cours. Spécialement conçue pour la visioconférence sur réseaux locaux, cette recommandation fournit une bande passante de 300 à Hz à un débit de 5,3 ou 6,3 kbit/s. La compression est très intéressante mais la qualité de restitution la cantonne à une utilisation de type visiophonie, impropre à la diffusion de cours ou de colloques. Cette recommandation n est présente actuellement que sur des systèmes compatibles H 323. Remarque : une nouvelle recommandation est en cours de ratification, il s'agit de la G 724 qui procure une qualité comparable à la G 722 (50 Hz à Hz) avec un débit de seulement 16 kbit/s comme pour la G 728. Elle n'est pas encore disponible mais sera certainement un atout commercial pour les premiers Codecs qui l'implémenteront. Marie-Laure Kottelat page : 6

8 WEB II WEB II La communication vidéo sur internet LES NORMES DE CODAGE LA VIDÉO Voyons la famille H 26x (gérant la transmission du codage de la vidéo) plus en détail. Tous les Codecs proposent la compression H 261 avec cependant plusieurs niveaux de qualité. Tout d'abord en matière de définition. Le format standard est le CIF (Common intermediate Format) appelé aussi FCIF (Full CIF) avec 288 lignes de 352 pixels pour la luminance et 144 lignes de 176 pixels pour la chrominance (le standard PAL de télévision prévoit 625 lignes de 864 pixels). Pour diminuer les débits, dans le cadre de la visiophonie, on utilise parfois le QCIF (quart de CIF), 144 lignes de 352 pixels pour la luminance et 72 lignes de 176 pixels pour la chrominance. Certains Codecs, faisant référence à l'annexe D de la recommandation H 261, proposent la transmission d'images fixes dont la résolution est poussée à 576 lignes de 704 pixels pour la luminance et 288 lignes de 352 pixels pour la chrominance. Cette fonction est très intéressante pour la transmission de textes (transparents, écrans de microordinateurs, photos,...) d'autant plus qu'elle s'accompagne souvent d'une possibilité d'affichage sur un écran séparé. La qualité du mouvement est rendue par le nombre d'images transmises par seconde. Le maximum est de 30 mais ce débit n'est pas toujours acquis et se situe souvent à 15. Une nouvelle recommandation, spécialement étudiée pour les réseaux locaux commence à être disponible sur les systèmes H 320 pour RNIS. Il s'agit de H 263. Du point de vue définition d'écran, elle est identique à H 261 mais beaucoup plus efficace au niveau compression. On obtient donc une qualité identique avec un débit plus faible. Conclusion Avant de choisir ce sujet, je connaissais très peu le domaine de la visioconférence. Ce travail m a donc permis d approfondir mes connaissances. La grande quantité d information, générale ou plus spécialisée, que j ai trouvé en parcourant le net, m a dans un premier temps un peu dérouté. Malgré tout, j espère avoir fait ressortir dans ce document tous les points importants concernant la visioconférence sur internet et vous avoir apporté de l intérêt sur ce sujet. Marie-Laure Kottelat page : 7

9 Web 2 mai 2004 Stève Galeuchet & Florian Seuret

10 Web 2 : OpenSSL mod - SSL 1. INTRODUCTION PRÉSENTATION D SSL PRÉSENTATION DU PROJET OPENSSL PRÉSENTATION DU MOD_SSL VS. APACHE-SSL INSTALLATION ET PARAMÉTRAGE DU MOD_SSL POUR APACHE DIRECTIVES PRINCIPALES OPENSSL PAR LA PRATIQUE CERTIFICATS CONCLUSION SOURCES...22 Mai 2004 page 1 sur 22 Stève Galeuchet & Florian Seuret

11 Web 2 : OpenSSL mod - SSL 1. Introduction Par Florian et Stève Ce dossier contient une explication de OpenSSL, de sa configuration au niveau du serveur Apache avec le mod-ssl jusqu à la création de certificats avec les outils. Il est l œuvre de Stève Galeuchet et Florian Seuret. A cet effet, chacun des chapitres relatés dans ce dossier portera la signature de son auteur. La structure du document sera la suivante : Théorie : Présentation d SSL (Florian et Stève) Présentation du projet OpenSSL (Florian et Stève) Présentation du mod_ssl vs. Apache-SSL (Florian) Pratique Installation et paramétrage du mod_ssl pour Apache (Florian) Directives principales de configuration (Florian) Configuration d OpenSSL (Stève) Création de certificats (CA, serveur, client) (Stève) Conclusion (Florian et Stève) Sources (Florian et Stève) Mai 2004 page 2 sur 22 Stève Galeuchet & Florian Seuret

12 Web 2 : OpenSSL mod - SSL 2. Présentation d SSL Par Florian et Stève Pour garantir la sécurité des transactions sur le Web, notamment en ce qui concerne la confidentialité des échanges de données, il fallait disposer d un protocole : SSL (Secure Sockets Layer Protocols), développé par Netscape y répond amplement. Actuellement, bon nombre de navigateurs Web tels Netscape Navigator ou encore Internet Explorer utilisent des fonctions SSL, notamment lors d envois de données se référant à des cartes bancaires. Fonctionnement :! " & # - $ - % ) ' - ( Etapes : 1. Le client envoie une demande au serveur. 2. Le serveur envoie au client son certificat signé. 3. Le client contrôle tant la fiabilité que l authenticité du certificat. 4. Le client communique au serveur quelles méthodes de cryptage et quelles clés il peut utiliser. 5. Le serveur détermine à partir de cette information le mécanisme de cryptage le plus efficace et communique son choix au client. 6. Le client génère à l aide de cet algorithme de cryptage une clé de session utilisable dans le cadre de la session courante. 7. Le client crypte cette clé à l aide de la clé publique du serveur et lui envoie. 8. Le serveur utilise sa clé privée pour décrypter la clé de session et fait part au client de son accord. 9. La communication de données sécurisée peut alors commencer, avec l envoi par le client de la demande cryptée qu il adresse au serveur en utilisant la clé de session. Ainsi, lors de l utilisation de SSL, le client redirige toutes les données vers des routines SSL correspondantes. Ces routines sont chargées de crypter les données et de les réacheminer Mai 2004 page 3 sur 22 Stève Galeuchet & Florian Seuret

13 Web 2 : OpenSSL mod - SSL vers le protocole TCP. Du côté du serveur, les données cryptées sont décryptées par des routines correspondantes après quoi, elles sont redirigées vers le processus du serveur. SSL prend en charge les différents algorithmes de cryptage tels que MD5, DES, RSA, RC4 et IDEA. Le serveur crypte la réponse à une demande en utilisant une clé privée. Le client peut utiliser une clé publique certifiée correspondante pour vérifier si le message n a pas été modifié et s il provient réellement du bon serveur. A l issue de la connexion sécurisée, les deux parties suppriment leur clé de session. Remarque : En raison des lois en vigueur aux Etats-Unis en ce qui concerne les algorithmes de cryptographie, la solution SSL n a pas pu être implémentée en natif dans le serveur Apache. Un module additionnel doit donc être installé. 3. Présentation du projet OpenSSL Par Florian et Stève Le projet OpenSSL est le fruit d une collaboration mondiale visant à intégrer SSL et TLS dans un seul kit de travail. OpenSSL est basé sur la bibliothèque SSLeay développée par Eric A. Young et Tim J. Hudson. Ce projet OpenSSL concerne trois éléments : Apache, OpenSSL et le mod_ssl. Apache est donc le serveur web, OpenSSL va nous permettre de créer des certificats et le mod ssl est le rajout d Apache qui va permettre de gérer le cryptage des données. Mai 2004 page 4 sur 22 Stève Galeuchet & Florian Seuret

14 Web 2 : OpenSSL mod - SSL 4. Présentation du mod_ssl vs. Apache-SSL Par Florian Ces deux éléments sont différents mais ont le même but, offrir à Apache une gestion du cryptage de données. Lors du développement d Apache, le projet c est divisé en 2 parties, l une ou Apache contient déjà SSL de base, c est Apache-SSL (dans Apache version 2). L autre partie a préféré garder SSL séparé pour les personnes qui n en aurait pas besoin et il y a donc un module additionnel que l on peut rajouter, le mod_ssl (dans Apache version 1.3.9). 5. Installation et paramétrage du mod_ssl pour Apache Par Florian Afin de pouvoir bénéficier du cryptage des données, il faut donc installer et configurer le mod_ssl pour Apache qui va se charger du lien entre les certificats et les connexions demandées. Il vous faut télécharger le mod_ssl d Apache Première étape après avoir installé Apache, aller dans le répertoire ou vous avez décompressé /usr/local/mod_ssl et lancer la commande suivante : #./Configure -with-apache=../apache_ Ensuite, il faut aller dans le répertoire /usr/local/apache_1.3.24, puis exécuter les commandes suivantes : # SSL_BASE=../openssl-0.9.6d \./Configure \ _enable-module=ssl \ _pre_x=/usr/local/apache # make # make install Voilà, le mod_ssl est maintenant installé. Il faut maintenant le configurer. Il existe différentes directives de configuration qui vont indiquer au mod_ssl comment il doit travailler ces directives sont à mettre dans le fichier httpd.conf du répertoire conf du serveur Apache (Ceci pour la version 1.3.9). Il existe 3 classes de directives : o Les directives globales (Global Directives) situées dans le contexte global de configuration du serveur, c est à dire hors des balises <Virtual Host> et <Directory>. o Les directives par serveur (Per-Server Directives) situées dans le contexte global ou dans le contexte d un hôte virtuel. o Les directives par répertoire (Per-Directory Directives) qui peuvent être placées n importe où. Mai 2004 page 5 sur 22 Stève Galeuchet & Florian Seuret

15 Web 2 : OpenSSL mod - SSL 5.1. SSLPassPhraseDialog La première directive est la SSLPassPhraseDialog. Elle s emploie dans le contexte configuration serveur. Cette directive spécifie une sorte de phrase mot de passe afin de lire les clés privées qui sont en général cryptées pour des raisons de sécurité. En effet, au démarrage du serveur Apache, le mod_ssl va lire les différents certificats et les clés privées. Il existe 2 façons de faire cela, 2 types que l on spécifie dans le fichier de configuration. SSLPassPhraseDialog type o builtin : c est l option par défaut. Il est automatique et s il ne trouve pas tout seul, le Pass dans les fichiers de certificat, il demande de le rentrer manuellement à l administrateur et l enregistre pour la fois prochaine. o exec : chemin : le second spécifie un chemin d une application qui va se charger de faire le travail de recherche de Pass. Example: SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter 5.2. SSLMutex Cette directive permet de configurer le moteur SSL de sémaphore. Ces sémaphores sont utilisés pour les processus qui doivent être synchronisés. Elle est utilisée dans la configuration serveur. Permet de réguler le travail des processus en attendant qu une partie soit finie pour «envoyer la suite». Lors du dialogue entre un client et un serveur, il y a pleins de processus qui se déclenche (création de clé secrète, vérification de certificats, ). Certains de ces processus doivent attendre que d autres aient fini leur tâche avant de s exécuter. Le Mutex va se charger de coordonner / synchroniser tout cela à l aide de sémaphore. Les sémaphores sont des signaux qui vont aider à réguler le trafic des processus en cours et en attentes. Les options sont les suivantes : o none : c est l option par défaut mais elle n est pas conseiller car le Mutex est utilisé pour la synchronisation de l accès de l écriture à la session cache de SSL. o file : chemin : nous pouvons spécifier un chemin pour le Mutex, c est la solution la plus portative car nous utilisons un fichier physique. o sem : permet d utiliser le Mutex existant de Unix ou Windows Example: SSLMutex file:/usr/local/apache/logs/ssl_mutex 5.3. SSLRandomSeed SSLRandomSeed va nous offrir de configurer les sources d un générateur de numéro pseudo aléatoire qui sera utilisé soit au démarrage soit juste avant une nouvelle connexion SSL, pour générer la clé secrète par exemple. Utilisé dans la configuration serveur. Mai 2004 page 6 sur 22 Stève Galeuchet & Florian Seuret

16 Web 2 : OpenSSL mod - SSL Si nous disons pseudo aléatoire, c est parce que le premier numéro est vraiment aléatoire (basé sur l horloge du système mélangé avec d autres paramètres par exemple). Mais les numéros suivants sont basés sur le premier et c est grâce à un algorithme que nous passons de numéro en numéro une fois le premier créé. Si je vous donne l algorithme et le premier numéro, vous pourrez me donner les suivants. SSLRandomSeed context source : Context correspond soit à startup ou à connect. o builtin : utilise un processus par défaut du serveur qui utilise le moins de ressources CPU. Ce paramètre est déconseillé car il ne génère qu une faible entropie. Ce qui veut dire que le niveau de sécurité n est pas très élevé, il ne faudra pas beaucoup fournir d effort pour trouver la clé. L entropie permet de mesurer le niveau de sécurité, le degré de désordre. Plus il y a du désordre moins ce sera facile de retrouver la clé plus l entropie sera élevée et donc la sécurité. o file:/chemin/fichier : permet de spécifier un fichier qui va contenir une liste de mot qui va s ajouter pour le codage de l information donc pour la génération aléatoire de code. En plus de s identifier par exemple avec son nom et mot de passe, il faudra donner ce mot. Le client possède la liste de mot et le serveur également grâce à ce paramètre. o exec:/chemin/programme : permet de spécifier le nom d un programme qui se chargera de la génération de numéro aléatoire. Exemple : SSLRandomSeed startup builtin SSLRandomSeed connect builtin 5.4. SSLSessionCache SSLSessionCache va nous permettre de faciliter la rapidité des requêtes parallèle au processeur. o None : n est pas la meilleure option car un peu lente o dbm : /chemin/fichier : permet de spécifier un chemin de fichier local sur le disque qui servira à synchroniser la mémoire cache d OpenSSL des processus serveur. o shm:/chemin/fichier : est la meilleure option côté performance à cause d un partage de mémoire, mais pas disponible sur tous les systèmes SSLSessionCacheTimeout Permet de spécifier la durée de vie de la session SSL. Normalement vers 300 secondes et au plus bas vers 15 secondes pour des tests. Utilisable tant au niveau serveur que pour les hôtes virtuels SSLEngine Va permettre d activer ou non le moteur SSL pour les hôtes virtuels (<virtualhost>) d Apache. Par défaut, cette option est désactiver pour tous les hôtes virtuels et pour le serveur principal. Cette option est à mettre à l intérieur de la configuration du serveur ou d un hôte virtuel. Mai 2004 page 7 sur 22 Stève Galeuchet & Florian Seuret

17 Web 2 : OpenSSL mod - SSL 5.7. SSLProtocol Cette directive va nous permettre de spécifier quel protocole le mod_ssl devra utiliser dans son environnement. Nous pouvons choisir entre les versions : o sslv2 o sslv3 o tlsv1 o All : la valeur par défaut et qui permettra aux clients de se relier via le protocole qu ils veulent. Les paramètres ne sont pas sensibles à la casse. Il y a la possibilité de faire un mixe des paramètres, de faire des combinaisons: SSLProtocol all -SSLv2 Ce qui veut dire qu il y aura tous les protocoles hormis sslv SSLCipherSuite La directive SSLCipherSuite décrira les spécifications de chiffrement de SSL. Elles se composent de 4 attributs principaux plus quelques attributs supplémentaires mineurs. Cette directive est utilisable pour le serveur, les hôtes virtuels, les répertoires et les.htaccess. Les 4 attributs principaux correspondent à : o Algorithme d'échange de clef : RSA ou Diffie-Hellman ; o Algorithme d'authentification : RSA, Diffie-Hellman, DSS ou aucun ; o Algorithme de chiffrement et déchiffrement : DES, Triple-DES, RC4, RC2, IDEA ou aucun ; o Condensé par fonction de hachage (MAC) : MD5, SHA ou SHA1. Par défaut, les paramètres sont les suivant : SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP D autres exemples et spécification sont disponible sur la documentation officielle ( SSLCertificateFile Va indiquer le chemin du fichier de certificat pour le serveur, un fichier server.crt SSLCertificateKeyFile Indique le chemin du fichier de la clé privée pour le serveur. Fichier server.key Si l option SSLCertificateFile est mentionnée et que le fichier de la clé privée se trouve à la même place, cette option est optionnelle. Mais il est conseillé de séparer ces fichiers. Mai 2004 page 8 sur 22 Stève Galeuchet & Florian Seuret

18 Web 2 : OpenSSL mod - SSL SSLCertificateChainFile SSLCertificateChainFile permet de spécifier un fichier qui contiendra l ensemble des certificats des Autorités de Certifications (CA) et qui va former une chaîne de certificat. Cet ensemble peut être utilisé pour être envoyé au navigateur en plus du certificat de serveur. Le fichier se nomme ca.crt. Il faut faire attention au fait qu il peut y avoir conflit avec le paramètre SSLCACertificatePath SSLCACertificatePath / SSLCACertificateFile Lorsque le serveur HTTPS requiert le certificat de l'utilisateur, il vérifie que l'émetteur de ce certificat fait partie d'une liste d'autorités de certifications acceptables. Il y a deux directives qui indiquent à mod_ssl comment constituer cette liste. La directive SSLCACertificateFile indique le chemin d'accès vers un fichier contenant, l'un à la suite de l'autre, tous les certificats acceptables. La distribution de mod_ssl pour Apache 1.3 fournit un tel fichier, appelé ca-bundle.crt, qui correspond à peu de choses près à la liste des autorités de certification pré-configurées dans les navigateurs comme Internet Explorer, Mozilla, Netscape, etc. La distribution de mod_ssl pour Apache 2.0 ne prévoit pas de tel fichier. Il serait possible de rajouter nos autorités de certification dans cette liste. Mais toute mise à jour ultérieure de mod_ssl risque d'entraîner la perte de ces informations car un nouveau fichier cabundle.crt sera généré. Pour cette raison, on utilisera plutôt la directive SSLCACertificatePath qui indique le chemin d'un répertoire contenant, à raison d'un certificat par fichier, les certificats des autorités de certification du CNRS et de vos partenaires. Si on dispose d'un fichier ca-bundle.crt on peut très bien utiliser ces deux directives en parallèle, comme indiqué ci-dessous : SSLCACertificatePath /etc/httpd/conf/ssl.crt SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt Sinon, on n'utilise que la directive SSLCACertificatePath, comme indiqué ci-dessous qui inclura tous les fichiers se trouvant dans le répertoire ssl.crt : SSLCACertificatePath /etc/httpd/conf/ssl.crt SSLCARevocationFile / SSLCARevocationPath Chaque autorité de certification publie à intervalles réguliers une liste de révocation (certificate revocation list, CRL) contenant les numéros de série des certificats révoqués. Il s'agit de ceux qui ont été déclarés invalides avant leur date d'expiration, soit parce que leur titulaire a quitté ses fonctions dans le laboratoire, soit parce que la clé privée correspondante a été déclarée perdue ou volée. Pour votre serveur HTTPS, il est recommandé de mettre à jour ces listes afin d'empêcher quiconque d'utiliser un certificat révoqué. Dans Apache, les listes de révocation sont stockées dans le répertoire indiqué par les directives SSLCARevocationPath et SSLCARevocationFile. Ces directives fonctionnent comme celles qui concernent les autorités de certification. La directive SSLCARevocationFile désigne un fichier contenant toutes les listes de révocation des autorités de certifications installées sur ce site. En pratique, à chaque modification de l'une Mai 2004 page 9 sur 22 Stève Galeuchet & Florian Seuret

19 Web 2 : OpenSSL mod - SSL de ces listes de révocation, il faut reconstituer ce fichier et recharger Apache. Cette opération n'étant pas très dynamique, on préfèrera la seconde directive, SSLCARevocationPath. La directive SSLCARevocationPath désigne un répertoire contenant un ensemble de fichiers, chacun d'eux correspondant à une liste de révocation. Ces fichiers sont indexés via le Makefile.crl contenu dans ce répertoire. Cette directive s'utilise comme suit : SSLCARevocationPath /etc/httpd/conf/ssl.crl SSLVerifyClient Va paramétrer le niveau de vérification de l authentification des clients. Il existe plusieurs niveaux dont 2 intéressants : o None : aucun certificat n est requis o require : le client doit présenter un certificat valide SSLVerifyDepth Permet de spécifier la «profondeur» de contrôle à effectuer avant que le mod_ssl ne décide de la validité ou non du certificat d un client. C est en fait le nombre d intermédiaire vers qui on va vérifier et accepter une validation du certificat. SSLVerifyDepth 0 signifie que seul les certificats clients «auto-signé» sont accepté comme valide. Une valeur de 1 veut dire que le certificat peut être auto-signé par le client ou qu il doit être reconnu comme valide par une autorité de certification (CA) connu du serveur (paramétré par la directive SSLCACertificatePath) SSLLog Spécifie le chemin du fichier de log du mod_ssl. Les erreurs sont également inscrites dans le fichier d erreur d Apache. Il faut mettre ce fichier dans un lieu sûr afin d éviter toute modification lors d une attaque SSLLogLevel Permet de spécifier quel type d erreur nous souhaitons avoir dans notre fichier de log. Les niveaux les plus haut incluent les messages de bas niveaux. o none : aucune notation spécifique de SSL n'est faite, mais les messages du type "error" sont écrits dans le fichier journal général d'erreur d'apache. o error : seuls les messages de type "error", i.e. les messages qui montrent des situations fatales (processus arrêté) sont affichés. Ces messages sont également reproduits au fichier journal général d'erreur d'apache. o warn : les messages d'avertissement sont également affichés, i.e. les messages qui montrent des problèmes non fatals (le traitement continue). o info : les messages d'informations sont affichés en plus des précédents, i.e. ceux qui montrent les étapes de transformation principales. Mai 2004 page 10 sur 22 Stève Galeuchet & Florian Seuret

20 Web 2 : OpenSSL mod - SSL o trace : affichés en plus les messages de traces, i.e. les messages qui montrent les étapes de transformation mineures. o debug : les messages de debuggage sont également affichés, i.e. les messages qui montrent le développement et l'information I/O de bas niveau SSLOptions Contient beaucoup de paramètres qui vont activer des variables d environnement qui pourront être utilisé dans des scripts SSLRequireSSL Cette directive ne possède pas de paramètre. Elle peut être placée pour des répertoires ou dans des fichiers.htaccess. Le fait que cette directive soit mentionnée indique que toutes les requêtes qui sont faites dans le répertoire en question doivent passer par SSL. Une requête passant par HTTP ne sera pas acceptée SSLRequire Cette directive est très puissante car elle permet de spécifier une expression booléenne (en format BNF) qui devra être résolu comme vrai pour que l accès soit autorisé. Nous pouvons aller tester les variables d environnement d Apache ou de SSL afin de faire «tous» les tests que nous voulons. Plus de détail dans la documentation officielle. 6. Directives principales Parmi la liste de ces directives, il y en a certaines qui sont plus importantes. Voici un exemple des lignes que j ai pu retrouver dans plusieurs paramétrages : SSLEngine On SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key SSLCACertificatePath /usr/local/apache/conf/ssl.crt/ SSLCARevocationPath /usr/local/apache/conf/ssl.crl/ SSLVerifyClient require SSLMutex sem SSLRandomSeed startup builtin SSLRandomSeed connect builtin Par Florian Remarque : les chemins et nom de fichier peuvent être changé et adaptés selon votre configuration. Mai 2004 page 11 sur 22 Stève Galeuchet & Florian Seuret

21 Web 2 : OpenSSL mod - SSL 6.1. Apache-SSL Voici un exemple des lignes que j ai pu trouver dans le paramétrage par défaut d Apache version 2 donc pas de mod-ssl mais un Apache-SSL directement inclus et préconfiguré sur un système Suse 9.0. La liste des paramètres et des fichiers paramétrés ci-dessous n est pas exhaustive. Le fichier de configuration se trouve dans /etc/apache2/ et se nomme : ssl-global.conf. Voici les directives présentes : SSLPassPhraseDialog builtin SSLSessionCache shmcb:/var/lib/apache2 SSLSessionTimeout 600 SSLMutex sem SSLRandomSeed startup builtin SSLRandomSeed connect builtin Il y a également certaines directives pour configurer les hôtes virtuels. Dans le fichier vhostssl.template dans le répertoire /etc/apache2/vhosts.d/, nous trouvons les directives suivantes : SSLEngine On SSLCipher ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/apache2/ssl.crt/server.crt SSLCertificateKeyFile /etc/apache2/ssl.key/server.key 7. OpenSSL par la pratique Par Stève Dans le présent document, je vais tâcher de montrer comment est-ce qu on peut créer simplement un certificat ainsi qu une autorité de certification. Pour ce faire, j ai pris quelques captures d écrans sous SuSE Linux, lors des différentes étapes. Disposant d une machine Linux pour mon travail de semestre, j en ai profité pour tester la documentation récoltée sur Internet. Pour réaliser les certificats, j ai utilisé OpenSSL. OpenSSL permet donc de gérer des certificats et d implémenter notamment SSL dans un serveur Certificat de certification Avec OpenSSL, il est possible de mettre en place une autorité de certification qui gérera un ensemble de certificats et de listes de révocations. Une autorité de certification (CA) émet des certificats signés par un certificat racine pour en assurer l authenticité. Dès lors, si nous faisons confiance au certificat du CA, nous pouvons faire confiance au certificat qu il a émis. Mai 2004 page 12 sur 22 Stève Galeuchet & Florian Seuret

22 Web 2 : OpenSSL mod - SSL Une autre alternative est d utiliser des certificats autosignés. Ces certificats autosignés sont néanmoins mal appréciés des navigateurs Mozilla ou Internet Explorer, car on doit leur faire une confiance aveugle. De plus, chaque consultation de page protégée par ce type de certificat nécessite une validation par les navigateurs Installation d OpenSSL Apache 2.0 intègre en natif OpenSSL. Sous la distribution SuSE Linux 9.0, l utilitaire OpenSSL se situe sous /usr/bin/ (utilitaire openssl) ; la documentation «paquetages» se situant elle sous /usr/share/doc/packages/openssl Les répertoires des certificats qu utilisent OpenSSL se trouvent sous /etc/ssl/ et la structure de ce répertoire-ci se présente sous la forme suivante : Répertoire certs (ce répertoire contient déjà un ensemble de certificats à l extension.pem) o.pem Exemples: nortelca.pem, rsa-cca.pem, thawtecb.pem, vsign1.pem (de chez Verisign) openssl.cnf (fichier de configuration d OpenSSL) Répertoire private Pour configurer OpenSSL, il convient d éditer le fichier openssl.cnf. Celui-ci contient notamment : Mai 2004 page 13 sur 22 Stève Galeuchet & Florian Seuret

23 Web 2 : OpenSSL mod - SSL dir=./répertoire chemin à partir duquel tout est stocké (répertoire racine) Les autres répertoires découlent de celui-ci (dir), à savoir : certs=$dir/certs chemin des certificats signés crl_dir =$dir/crl chemin des certificats révoqués (Certificat Revocation List) database = $dir/index.txt fichier «base de données» des certificats new_certs_dir = $dir/newcerts repertoire où seront situés les nouveaux certificats certificate = $dir/cacert.pem certificat de l autorité de certification serial = $dir/serial «compteur» du nombre série pour les certificats crl = $dir/crl.pem CRL (Certificate Revocation List) actuelle private_key = $dir/private/cakey.pem clé privée RANDFILE = $dir/private/.rand fichier contenant des nombres aléatoires pour générer les clés Tous les répertoires cités ci-dessus (le répertoire racine + certs, crl, newcerts, private) doivent être ensuite crées. Dans le cadre de mon travail pratique, j ai défini pour mon répertoire racine, à savoir dir dans le fichier de configuration openssl.cnf, le chemin /certif/ca. Toutes les créations de répertoires peuvent être réalisées à l aide de la commande système mkdir nom_du_répertoire. Le répertoire $dir/private contient des données super confidentielles du certificat d authentification, à savoir sa clé privée et le fichier qui contient les nombres aléatoires utilisés pour générer des clés (.rand). Ce répertoire ne doit être visible que par root. Pour cela, faire un chmod 700 private. Les fichiers serial et index.txt doivent être eux créés de ces manières-ci dans le répertoire /certif/ca/ : touch index.txt et echo 01>serial Le fichier serial contiendra donc comme première valeur de compteur 01. Les autres certificats étant incrémentés ensuite. Voici donc ensuite l arborescence du répertoire /certif/ca o certs/ o crl/ o index.txt o newcerts/ o private/ Mai 2004 page 14 sur 22 Stève Galeuchet & Florian Seuret

24 Web 2 : OpenSSL mod - SSL 8. Certificats Par Stève Dans la suite de ce document des certificats de certification, de serveur seront réalisés. Je parlerai également des certificats clients ainsi que de la révocation desdits certificats Création du certificat autosigné Si nous ne pouvons pas obtenir un certificat d une autorité de certification supérieure pour l utiliser comme autorité de certification, il convient de réaliser soi-même un certificat autosigné. C est donc ce que nous allons faire ci-dessous. Taper la commande suivante à partir du répertoire /certif/ca/ : openssl req config /etc/ssl/openssl.cnf new x509 keyout private/cakey.pem out cacert.pem days 365 Cette commande openssl va générer une paire de clé privée / publique pour le serveur. Durant la création de cette paire, la commande demande une phrase de codage (PEM phrase) afin de protéger le certificat. Cette phrase doit être insérée à 2 reprises, pour confirmation. Attention : cette phrase ou combinaison de mots doit être retenue car par la suite, nous l utiliserons à nouveau pour signer les certificats du serveur Web ainsi que pour les utilisateurs. A conserver précieusement donc! Mai 2004 page 15 sur 22 Stève Galeuchet & Florian Seuret

25 Web 2 : OpenSSL mod - SSL Après la saisie de la PEM phrase, il convient de rentrer diverses informations telles que le code de pays, la localité, le nom de société ou encore l adresse mail. Si nous ne jugeons pas utile de rentrer certaines informations, il suffit de taper un point. pour laisser la valeur «vide». Dans le répertoire certif/ca/private, le fichier cakey.pem a été créé tandis que dans le répertoire certif/ca, c est cacert.pem qui a été créé. Pour afficher le contenu du certificat nouvellement créé, il suffit de taper : openssl x509 in cacert.pem noout text Quant à la clé, elle sera visible par : openssl rsa in /etc/ssl/certif/private/cakey.pem noout text A noter qu il faudra rentrer la PEM saisie lors de la création du certificat. Mai 2004 page 16 sur 22 Stève Galeuchet & Florian Seuret

26 Web 2 : OpenSSL mod - SSL Tel quel, ce certificat est utilisable sous Netscape Communicator. Pour le rendre compatible sous Internet Explorer, il faut le convertir en format DER : openssl x509 in cacert.pem out cacert.der outform DER Nous placerons ensuite ces 2 fichiers dans un répertoire partagé du serveur Web pour permettre aux futurs clients de l utiliser. Le certificat de la CA doit être installé sur les navigateurs pour que celui-ci puisse être utilisé par ces derniers. Une fois installé, le navigateur acceptera n importe quel certificat signé par cette autorité (la nôtre en fait). Pour l installer, nous pouvons le charger à l aide d un HTTP Content-Type application/x-x509- ca-cert. Pour ce faire, il existe une manière qui ne dépend pas du serveur ; cela peut se faire à l aide d un script cgi ou alors, nous pouvons également sauver le certificat dans un fichier ayant «cacert» comme suffixe. Il suffit ensuite de définir ce suffixe dans le fichier de configuration du serveur. Cela correspond au type MIME application/x-x509-ca-cert. Pour un serveur Apache, il suffit d ajouter la ligne AddType application/x-x509-ca-cert cacert au fichier httpd.conf. Avec ceci, les fichiers de certificats et les clés doivent rester disponibles pour OpenSSL, pour que le serveur soit capable d utiliser la clé publique et que la CA puisse utiliser la clé privée Création du certificat pour le serveur 4 étapes sont nécessaires, lorsque nous créons un certificat pour un serveur Web. 1. Créer une clé privée pour le serveur Note : ici, il convient de supprimer le codage de la clé dans le certificat, sans quoi Apache souhaitera qu on rentre la phrase de codage du certificat à chaque fois que le serveur redémarre 2. Générer une requête de certificat (CSR -> Certificate Signing Request) contenant les éléments d identification du serveur Mai 2004 page 17 sur 22 Stève Galeuchet & Florian Seuret

27 Web 2 : OpenSSL mod - SSL 3. Signer la requête par l autorité de certification (celle crée précédemment) 4. Installer le certificat dans l environnement du serveur Dans le répertoire /certif/ca/private/, faire : openssl genrsa des3 out tmp.key 1024 Cette commande génère une paire de clé publique / privée à l aide d une phrase de codage (qui doit être confirmée, tout comme pour l autorité de certification) Après quoi, il faut faire : openssl rsa in tmp.key out serverkey.pem Cette commande openssl demande de rentrer la phrase de codage rentrée à l étape précédente et génère ensuite un nouveau certificat nommé serverkey.pem dont la clé publique n est plus chiffrée. Ensuite, il convient de : - modifier le fichier serverkey.pem nouvellement crée, en ne lui assignant qu un droit de lecture pour l administrateur (chmod 400 serverkey.pem) - finalement, supprimer le fichier temporaire tmp.key (rm f tmp.key) Pour fabriquer la requête de certificat pour le serveur Web, qui contiendra les mêmes informations que pour l autorité de certification (pays, canton, ville, etc.), il faut réaliser un : openssl req config /etc/ssl/openssl.cnf new key serverkey.pem -out newreq.pem days 364 Cependant, lors de la saisie de ces informations, il faut veiller à rentrer pour Common Name Your Name, le nom DNS du serveur (par exemple, sans quoi cela bugguera par la suite! Mai 2004 page 18 sur 22 Stève Galeuchet & Florian Seuret

28 Web 2 : OpenSSL mod - SSL Par ceci, une demande de certificat est faite. Il convient ensuite de l envoyer à l autorité de certification préalablement crée pour la signature. Cette demande, requête, signée constitue ensuite le certificat. Note : lors de la création de la requête de certificat pour le serveur, nous pouvons remarquer que sa date d expiration est inférieure à celle du certificat de l autorité de certification. Cela provient du fait que les anciennes versions d Internet Explorer rejetaient les certificats valides plus longtemps que l autorité qui les a signés (ici notre CA crée en tout premier). Pour signer le certificat, il faut rentrer la commande suivante (dans le répertoire certif/ca/certs/): openssl ca config /etc/ssl/openssl.cnf out servercert.pem infiles../private/newreq.pem Note : nous pouvons voir cette fois-ci l utilisation de l option ca pour la signature du certificat. Pour valider la signature, il faudra indiquer la PEM phrase de l autorité de certification, créé en tout premier. Le fichier newreq.pem peut être ensuite supprimé : rm f../private/newreq.pem Maintenant qu un nouveau certificat a été créé, il est visible sous /certif/ca/newcerts. Ce fichier se nomme $serial.pem ; $serial correspondant ici au nombre contenu dans le fichier serial. Donc, pour résumer, la clé publique du CA (cacert.pem) et la clé privée sont situées sous /certif/ca/. La clé du serveur est, quant à elle, présente dans le répertoire private de /certif/ca/. Pour que le certificat et la clé serveur soient utilisés sous Apache, il convient de modifier les lignes suivantes du fichier httpd.conf : SSLCertificateFile /certif/ca/certs/servercert.pem SSLCertificateKeyFile /certif/ca/certs /serverkey.pem 8.3. Créer et installer un certificat client Un certificat client est utilisé pour authentifier un client à un serveur. Mai 2004 page 19 sur 22 Stève Galeuchet & Florian Seuret

29 Web 2 : OpenSSL mod - SSL Néanmoins, l utilisation de certificat client n est requis que si le serveur est configuré pour cela. Créer, installer des certificats clients est bien plus difficile que de créer des certificats serveurs car les clients doivent générer une paire de clé, garder leur clé privé chez eux et ensuite envoyer la clé publique à l autorité de certification pour être incorporée dans une requête de certificat. Une fois qu un certificat signé a été crée par la CA, le certificat client doit être installé sur le client de telle sorte que le client puisse le présenter lorsque cela est requis. Différents clients comme Netscape Navigator ou encore Internet Explorer supportent plusieurs mécanismes pour créer des certificats clients. Néanmoins, la procédure générale est à la même et est constituée des étapes suivantes : 1. L utilisateur effectue une requête sur une page HTML qui affiche un formulaire sur son poste. 2. L utilisateur rentre les informations d identification. 3. Lorsque le formulaire est soumis, voici ce qui est effectué: - Le navigateur génère une paire de clé (publique et privée). - La clé privée est enregistrée dans le navigateur - La clé publique est envoyée avec les informations d identification au serveur - Le script CGI du serveur crée un certificat et le charge dans le client Le formulaire HTML inclut des champs pour les différents attributs qui sont utilises pour le certificat client. Il contient également des informations que le navigateur utilisera pour générer la paire de clés ainsi qu un champ caché retourné ensuite au script CGI. Tant l information cachée que le script traitant le formulaire sont dépendants du navigateur Révocation d un certificat Jusqu à présent, nous avons parlé de la création d un certificat, mais quand est-il de sa révocation? Nous allons dans les lignes qui suivent voir comment rendre «inactif» un certificat, ceci voulant simplement dire l insérer dans la liste de révocations (liste de certificats non-valides). Ceci se fait simplement à l aide de l option revoke d openssl. Pour le certificat serveur que l on a crée précédemment, voici la commande à taper (depuis /certif/ca/) : openssl ca config /etc/ssl/openssl.cnf -revoke certs/servercert.pem crl_reason superseded Après avoir fait cela, le fichier index.txt de certif/ca/ est mis à jour. Cela a été réalisé à cause de l option superseded rentrée précédemment. Une fois le certificat révoqué, il faut publier la révocation dans la CRL : openssl ca config /etc/ssl/openssl.cnf gencrl crldays 30 out crl/crl.pem Pour visualiser la CRL, il suffit ensuite de faire : Mai 2004 page 20 sur 22 Stève Galeuchet & Florian Seuret

30 Web 2 : OpenSSL mod - SSL openssl crl in crl/crl.pem text noout Mai 2004 page 21 sur 22 Stève Galeuchet & Florian Seuret

31 Web 2 : OpenSSL mod - SSL 9. Conclusion Nous avons donc traité de la configuration de OpenSSL, outil permettant la création de certificats, et la configuration des directives du mod-ssl afin de pouvoir sécuriser notre serveur web Apache. Ce fut très intéressant et très «technique». La compréhension du système n était pas aisée, la configuration était expliquée de manière très pointue. Ce qui est compréhensible vu que cette configuration doit nous permettre de sécuriser nos transactions avec notre serveur. Florian Tout comme l a justement souligné Florian, il est vrai que ce fut très technique. De mon côté, je regrette seulement de n avoir pas réussi à signer mes certificats. Néanmoins, la découverte de ces fameux «certificats» et de leur utilisation fut enrichissante, tout comme leur «simple» création. A continuer donc! Stève 10. Sources mod_ssl OpenSSL et certificats Mai 2004 page 22 sur 22 Stève Galeuchet & Florian Seuret

32 SENDMAIL 1.Introduction L objectif de ce document est de présenter brièvement sendmail, de décrire sa structure et d expliquer ses fonctionnalités. Les explications sont données en traitent la structure du système de messagerie et en décrivant une démarche d installation et de configuration à travers un petit cas concret. 2.SendMail Sendmail fait partie, comme Apache ou Bind, des quelques logiciels Open Source sur lesquels s'est construite l'infrastructure Internet. Il est aujourd'hui utilisé comme serveur de messagerie par plus de la moitié des entreprises et des opérateurs Internet dans le monde. Réputé pour sa fiabilité, sa capacité à monter en charge et ses possibilités de paramétrage très étendues. La tâche principale de Sendmail est de transmettre de façon sûre le courrier d'un hôte à l'autre. Cela dit, Sendmail offre de grandes capacités de configuration et permet ainsi de contrôler presque tous les aspects de la manipulation de courrier. En plus de sa configuration très complexe, on a reproché à Sendmail ses problèmes de sécurité. En effet, sendmail possède un lourd passé de vulnérabilités. Cependant, que ce soit d un point de vue de sécurité, de performance ou d extensibilité, les dernières versions ont beaucoup évoluées. Aucun logiciel n'a été autant attaqué, relu, corrigé et "durci". SendMail est installé par défaut dans la plupart des systèmes d exploitation Unix/Linux. Pour des situations simples, la configuration par défaut fonctionne bien avec de légères modifications. Un bon nombre d administrateurs de systèmes ont beaucoup travaillé avec Sendmail et ont développé des bonnes pratiques de configuration et d administration. Sendmail reste le serveur de courrier le plus connu et le plus utilisé, mais avec le temps et avec l émergence d une grande gamme de serveurs de courrier il a perdu une bonne part du marché. Si avant 1990 Sendmail était presque omniprésent, actuellement il ne représente plus qu'environ 50 % des serveurs de courrier. Descendant du logiciel ARPANET delivermail, la première version de Sendmail a été écrite par Eric Allman (Université de Berkeley) au début des années Babino Massimiliano Esnig igpt02 Web2 1/

33 SendMail 3.Structure du système de messagerie Pour mieux comprendre le fonctionnement de sendmail, il est nécessaire de connaître la structure du système de messagerie (norme X-400). Il y a trois types d'intervenant dans la manipulation du courrier électronique:! Le MUA (Mail User Agent) : Kmail, Outlook, "sendmail"..! Le MTA (Mail Transport Agent) : postfix, sendmail, Microsoft Exchange..! Le MDA (Mail Delivery Agent) : sendmail, procmail.. Le MUA est l'interface utilisateur, ses tâches principales sont la consultation du contenu de la boîte aux lettres, la composition des messages et l envoie de ces derniers au centre de tri le plus plus proche, le MTA. Le MTA agit comme le système de distribution de courrier papier de la poste. Il joue le rôle de centre de tri, de logistique d'acheminement et de centre de distribution. Comme dans le cas de la Poste, il est relayable. Chaque MTA transmet le courrier au MTA dont il pense qu'il va gérer le reste de l'acheminement du message. Chaque MTA qui a acheminé le courrier laisse normalement une trace dans champ Received du message. Une fois que le courrier est arrivé au MTA de la machine qui gère la boîte aux lettres (le bureau de poste local), ce dernier le donne à un MDA (le facteur) qui va le poser physiquement dans la boîte aux lettres. En fin, le MUA du destinataire s occupe de retirer le courrier dans sa boîte aux lettres. smtp.providerexp.ch MTA MDA smtp.provider2.ch MTA smtp.providern.xx Protocoles smtp Pop3/Imap4 MUA MDA MTA expéditeur MDA smtp.providerdest.com MTA pop.providerdest.com MDA MUA destinataire Norme X-400 2/5

34 SendMail Le protocole SMTP (Simple Mail Transfer Protocol, traduit par Protocole Simple de Transfert de Courrier) est le protocole standard permettant de transférer le courrier d'un serveur à un autre de MTA à MTA. Il s'agit d'un protocole fonctionnant en mode connecté, encapsulé dans une trame TCP/IP. Le protocole SMTP fonctionne grâce à des commandes textuelles envoyées au serveur SMTP (par défaut sur le port 25). Chacune des commandes envoyées par le client est suivie d'une réponse du serveur SMTP composée d'un numéro et d'un message descriptif. Le protocole POP (Post Office Protocol que l'on peut traduire par Protocole de bureau de poste) permet comme son nom l'indique d'aller récupérer son courrier sur le serveur distant (le serveur POP). Il est nécessaire pour les personnes n'étant pas connectées en permanence à Internet afin de pouvoir consulter les mails reçus hors connexion. La terminologie X400 utilise le terme agent de transfert de messages (MTA) pour une notion qui regroupe les agents de routage et de transport. 4.Structure de sendmail Le monde de la messagerie sendmail rend assez difficile une perception nette de chacun de ces composants. En particulier, une confusion peut naître à cause des deux points suivants : Le programme sendmail lui-même est un agent de routage (MTA) plus un agent de transport (MDA) spécialisé pour le protocole SMTP. Si cette concentration dans un seul programme n'est pas intellectuellement satisfaisante, elle est dictée par un souci d'efficacité. Le programme /bin/mail est utilisé à la fois comme MUA (on peut l'utiliser, bien qu'il soit très frustrent) et comme agent de transport de messages (puisque c'est lui qui réalise la remise physique). Ce rôle dual est une erreur de conception, et les nouvelles versions de sendmail fournissent un programme distinct pour la remise physique (/usr/libexec/mail.local sur les systèmes Berkeley 4.4). Certains sites utilisent également le programme procmail. On peut donc affirmer, que SendMail joue le rôle de MTA et de MDA. Donc d agent de routage et d agent de transport. En bref, SendMail s occupe de l acheminement du courrier de l expéditeur au destinataire. 3/5

35 SendMail 5.Installation SendMail est un gros exécutable (/usr/sbin/sendmail), cependant sa compilation et son installation sont relativement simples. 5.1 Récupération des sources Les sources sont disponibles sur le site FTP de Sendmail (ftp://ftp.sendmail.org). Ils se trouvent dans le répertoire /pub/sendmail. Ce répertoire contient toutes les archives de Sendmail. Une fois récupérée la dernière version il faut la décompresser. 5.2 Compilation Avant de lancer la compilation il faut se placer dans le répertoire de Sendmail : # cd sendmail / La compilation s effectue avec l instruction sh Build : # sh Build 5.3 Installation L installation Sendmail ce fait au moyen de l instruction sh Build install : # sh Build install 6.Configuration Sendmail est assez difficile à prendre en main. Son fichier de configuration, par exemple, est d un ésotérisme sans égal au première approche. Ce fichier de configuration (/etc/sendmail.cf) permet de tout paramétrer. Le fichier sendmail.cf fait peur. Et à juste titre. Aujourd hui, on ne l utilise presque plus. 99,9% des gens n'écrivent plus ce fichier directement. On préfère passer par m4 et les fichiers config.mc, qui facilitent grandement la tâche. Un fichier.mc est créé puis compilé à l'aide du kit de configuration m4 de sendmail pour donner le fichier.cf Extrait du fichier de configuration sendmail.cf : # handle special cases for local names R$* localhost > $* $: $1 $j. > $2 no domain at all R$* localhost. $m > $* $: $1 $j. > $2 local domain R$* localhost. UUCP > $* $: $1 $j. > $2.UUCP domain R$* [ $+ ] > $* $: $1 [ $2 ] > $3 mark [a.b.c.d] R$* $=w > $* $: $1 $j. > $3 self-literal R$* $+ > $* $@ $1 $2 > $3 canon IP addr 4/5

36 SendMail 6.1 Configuration minimale préconstruite Pour l exemple, nous utilisons une configuration minimale qui permettra de faire fonctionner Sendmail. Cette configuration se place dans le répertoire /etc/mail : # mkdir /etc/mail Des fichiers de configuration préconstruits sont fournis avec l archive de Sendmail. Ils sont placés dans le répertoire /cf/cf. On prend, par exemple, le fichier genericlinux.cf et on le place dans le répertoire /etc/mail. Ensuite on le renomme en sendmail.cf de façon qu il soit interprété par Sendmail : # cd cf/cf # cp generic-linux.cf /etc/mail/ # cd /etc/mail # mv generic-linux.cf sendmail.cf Toujours dans le répertoire /etc/mail, il faut créer un fichier aliases élémentaire : mailer-daemon: postmaster posmaster : root L indexation de ce fichier ce fait de la façon suivante : # /usr/sbin/sendmail bi v Il faut ensuite créer la file d attente dans laquelle seront déposés tous les messages de Sendmail : # mkdir /var/spool/mqueue Pour démarrer Sendmail : # /usr/sbin/sendmail bd q15m Sendmail est désormais prêt à fonctionner, avec un minimum de fonctionnalités. 7.Conclusion Les principaux arguments en faveur de Sendmail sont sa position de leader des serveurs SMTP, sa maturité et sa capacité à absorber de très gros volumes de messagerie. En contre-partie, il est vrai qu il reste difficile à configurer et que certains problèmes de sécurité peuvent restreindre son utilisation. Le paradigme du système de distribution de la poste a permis d expliquer la structure du système de messagerie et donc celle de Sendmail d une manière simple et claire. Pour une question de temps et de complexité, la configuration complète via un kit de configuration n a pu être présenté. Cependant l exemple ci-dessus a permit de faire fonctionner sendmail d une manière simple et rapide mais certes avec des fonctionnalités limitées et un niveau de sécurité non optimal. 5/5

37 Great Circle Associates 1250 West Dana Street Mountain View, CA USA Jérôme Schaad Page 1/

38 ... 1 GREAT CIRCLE ASSOCIATES WEST DANA STREET MOUNTAIN VIEW, CA USA INTRODUCTION... 3 LE BUT DE CE DOCUMENT EST DE PRÉSENTER LE LOGICIEL MAJORDOMO AINSI QUE L INSTALLATION ET LA CONFIGURATION DE BASE PRÉSENTATION... 3 MAJORDOMO EST UN GESTIONNAIRE DE LISTES DE DIFFUSION GRATUIT. LE PRINCIPE D UN GESTIONNAIRE DE LISTES DE DIFFUSION EST DE GÉRER DES LISTES (EH! OUI) SUR LESQUELLES DES UTILISATEURS VONT ENSUITE POUVOIR ENVOYER DES MESSAGES, QUI SERONT DIFFUSÉS À TOUS LES ABONNÉS DE CETTE LISTE. LES LISTES DE DIFFUSION (OU MAILING LISTS EN ANGLAIS) SONT TOUT SIMPLEMENT DES COURRIERS ÉLECTRONIQUES, CONCERNANT UN THÈME PRÉCIS, ÉCHANGÉS AU SEIN D'UN GROUPE DE PERSONNES INSTALLATION CONFIGURATION UTILISATION CRÉATION D'UNE LISTE CONFIGURATION QUELQUES PRODUITS POUR CEUX QUI ONT LE COURAGE DE SE PASSER D'UNIX CONCLUSION... 9 Jérôme Schaad Page 2/

39 1. Introduction Le but de ce document est de présenter le logiciel Majordomo ainsi que l installation et la configuration de base. 2. Présentation Majordomo est un gestionnaire de listes de diffusion gratuit. Le principe d un gestionnaire de listes de diffusion est de gérer des listes (eh! oui) sur lesquelles des utilisateurs vont ensuite pouvoir envoyer des messages, qui seront diffusés à tous les abonnés de cette liste. Les listes de diffusion (ou Mailing Lists en anglais) sont tout simplement des courriers électroniques, concernant un thème précis, échangés au sein d'un groupe de personnes. Un message envoyé à une liste de diffusion est reçu par l'ensemble des personnes abonnées à cette liste, une réponse faite à un message reçu en tant qu'abonné à une liste de diffusion sera envoyé à tous les autres abonnés de la liste. abonnés à la liste de diffusion Abonné à la liste Serveur avec Majordomo Jérôme Schaad Page 3/

40 A la différence des forums de news, il n'y a pas de démarche "volontaire" pour lire les contributions puisque celles-ci arriveront directement dans votre boîte aux lettres électronique habituelle. Ces contributions ne seront en outre lues que par les abonnés et non publiques comme pour les news. Donc la liste de diffusion est plus "privée"que les news. L'expéditeur est toutefois identifié comme pour un courrier classique mais le destinataire est un groupe, dont vous ferez partie si vous vous abonnez à la liste de diffusion. Il vous sera bien sûr possible de vous désabonner à tout moment. Très souvent, les listes de diffusion proposent la consultation de leurs archives (tous les messages échangés depuis la création de la liste). Les listes de diffusions sont souvent utilisées afin de vérifier que le sujet abordé intéresse suffisamment de monde et génère un trafic justifiant la création d un nouveau groupe de news. L ensemble est dynamique, en effet, des listes sont crées, des utilisateurs s abonnent, se désabonnent. Pour corser le tout, on est en droit d imaginer un certain nombre d options dans les listes parmi lesquelles la possibilité d administrer les listes. Il en existe des milliers à travers le monde, sur des sujets très divers. Ces listes sont hébergées par des serveurs et gérées par une personne, appelée gestionnaire (le list-owner en anglais). 3. Installation Une fois perl installé et après que l'archive ait été décompressé, il ne nous reste plus qu'à compiler puis installer majordomo. Compilation Il est nécessaire de compiler le programme wrapper, qui est chargé de lancer les différents programmes perl. Il suffit d'éditer le fichier Makefile et de configurer les chemins d'accès. Je vous conseille d'installer majordomo dans le répertoire /usr/local/mail/majordomo. De même, il est conseillé de spécifier que le fichier de configuration de majordomo soit dans ce répertoire plutôt que dans /etc. Installation Pour effectuer l'installation, passer en super-utilisateur et lancer make install. Tous les programmes seront installés dans le répertoire que vous avez spécifié. L'installation des programmes est terminée. Il ne reste plus qu'à configurer l'outil, ce qui n'est pas forcément une simple affaire. 4. Configuration Jérôme Schaad Page 4/

41 L'opération de configuration est assez simple. Il suffit d'adapter le fichier sample.cf en fonction de la configuration locale. Il est ensuite nécessaire de le sauvegarder sous le nom de majordomo.cf. Voila, majordomo est prêt... enfin presque! Une fois les programmes installés, et majordomo configuré, il est ensuite nécessaire d'effectuer certaines opération d'administration système : créer un utilisateur majordom (sans o car 8 caractères maximum) majordom:*:1000:501:majordomo:/usr/local/mail:/dev/null éditer le fichier /etc/aliases, et y rajouter : # # Mailing list # majordomo: " /usr/local/mail/majordomo/wrapper majordomo" owner-majordomo: postmaster majordomo-owner: postmaster Le principe est que tout mail envoyé à majordomo est automatiquement traité par le programme. Wrapper n'est là que pour redistribuer le message en tout sécurité. Jérôme Schaad Page 5/

42 5. Utilisation Prenons un exemple concret : Pour souscrire à la liste Aviation, il suffit d envoyer un mail à majordomo: Destinataire : majordomo@<nom site> Message: subscribe Aviation mon_adresse@exemple.ici commande nom de la liste votre adresse Vous recevrez quelques instants plus tard un courrier électronique avec le message d'introduction de la liste. Ensuite, une liste est quand même faite pour y écrire. Dans ce cas, l'adresse electronique est normalement inscrite dans le message introductif : ce n'est pas la même que celle pour souscrire! Les délais de réponses sont très variables. Tout dépend de la charge de la machine et de sa puissance. Enfin, la rapidité dépend également de la capacité d'envoie du courrier électronique du site. Il faut savoir qu'une liste très active et avec beaucoup de personnes est très consommatrice de ressources. Comment obtenir de l aide : Envoyer un mail à :majordomo@<nom site> Message: help Quelques instants plus tard, vous allez recevoir la liste des principales commandes que vous pouvez utiliser. Voici une description des commandes utilisables (les champs entre crochets sont optionnels) : subscribe Nom_Liste [ ] : pour souscrire à une liste; unsubscribe Nom_Liste [ ] : pour se retirer d'une liste; get Nom_Liste Nom_Fichier : permet de récupérer des fichiers mis à la disposition des utilisateurs de la liste; index Nom_Liste : donne la liste des fichiers qui peuvent être récupérés par la liste; which [ ] : indique dans quelles liste vous êtes inscrit; who Nom_Liste : donne la liste des personnes qui ont souscrit à la liste; info Nom_Liste : renvoie le message d'introduction de la liste; lists : indique le nom des listes gérées par la machine; help : donne la liste des commandes; end : indique la fin de votre courrier (n'est utile que lorsque vous avez une signature qui peut perturber majordomo. Jérôme Schaad Page 6/

43 6. Création d'une liste Pour bien comprendre le mécanisme de création d'une nouvelle liste, je vais prendre la création de la liste Aviation. Dans un premier temps, il est nécessaire d'éditer le fichier /etc/aliases pour y rajouter la liste : # Liste Aviation Aviation -outgoing: :include:/usr/local/mail/lists/ Aviation Aviation:" /usr/local/mail/majordomo/wrapper resend -l Aviation -h rd.lectra.fr -r Aviation Aviation -outgoing" owner- Aviation: votre_ @<nom site>! du list-owner(gestionnaire) Aviation -request: " /usr/local/mail/majordomo/wrapper request-answer Aviation " Pour écrire à la liste, il suffit de faire : mail site> Subject: test Hello! L'alias qui est le plus important est celui ayant pour nom Aviation, car c'est à lui que l'on envoie les messages. Les options données spécifient : -l Aviation: spécifie la liste ; -h rd.<nom site>: donne l'adresse de la machine à indiquer dans les entêtes de courrier électronique ; -r Aviation: spécifie le champ Reply-To. 7. Configuration Une fois les alias correctement configuré, il est nécessaire de créer la liste au niveau de majordomo. Dans le répertoire /usr/local/mail/lists, il suffit de créer trois fichiers. Aviation: ce fichier contient toutes les adresses électroniques des personnes ayant souscrit à la liste se sera le carnet d adresses(il n'y a rien à faire) ; Aviation.info : message introductif renvoyé lors de la soubscription à la liste. Il s'agit d'un message au format texte ; Aviation.config : fichier de configuration de la liste. Le plus simple étant de prendre le fichier de configuration situé dans le fichier README de majordomo. Ce fichier de configuration est particulièrement bien commenté, et ne sera pas commenté ici. Majordomo permet de gérer également des listes dites «modérées». Dans ce cas, le courrier est tout d'abord envoyé au modérateur. Il est le seul habilité à envoyer un courrier dans la liste. Jérôme Schaad Page 7/

44 8. Quelques produits pour ceux qui ont le courage de se passer d'unix LetterRip MacOs ListSTAR MacOs Macjordomo MacOs Lyris Windows/NT ou 95 MDaemon windows-nt et 95 Mustang Web Essentials ListCaster windows-nt et 95 Pegasus Mercury windows-nt et 95 (liste perso) fastraq post server, windows nt4ou SLMail Windows NT, 95 SVList windows95 La liste des produits est longue, voici une séléction. 1. Cerberus Mailer, produit commercial distribué en source perl 2. Petidomo produit commercial sous solaris, irix, linux, netbsd... Produit commercial mais gratuit pour «usage scientifique ou éducation». Ce produit s'installe très simplement avec en standard une interface d'administration de listes par serveur WWW. Le robot de listes est donc très facile à mettre en oeuvre mais son architecture (pas de daemon) n'est pas du tout fait pour supporter une charge importante. L'interface www d'administration pose des problèmes de sécurité puisqu'elle permet d'agir directement dans les alias! Petidomo semble être une très bonne solution pour des sites de petites tailles principalement pour des listes privées. 3. IDG (Internet Discussion Group) Plusieurs originalités de IDG réservent probablement son usage à de petites listes internes: o Une seule adresse pour les commandes et la liste. Ce qui n'est pas une commande est considéré comme un message... o Possibilité pour chaque utilisateur de définir un filtre par mots clefs pour sélectionner les messages que l'on désire recevoir. o Système simple de vote 4. ListProc, deux versions o V6 gratuite, parfois appelée Unix Listserv. ftp://cs-ftp.bu.edu/pub/listserv/current_version.z o CREN ListProc V7 gopher://info.cren.net (unix, windows-nt?) 5. LISTSERV, vendue par L-soft (E.Thomas). Windows-nt, Unix. (La doc d'administration fait 250 pages, celle à usage des propriétaires de listes ). 6. Mailbase : impose de disposer de ingres et perl utilisé pour le service académique de Janet : 1800 listes sur un serveur, probablement une bonne solution pour les gros sites. Jérôme Schaad Page 8/

45 7. MReply : Mail Forwarder Information, une boite à outil avec laquelle on peut faire des listes de diffusion. Configuration assistée par serveur WWW 8. SmartList : largement appuyé sur "procmail" écrit par le même programmeur. ftp://ftp.informatik.rwth-aachen.de. Ce gestionnaire de liste est assez original et offre de bons outils d'administration. 9. SYMPA : Système de Multi-Postage Automatique, une réécriture de TULP par le même auteur (C.Wolfhugel). ftp ://ftp.cru.fr/cru/listes/sympa. Les objectifs de la première version : maintenabilité du code, performances, authentification et purge sont atteints. L'Urec et le CRU y ont adaptée une première interface d'administration par WWW : weblist (fureter dans ftp://ftp.cru.fr/cru/listes ). 9. Conclusion Majordomo est très populaire sur l'internet parce qu il est libre de droit. Le langage utilisé pour développer majordomo est le PERL ce qui permet de nombreux ajouts. Il est rester longtemps sans concurrents, mais aujourd hui, on a un grand choix (voir point 8). Cela explique que toute la documentation le concernant est assez ancienne. Majordomo connaît certains problèmes de performances, en effet l'architecture de Majordomo n'est pas adaptée aux grosses listes. La stratégie adoptée par ce logiciel est de tout donner à sendmail. Cela signifie que Majordomo passe les messages à sendmail avec la liste des destinataires. Toute la charge repose donc sur sendmail et sur ses performances. Donc pour ceux qui veulent gérer des grosses listes, il ne vous reste plus qu à faire des recherches sur les autres produits. Jérôme Schaad Page 9/

46 Nicolas Leuenberger Procmail Technologies Web Module 2 Nicolas Leuenberger Page 1 /

47 Nicolas Leuenberger Introduction... 3 Fonctionnement... 3 La redirection de courrier... 4 Les filtres anti-spam... 4 Conclusion... 6 Références... 6 Page 2 /

48 Nicolas Leuenberger Introduction Procmail est un logiciel prévu pour fonctionner sous UNIX. C'est un outil très puissant qui permet de créer un serveur de messagerie, une liste de diffusion ou encore exécuter n'importe quel programme à l'arrivée d'un message. Mais il est avant tout utilisé pour filtrer les et il peut s'avérer très utile pour lutter contre un fléau croissant: "Le SPAM" dont on rapelle la définition: "Le spam (ou spamming, pourriel, junk ), c'est l'action d'envoyer des courriers électroniques, des s, dans un but publicitaire ou promotionnel, qu'ils soient commerciaux ou non, et en général en grand nombre, à des personnes qui ne l'ont pas sollicité." 1 Le meilleur moyen de présenter procmail est certainement de montrer quelques exemples de son fonctionnement et de son utilisation. Les parties contenues dans un encadré gris peuvent être utilisées tel quelle. Les parties de code en bleu servent pour les explications détaillées. Fonctionnement Pour pouvoir utiliser procmail, il faut qu'il soit installé et il faut que les utilisateurs possèdent dans leur répertoire personnel le fichier de configuration nommé ".procmailrc". Il faut placer dans ce fichier le lignes suivante pour que procmail puisse fonctionner: PATH=/bin:/usr/bin MAILDIR=$HOME/Mail SPAMBOX=spam LOGFILE=$MAILDIR/procmail.log PATH=/bin:/usr/bin Indique ou se trouve procmail (le chemin peut être différent). MAILDIR=$HOME/Mail Indique à procmail ou sauvegarder les messages, dans ce cas dans un dossier nommé "mail" dans le répertoire personnel. SPAMBOX=spam Crée une boite où les courriers de SPAM seront envoyés. Il est préférable de ne pas les supprimer directement car certains messages considérés à tort par procmail comme du SPAM pourraient être perdus. LOGFILE=$MAILDIR/procmail.log Permet de créer un journal qui enregistrera les actions de procmail. 1 Page 3 /

49 La redirection de courrier Nicolas Leuenberger Il faut maintenant créer des règles de filtrages pour utiliser véritablement procmail. Certains attributs des mails sont utilisés comme: "Subject", "From", "CC", "To". Ils sont défini par la rfc et sont donc standards. Voici un premier exemple d'utilisation d'une règle: :0! leuenberger@cdf.cifom.ch Avec cette règle, tout le courrier sera redirigé vers l'adresse leuenberger@cdf.cifom.ch, le! est le caractère utilisé pour la redirection. Un exemple de redirection mais avec cette fois une condition. :0 c * ^Subject:.*[Uu]nix.*! kanani@cdf.cifom.ch :0 c Le "c" après le ":0" signifie qu'il faut garder une copie du mail sinon il sera simplement redirigé. * ^Subject:.*[Uu]nix.* L'étoile au début sert à indiquer qu'il s'agit d'une condition, la suite utilise les expressions régulières. Le "^" indique le début de la ligne, ".*" indique n'importe quelle chaîne de caractère ou aucune. Les lettres entre les crochets [ ] indiquent U ou u. Les expressions régulières peuvent être trouvées à l'adresse suivante: Cette règle signifie que les mails dont le sujet contient "Unix" seront redirigés vers kanani@cdf.cifom.ch. Cette règle peut être utile par exemple pour un élève de la classe qui voudrait faire partager les mails concernant certains sujet à un de ses camarades ou même à plusieurs. Les filtres anti-spam Voici une règle très simple qui permet déjà d'éradiquer certains mail de SPAM: :0 * ^Subject:.*Viagra.* $SPAMBOX 2 Rfc sur les messages texte de 1982: ftp://ftp.rfc-editor.org/in-notes/rfc822.txt Page 4 /

50 Nicolas Leuenberger Cette règle enverra tous les courriers contenants le mot "Viagra" dans le sujet, directement dans le dossier SPAM. La règle suivante sert à filtrer des mails si ont connais l'adresse de l'expéditeur: :0 * ^From:.*spammeur@tagada.com $SPAMBOX Voici une manière un peu plus subtile de filtrer les mails: :0 * ^Content-Type:.*charset="ks_c_ "* $SPAMBOX * ^Content-Type:.*charset="ks_c_ "* Les ont un en-tête qui contient des informations, notamment un champ "Content-Type" qui contient l'encodage. Voici un aperçu de l'entête d'un message venant du secrétariat de l'esnig: On voit que la variable charset contient iso Il s'agit de la première partie de la norme internationale ISO qui défini le codage de caractères. Grâce à cette norme, les caractères utilisés dans les langues européennes peuvent être représentés. Si on avait voulu filtrer les mails européens c'est cette norme qui aurait du être placée dans la règle de filtrage. Dans le cas de mon exemple, les mails à filtrer sont ceux venant de Corée, la norme correspondante est donc "ks_c_ ". Tous les courriers venant de Corée seront donc envoyés vers la corbeille à SPAM. Page 5 /

51 Nicolas Leuenberger Conclusion J'ai présenté quelques possibilités de procmail, il en existe évidemment beaucoup d'autres plus puissantes, mais aussi plus difficiles à maîtriser. Les pages "man" fournissent beaucoup d'informations autant pour les débutants que pour les experts de procmail. En "man procmailex", une grande série d'exemples est proposée. Procmail est un outil puissant et polyvalent. Il convient néanmoins d'en faire un bon usage. Les règles définies ne doivent pas être trop restrictives, sinon certains courriers importants peuvent être perdus. Elles ne doivent pas être trop permissives non plus, sinon elles laissent passer trop de courriers indésirables. Références Site officiel de procmail: PDF sur procmail tiré du site linux-france: Une FAQ sur procmail: Un tutorial sur procmail avec exemples d'utilisation: Les expressions régulières: Les RFC: Page 6 /

52 P E R L O B J E T I N T R O D U C T I O N INTRODUCTION La programmation objet est, comme son nom l'indique basée sur les objets. Pour expliquer au mieux comment fonctionne le langage perl objet, je vais donc essayer de suivre la vie d'un objet. Partant tout d'abord de la classe de l'objet, qu'on pourrait un peu assimiler à un moule (ou un template pour faire plus "informatique"), je continue mon exposé par la création de l'objet puis l'objet lui-même. Une fois l'objet créé, il faudra pouvoir le manipuler. La suite de mon rapport parlera donc des méthodes, pour enfin en arriver la mort de l'objet, soit à la destruction. Je vais traiter la notion d'héritage en dernier car elle demande des pré requis qui seront expliquer au fur et à mesure de mon dossier. De plus, en annexe, je vais ajouter un exemple relativement simple mais complet dont le code sera repris au court du document afin d'illustrer la théorie. PERL OBJET Contrairement à d autres langages tels que smalltalk ou java, par exemple, perl n a pas été créé dans une vision de programmation objet.. Pour ne pas être en reste, la communauté perl a rapidement décidé de mettre en œuvre différentes extensions afin de pouvoir répondre aux exigences de ce type de programmation. Néanmoins, l idée étant de rependre un maximum d éléments existants dans le langage standard, il n a pas fallu un grand nombre de ces extensions pour étendre perl à l objet. Ainsi, perl objet existe depuis la version 5 datant d'environ 3 ans. Il subsiste néanmoins un bémol ; perl de part sa nature permissive, ne saurait être aussi strict que de "vrais" langages objets. C'est donc au programmeur qu'incombe la tâche de travailler le plus proprement possible. CLASSE Contrairement à d'autres langages orientés objet tel que le C++, perl n'a pas de syntaxe spéciale pour définir une classe. En perl, une classe sera représentée par un paquetage (package) qui contiendra les différentes méthodes et attributs définissant un type d'objet (l'objet étant la donnée-même). Un objet sera alors une référence sur ce paquetage. Exemple d'une classe "Vehicule" : # --- fichier Vehicule.pm --- package Vehicule; # nom de la classe use strict; # oblige le développeur a utiliser une syntaxe plus rigoureuse sub nouveau { } # constructeur sub tostring { } # méthode "tostring" sub DESTROY { } # destructeur 1; # code de retour Forchelet Réjane 2IGPTN-B

53 P E R L O B J E T I N T R O D U C T I O N Cependant, dans cet exemple, vous allez probablement vous demander où sont passés les attributs? Ils seront tout simplement contenus dans une table associative (ou table de hachage anonyme) créée à chaque déclenchement du constructeur soit lors de la création d'un nouvel objet. (cf. chapitre constructeur). Exemple d'affectation d'une table associative (rappel) : %vehicule = ( -NB_ROUES => 4, -COULEUR => bleu ); CONSTRUCTEUR Comme dans tout langage objet, le constructeur sera appeler lors de la création d'un nouvel objet. Cependant, contrairement au C++, entre autre, le constructeur ne doit pas nécessairement porté le nom de la classe. Nous sommes totalement libres concernant le nom de cette méthode. Cela a pour conséquence l'incapacité du compilateur à distinguer le constructeur des autres méthodes. C'est pourquoi, lorsqu'on voudra créer un objet, il faudra l'appeler explicitement, comme on le ferait avec toute autre méthode. Constructeur de "vehicule" sub nouveau { my ($class,$nbroues,$couleur) # 1 my $this = {}; # 2 bless($this, $class); # 3 $this->{nb_roues} = $nbroues; # 4 $this->{couleur} = $couleur; # 5 return $this; # 6 } #1 : Listes des paramètres effectifs de la fonction (passage par valeur. $classe représente le nom de la classe #2 : Création d'une référence anonyme vers une table associative vide. Elle est stockée dans la variable $this (souvent aussi appelé $self) qui représente notre futur objet. #3 : Permet de lier $this à la classe courante. En d'autre terme, on indique que notre futur objet est lié au package véhicule (=> notre objet est de type "véhicule"). On dit que la référence est alors bénie #4 : On affecte notre variable NB_ROUES (dans notre table associative) avec la variable nbroues passée en paramètre #5 : Idem mais avec la couleur #6 : On retourne le pointeur sur notre table associative remplie Il est également possible de créer plusieurs constructeurs pour une même classe, en affectant par exemple qu'un seul paramètre. On devra alors écrire le constructeur suivant : sub nouveau { my ($class, $couleur) # plus que 2 paramètres my $this = {}; bless($this, $class); $this->{nb_roues} = 0; # affectation à 0 $this->{couleur} = $couleur; return $this; } Forchelet Réjane 2IGPTN-B

54 P E R L O B J E T I N T R O D U C T I O N CREATION ET MANIPULATION D'OBJET La création d'un objet se fera par l'appel explicite du constructeur, comme je l'ai déjà mentionné ci-dessus. C'est donc à l'intérieur d'un script qu'on trouvera ce code. Exemple de création d'un "vehicule" #!/usr/bin/perl -w # --- script principal --- use strict; use Vehicule; my $v = Vehicule->nouveau( 2, "bleu" ); my $x = Vehicule->nouveau("rouge"); # idem ci-dessus # on spécifie qu'on veut utiliser la classe (le package) Vehicule # on crée une référence (v) qui va pointer sur un nouveau véhicule # on crée un autre objet à l'aide du deuxième constructeur A la place de my $v = Vehicule->nouveau( 2, "bleu" ) il est également possible d'utiliser la syntaxe suivante : my $v = nouveau Vehicule( 2, "bleu" ). Représentation de l'objet créé : Grâce au module Data::Dumper, il est possible d'afficher le contenu d'un objet en utilisant la commande ci-dessous : use Data::Dumper; print Dumper($v)."\n"; on obtiendra ainsi : $VAR1 = bless( { 'COULEUR' => 'bleu', 'NB_ROUES' => 2 }, 'Vehicule' ); Pour modifier ou récupérer l'attribut d'un objet on y accédera comme on le ferait pour une simple table associative, à savoir : affectation d'une valeur : $v{'couleur'} = 'vert'; récupération d'une valeur : $v{'couleur'}; # représente la valeur 'vert' (note de l'éditeur: à éviter l'accès direct, passer plutôt par des méthodes get et set définies dans ce but). Forchelet Réjane 2IGPTN-B

55 METHODE P E R L O B J E T I N T R O D U C T I O N Le but d'une méthode est, comme dans tout langage objet, de pouvoir manipuler et traiter un objet. C'est pourquoi, dans chaque méthode, le premier paramètre sera toujours notre objet (ou autrement dit notre référence bénie cf. chapitre constructeur). Méthode "tostring" (code écrit dans le package) sub tostring { my ($this) return "(Vehicule:$this->{NB_ROUES},$this->{COULEUR})"; } Appel (code écrit dans un script) print $v->tostring()."\n"; Après l'appel suivant, on obtiendra : (Vehicule:2,vert) DESTRUCTEUR Perl est un langage qui possède un garbage collector (comme java). Ainsi dès qu'une référence sur une table est libérée par la commande : $v = undef; l'objet devient inaccessible. Le garbage collector va donc automatiquement libérer l'espace mémoire occupé par l'objet. Le même mécanisme est enclenché lorsque la méthode x dans laquelle était définie la variable $v se termine (! mort de la variable $v). Il n'y a donc pas besoin de créer un destructeur comme en C++. Cependant, il existe une méthode spéciale, utilisant le mot réservé "DESTROY" qui sera déclenchée automatiquement juste avant que le garbage collector s'enclenche. On l'utilisera notamment pour libérer des ressources (fichiers, des bases de données, connexion réseau, etc.) Destructeur de véhicule (en l'occurrence sans grande utilité) sub DESTROY { my ($this) print "À la casse Vehicule! "; print "($this->{nb_roues} $this->{couleur})\n"; } Forchelet Réjane 2IGPTN-B

56 P E R L O B J E T I N T R O D U C T I O N HERITAGE L'héritage est un mécanisme permettant à une classe dite mère de transmettre ses méthodes à une classe fille. Afin d'indiquer que la classe y hérite de la classe x, on utilisera la Par exemple la classe Velo pourra hériter de la classe vehicule. # --- fichier Velo.pm --- package Velo; use strict; use Vehicule; = qw(vehicule); 1; En ce qui concerne la construction, le constructeur de la classe fille devra appeler celui de la classe mère, à l'aide du mot réservé SUPER puis ensuite rajouter les propres attributs relatifs uniquement à la classe fille. sub nouveau { my ($class,$couleur,$nbvitesses) my $this = $class->super::nouveau( 2, $couleur ); $this->{nb_vitesses} = $nbvitesses; return bless($this,$class); } On pourra ensuite définir autant de méthode qu'on veut, propre à la classe vélo (cf. chapitre méthode). De plus, la classe velo aura également le droit d'utiliser des méthodes de sa mère donc, dans notre script, les commandes suivantes seront tout à fait valide : use Velo; my $velo = Velo->nouveau('blanc',18); print $velo->tostring()."\n"; # création de l'objet # appel de la méthode On obtiendra alors : (Vehicule:2,blanc) Il est aussi possible de redéfinir une méthode de la classe mère si elle ne nous convient pas totalement. Par exemple, on pourrait compléter la méthode tostring afin qu'elle nous affiche également le nombre de vitesse. Redéfinition de la méthode "tostring" sub tostring { my ($this) my $s = "[Velo:$this->{NB_VITESSES}"; $s.= $this->super::tostring(); $s.= "]"; } Appel : print $velo->tostring()."\n"; Résultat : [Velo:18(Vehicule:2,blanc)] Forchelet Réjane 2IGPTN-B

57 P E R L O B J E T I N T R O D U C T I O N CONCLUSION Bien que ce dossier soit relativement succinct, j'ai essayé de donner les explications les plus complètes et les plus claires possibles en donnant un maximum d'exemple parlant. Je ne suis toutefois pas entrer dans les grands principes de la programmation objet, partant de l'idée que les futurs lecteur de ce document, à savoir les élèves de l'esnig, ont déjà tous des notions de programmations objet en C++. J'ai ainsi également tenté de faire le maximum de lien entre ces deux langages afin de leur donner des points de repaires. Ci-dessous, j'ai indiqué les sources que j'ai utilisé pour rédiger ce rapport afin de permettre au personne intéressée d'aller prendre plus de renseignement sur le sujet. SOURCE " " " " Forchelet Réjane 2IGPTN-B

58 P E R L O B J E T I N T R O D U C T I O N ANNEXE (EXEMPLE COMPLET) # --- fichier Vehicule.pm --- package Vehicule; use strict; sub nouveau { my ($class,$nbroues,$couleur) my $this = {}; bless($this, $class); $this->{nb_roues} = $nbroues; $this->{couleur} = $couleur; return $this; } sub nouveau { my ($class, $couleur) my $this = {}; bless($this, $class); $this->{nb_roues} = 0; $this->{couleur} = $couleur; return $this; } sub tostring { my ($this) return "(Vehicule:$this->{NB_ROUES},$this->{COULEUR})"; } sub DESTROY { my ($this) print "À la casse Vehicule! "; print "($this->{nb_roues} $this->{couleur})\n"; } 1; # --- fichier script.pl --- use strict; use Vehicule; my $v = Vehicule->nouveau( 2, "vert" ); $v{'couleur'} = 'bleu'; print $v->tostring()."\n"; # --- résultat --- (Vehicule:2,vert) # --- fichier Velo.pm --- package Velo; use strict; use Vehicule; Forchelet Réjane 2IGPTN-B

59 = qw(vehicule); P E R L O B J E T I N T R O D U C T I O N sub nouveau { my ($class,$couleur,$nbvitesses) my $this = $class->super::nouveau( 2, $couleur ); $this->{nb_vitesses} = $nbvitesses; return bless($this,$class); } sub tostring { my ($this) my $s = "[Velo:$this->{NB_VITESSES}"; $s.= $this->super::tostring(); $s.= "]"; } 1; # --- fichier script2.pl --- use strict; use Velo; my $velo = Velo->nouveau('blanc',18); print $velo->tostring()."\n"; # --- résultat --- [Velo:18(Vehicule:2,blanc)] Forchelet Réjane 2IGPTN-B

60 Travail Pratique de Web II 1 Solomon Sirak

61 Travail Pratique de Web II Présentation d Easy PHP Introduction EasyPhp est un langage de script côté serveur qui a été conçu spécifiquement pour le web. Dans un page HTML, vous pouvez inclure du code EasyPhp qui sera exécuté chaque fois qu un visiteur affichera la page. Ce code PHP est interprété au niveau du serveur Web et génère du code HTML ou tout autre donnée affichable dans le navigateur de l utilisateur. Php a été conçu en 1994 par Rasmus Lerdorf. Il a ensuite été adopté par d autres personnes influentes, et il a été récrit trois fois avant de devenir le produit abouti que nous connaissons aujourd hui. A la fin de l année 2002, il était utilisé dans plus de neuf millions de domaines et sa croissance est rapide. Vous trouverez des statistiques plus récentes sur le site Le but de cette présentation est d avoir un aperçu du langage EasyPhp, de comprendre comment le serveur interprète le code PHP ainsi que l installation du logiciel EasyPhp et l utilisation de MySQL. 2 Pourquoi EasyPHP? Le langage PHP est un langage extrêmement puissant : il permet de créer des pages web, au travers desquelles l'utilisateur peut échanger des informations avec le serveur ; c'est ce qu'on appelle des pages web dynamiques. Programmer en PHP est assez simple. En revanche, EasyPhp n'est pas un langage compilé, c'est un langage interprété par le serveur : le serveur lit le code EasyPhp, le transforme et génère la page HTML. Pour fonctionner, il a donc besoin d'un serveur web. Donc si vous souhaitez utiliser des pages en PHP dans votre site web, pour les tester, il faudra les exécuter sur un serveur web. Donc deux solutions : Soit vous les envoyez régulièrement grâce à un programme FTP sur votre serveur web pour les tester. C'est faisable, mais ça peut devenir fastidieux. Soit vous installez un serveur web en local, qui vous permettra de tester directement vos pages PHP. EasyPHP permet de réaliser simplement cette dernière solution. Enfin, EasyPHP permet également d'installer MySQL, le troisième et inséparable membre du trio Apache/PHP/MySQL. Vous n'avez alors plus à vous occuper de la manière dont les données sont stockées sur le disque dur, de simples instructions permettent d'ajouter, de supprimer, de mettre à jour et surtout de rechercher des données dans une base de donnée. On peut de plus accéder très facilement à une base de donnée MySQL à partir de PHP, ce qui permet de développer des sites web

62 Travail Pratique de Web II très performants et interactifs. En utilisant EasyPHP, vous pouvez installer un serveur web complet, qui vous permettra de faire tous vos tests de pages PHP en toute facilité. L'interprétation du code php par le serveur Un script PHP est un simple fichier texte contenant des instructions incluses dans un code HTML à l'aide de balises spéciales et stocké sur le serveur. Ce fichier doit avoir l'extension ".php" pour pouvoir être interprété par le serveur! Ainsi, lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisé en php: le serveur reconnaît qu'il s'agit d'un fichier php il lit le fichier php Dès que le serveur rencontre une balise indiquant que les lignes suivantes sont du code php, il "passe" en mode php, ce qui signifie qu'il ne lit plus les instructions: il les exécute! Lorsque le serveur rencontre une instruction, il la transmet à l'interpréteur L'interpréteur exécute l'instruction puis envoie les sorties éventuelles au serveur A la fin du script, le serveur transmet le résultat au client (le navigateur) 3 Voici un exemple d intégration de code PHP dans du code HTML <html> <head> <title>mon premier page on PHP</title> </head> <body> <h1>voici mon premier page on PHP</h1> <?php echo <p><h3>bonjour tout le monde</h3> ; echo <br> ; echo date ( H :i, js F ) ; echo </p> ;?> </body> </html> Notez que l extension du fichier doit obligatoirement être php. Par exemple index.php

63 Travail Pratique de Web II Le serveur va interpréter le code php est il va donner le résultat au navigateur de la manière suivante: 4 Donc le code php stocké sur le serveur n'est pas visible directement par le client puisque dès qu'il en demande l'accès, le serveur l'interprète. De cette façon aucune modification n'est à apporter sur les navigateurs.

64 Travail Pratique de Web II 5 Installation et activation du serveur La mise en place d'easyphp est très simple. EasyPHP propose le téléchargement en une fois et l'installation en un assistant des trois programmes précédemment cités, Apache, PHP et MySQL. Cela permet d'installer automatiquement ceux-ci, en se libérant des problèmes liés à la configuration manuelle qui est souvent nécessaire lorsqu'on les installe séparément. L'activation du serveur n'est pas plus compliquée. Exécutez EasyPHP à partir du menu Démarrer (Démarrer > Programmes > EasyPHP > EasyPHP). Lorsqu'EasyPHP est lancé, les serveurs Apache et MySQL sont automatiquement lancés (il est même possible de le faire automatiquement au démarrage de Windows). Une petite icône s'installe dans la barre des tâches, à côté de l'horloge, permettant un accès rapide aux fonctions proposées par EasyPHP : Arrêter et Redémarrer les serveurs Apache et MySQL. Accéder au "Web local", c'est-à-dire la racine des sites web. Un panneau d'administration en PHP Un outil de configuration d'easyphp L'accès aux logs

65 Travail Pratique de Web II L'aide EasyPHP est activé Pour lancer l'interface d'easyphp, c'est très simple, il suffit soit de faire un clic droit sur l'icône EasyPHP, en bas à droite de l'écran, et sélectionnez Web local dans le menu qui apparaît, ou de lancer une page Internet Explorer en appliquant cette adresse ( Normalement une nouvelle fenêtre de votre navigateur par défaut s'ouvre sur l'interface d'easyphp. Elle vous permet d'effectuer plusieurs manipulations comme l'administration de la base de données, la gestion des projets, vérifier la version de PHP, etc... 6 Interface d'easyphp Utilisation de MySQL avec EasyPhp EasyPhp est livré avec PhpMyAdmin, En effet EasyPHP propose une base de données par défaut du nom de Test. Cliquez sur le bouton PHPMyAdmin dans l'interface d'easyphp. C'est avec cet outil que vous allez créer et administrer votre base de données en local. L'interface de PHPMyAdmin vous permet d'effectuer toutes les opérations que vous voulez sur votre base de données, tels le remplissage et la création de tables.

66 Travail Pratique de Web II Interface de PhpMyAdmin Quelques avantages d EasyPhp 7 Performances EasyPhp est très efficace. Avec un seul serveur d entrée de gamme, vous pouvez servir des millions de requêtes par jour. Intégration avec les bases de données EasyPhp contient des connexions natives vers la plupart des systèmes de bases de données. En plus de Mysql, vous pouvez vous connecter directement aux bases de données PostgreSQL, msql, Oracle etc. Grâce au standard ODBC(Open Database Connectivity), vous pouvez en fait vous connecter à n importe quelle base de données possédant un pilote ODBC, comme les produits de Microsoft. Bibliothèques intégrées Comme EasyPhp a été conçu pour être utilisé sur le web, il possède plusieurs fonctions intégrées permettant d effectuer la plupart des tâches en rapport avec le web. Vous pouvez ainsi générer des images GIF en temps réel, vous connecter à d autres services réseaux, envoyer des , travailler avec les cookies, et générer des documents PDF, avec seulement quelques linges de code. Coût EasyPhp est gratuit. Vous pouvez vous procurer la dernière version à n importe quel moment sur le site sans payer quoi que ce soit.

67 Travail Pratique de Web II Apprentissage d EasyPhp La syntaxe d EasyPhp est fondée sur celle d autres langages de programmation, essentiellement le C et Perl. Si vous savez déjà programme en C ou en Perl, ou en un autre langage analogue au C, comme C++ ou Java, vous serez presque immédiatement opérationnel avec EasyPhp. Portabilité EasyPhp est disponible pour plusieurs systèmes d exploitation différents. Vous pouvez écrire votre code php pour des systèmes d exploitation de type Unix, comme Linux ou FreeBSD, pour des versions commerciales d Unix comme Solaris ou IRIX ou pour différentes versions de Windows. Code Source Le code source d EasyPhp est accessible. Contrairement aux produits commerciaux, dont les sources ne sont pas distribuées, vous avez tout à fait la possibilité de modifier ce langage ou d y ajouter de nouvelles caractéristiques. 8 Remarques importante Il faut installer les trois composants suivent php, apache et mysql, ainsi vous pourrez commencer à travailler avec les codes EasyPhp pour générer des pages web dynamique. Si vous voulez faire une base de donnée à travers le web il faut faire très attention, car pour gérer le serveur Mysql et une base de données on peut utiliser deux méthodes : 1. Utilisation à travers le navigateur Mysql : le navigateur fait pour vous tout le travail pour la création, la modification et la suppression de la base de données. 2. Utilisation de la ligne de commande : pour l utiliser, il faut avoir une bonne connaissance des commandes SQL. Si vous utilisez les deux méthodes en même temps, vous aurez des problèmes. A moins que vous ne maîtrisiez les requêtes et toute l administration de SQL. Téléchargement Vous pouvez télécharger EasyPHP à l'adresse suivante :

68 Travail Pratique de Web II Références

69 Web II Travail pratique SAX (Simple API for XML) But du travail pratique Expliquer brièvement l'utilité de SAX avec exemples d'utilisation. Définition C'est une API qui permet d'extraire des données d'un document XML. Sa particularité est qu'elle travaille sur un mode événementiel, c'est-à-dire qu'elle va parcourir le document jusqu'à ce qu'elle trouve l'événement (balise) recherché. Elle est donc opposée à DOM, autre API, qui elle va construire l'arborescence du document XML dans son entier. figure extraite du rapport de Sabrina Antonioli Avantages Cela dépend évidemment du but pour lequel on utilise ces API. L'avantage principal est la légèreté du traitement, notamment pour les documents volumineux. SAX ne fait que parcourir le document jusqu'à l'événement souhaité, sans le stocker en mémoire (au contraire de DOM). Sax est donc plus rapide et moins vorace en mémoire. Désavantages C'est le défaut de ses qualités : SAX ne permet pas de connaître ce qui précède l'événement recherché. Si on a besoin de ce genre de renseignements, il faudra stocker nous-même dans des conteneurs (vecteur ou autre) les informations pour un usage ultérieur. C'est aussi plus difficile à programmer. L'élément rendu par le parseur est isolé de son contexte, il n'est pas toujours utilisable immédiatement. Olivier Martin Page 1 sur 6

70 Web II Travail pratique Contenu pour le langage Java L'API est contenue dans le package org.xml.sax de la librairie JAXP (Java API for XML Parsing). L'interface principale est ContentHandler (gestionnaire de contenu). Elle déclare 11 méthodes pour analyser le document XML. Principales méthodes de ContentHandler : public void startdocument() public void enddocument() public void startelement (String name, AttributeList attrs) public void endelement (String name) public void characters (char buf [], int offset, int len) : Cette méthode est appelée par le parser une et une seule fois au démarrage de l'analyse de votre flux xml. : Et son contraire, cette méthode est donc appelée à la fin du parcours du flux après toutes les autres méthodes. : est invoquée lors de la lecture d'un tag ouvrant. : est invoquée lors de la lecture d'un tag fermant. : Tout ce qui est dans l'arborescence mais n'est pas partie intégrante d'un tag, déclenche la levée de cet événement. En général, cet événement est donc levé tout simplement par la présence de texte entre la balise d'ouverture et la balise de fermeture comme dans l'exemple suivant: <mabalise>un peu de texte</mabalise> Mais le comportement peut varier lors de balises imbriquées Il est à noter que pour les utiliser, le programme doit utiliser un parser. C'est avec l'instanciation des classes SAXParserFactory et SAXParser qu'on crée ce parser (classes de la librairie javax.xml.parsers. Petit exemple simple Fichier XML source : <?xml version="1.0" encoding="utf-8"?> <!-- Document : TechTipArchive.xml --> <tips> <author id="glen" fullname="glen McCluskey"/> <tip title="random Access for Files" author="glen" htmlurl="/developer/techtips/2000/tt0509.html#tip1" texturl="/developer/techtips/txtarchive/may00_glenm.txt"> </tip> </tips> Le code java suivant va chercher la balise tip, extraire la valeur de ses 3 attributs. Ce code va écrire un fichier HTML avec les éléments extraits et d'autres textes écrits en dur dans le code. Olivier Martin Page 2 sur 6

71 Web II Travail pratique /* * UseSAX2.java * * Created on 6. mai 2004, 11:55 */ /** igp02martin */ import java.io.*; import java.net.*; import java.util.*; import javax.xml.parsers.*; import org.xml.sax.*; import org.xml.sax.helpers.*; /** * Builds a simple HTML page which lists tip titles * and provides links to HTML and text versions */ public class UseSAX2 extends DefaultHandler { StringBuffer htmlout; public String tostring() { if (htmlout!= null) return htmlout.tostring(); return super.tostring(); } public void startelement(string namespace, String localname, String qname, Attributes atts) { if (localname.equals("tip")) { String title = atts.getvalue("title"); String html = atts.getvalue("htmlurl"); String text = atts.getvalue("texturl"); htmlout.append("<br>"); htmlout.append("<a HREF="); htmlout.append(html); htmlout.append(">html</a> <A HREF="); htmlout.append(text); htmlout.append(">text</a> "); htmlout.append(title); } } public void processwithsax(string urlstring) throws Exception { System.out.println("Processing URL " + urlstring); htmlout = new StringBuffer("<HTML><BODY><H1>JDC Tech Tips Archive</H1>"); SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newsaxparser(); ParserAdapter pa = new ParserAdapter(sp.getParser()); pa.setcontenthandler(this); pa.parse(urlstring); htmlout.append("</body></html>"); } public static void main(string[] args) { try { UseSAX2 us = new UseSAX2(); us.processwithsax("c:/saxom/techtiparchive.xml"); String output = us.tostring(); System.out.println("Saving result to " + "C:/SAXom/Simple.html"); FileWriter fw = new FileWriter("C:/SAXom/Simple.html"); fw.write(output, 0, output.length()); fw.flush(); } Olivier Martin Page 3 sur 6

72 Web II Travail pratique } catch (Throwable t) { t.printstacktrace(); } } Le fichier de sortie est : <HTML> <BODY> <H1>JDC Tech Tips Archive</H1> <br> <A HREF=/developer/TechTips/2000/tt0509.html#tip1>HTML </A> <A HREF=/developer/TechTips/txtarchive/May00_GlenM.txt>TEXT </A> Random Access for Files </BODY> </HTML> N.B. J'ai mis manuellement les retours à la ligne, le programme écrit tout sur une seule ligne. Olivier Martin Page 4 sur 6

73 Web II Travail pratique Deuxième exemple Ce code va simplement parcourir le fichier XML et envoyer sur la sortie standard (System.out.println)ce même document mais avec une mise en page corrigée au niveau des indentations, qui seront correctes en fonction du niveau d'imbrication import java.io.*; import org.xml.sax.*; import javax.xml.parsers.saxparserfactory; import javax.xml.parsers.saxparser; public class Echoing extends HandlerBase { // Pour gérer l'indentation du document final. private String indentstring = " "; private int indentlevel = 0; // Démarrage de votre programme public static void main (String args []) { if (argv.length!= 1) { System.err.println ("Usage: cmd filename"); System.exit(-1); } SAXParserFactory factory = SAXParserFactory.newInstance(); try { SAXParser saxparser = factory.newsaxparser(); saxparser.parse( new File(argv [0]), new Echoing() ); } catch (Throwable t) { t.printstacktrace (); } } System.exit(0); ///////////////////////////////////////////////////////////// // Les gestionnaires d'évènements SAX /////////////////////// ///////////////////////////////////////////////////////////// public void startdocument () throws SAXException { System.out.println("START DOCUMENT"); System.out.println("<?xml version='1.0' encoding='utf-8'?>"); } public void enddocument () throws SAXException { System.out.println("END DOCUMENT"); if (indentlevel > 0) System.out.println("AIEEEE"); } public void startelement (String name, AttributeList attrs) throws SAXException { tabs(); System.out.print("<" + name); if (attrs!= null) { for (int i = 0; i < attrs.getlength (); i++) { System.out.println(); tabs(); System.out.print(" "); System.out.print(attrs.getName (i)); System.out.print(" = \""); Olivier Martin Page 5 sur 6

74 Web II Travail pratique } } System.out.print(attrs.getValue (i)); System.out.print("\""); } if (attrs.getlength() > 0) { System.out.println(""); tabs(); } System.out.println(">"); indentlevel++; public void endelement (String name) throws SAXException { indentlevel--; tabs(); System.out.println("</" + name + ">"); } public void characters (char buf [], int offset, int len) throws SAXException { String s = new String(buf, offset, len); if (!s.trim().equals("")) { tabs(); System.out.println(s); } } ///////////////////////////////////////////////////////////// // Fonctions utilitaires //////////////////////////////////// ///////////////////////////////////////////////////////////// } private void tabs() { for(int i=0;i<indentlevel;i++) { System.out.print(indentString); } } Malheureusement, je n'ai pas d'exemple à montrer, je n'ai pas pu faire tourner ce code. Conclusion SAX est une API qui amène des avantages lors de certains traitements sur les fichiers XML. On trouve plutôt des exemples d'utilisation avec le langage Java. Comme je ne connaissais par ce langage, j'ai eu passablement de difficultés à faire tourner ces codes. La compréhension du programme n'était pas trop difficile, mais l'utilisation de l'environnement Java m'a posé beaucoup de problèmes, notamment au niveau de l'importation des classes. Références Magazine LOGIN numéro spécial XML Olivier Martin Page 6 sur 6

75 Magali Arnoux 2IGPTC Mai 2004 WEB 2 ESNIG Salle 33

76 ESNIG Magali Arnoux Table des matières TABLE DES MATIÈRES... 1 PRÉSENTATION DU PROBLÈME... 2 MÉTHODE... 2 DÉVELOPPEMENT... 2 MODIFICATION... 2 MISE EN PAGE... 3 Explication d'un bout de code posant quelques problèmes... 3 CONCLUSION... 4 RÉFÉRENCE... 4 ANNEXES... 5 DTD... 5 FEUILLE XSL... 5 FICHIER XML... 7 FICHIER HTML

77 ESNIG Magali Arnoux Présentation du problème Le problème consiste à créer un fichier XSL pour faire le passage entre un fichier XML et un fichier HTML. Le fichier HTML doit avoir une mise en page agréable et structurée. Il va présenter une fiche qui traitera de différents sujets (article, livre, site Web, chapitre, rapport, court), donc qui sera de différents types. La fiche que j'ai reprise avait déjà été crée en classe. Mon but était surtout de l'améliorer. Méthode Pour la première version de la fiche, nous avons travaillé avec le logiciel UXML de M.Pochon. Mais pour ma version, j'ai préférer utiliser NetBeans IDE 3.5.1, car je l'utilise pour mon projet partiel et c'est celui avec lequel je suis le plus à l'aise. Pour m'aider, j'ai aussi consulté quelques sites internet dont vous trouverez les références ci-après. Développement Pour commencer, nous avons décidé des modifications que j'allais faire sur la première fiche et de sa nouvelle mise en page. Pour cela nous avons travaillé sur le fichier DTD. Modification L'élément TYPE deviendra un attribut de FICHE qui pourra avoir comme valeur : - Article - Livre - SiteWeb - Chapitre - Rapport - Cours Si aucune valeur n'est entrée, Livre se mettra par défaut. Les élément LANGUE et STYLE deviendront eux aussi des attributs optionnels de FICHE. Un élément META a été rajouté pour indiquer le nom du langage et pouvoir mettre des mots clés pour le référencement. Il comprend deux attributs NAME et CONTENU. 2

78 ESNIG Magali Arnoux Une entité signature a été créée pour englober l'élément AUTEUR et DATE. Pour finir, on a ajouté un + à l'entité reference pour donner la possibilité de choisir entre l'élément REF et URL ou alors de prendre les deux. Mise en page Voici le schéma approximatif de la mise en page : Titre Référence ou/et URL Résumé Remarques Auteur Nom et Prénom Date jour/mois/année Pour modifier la mise en page, on doit travailler dans le fichier XSL. Pour cela j'ai utilisé les commandes de base de ce langage : - <xsl:template match=" "> - <xsl:apply-templates/> - <xsl:value-of select="."/> Explication d'un bout de code posant quelques problèmes Pour la définition de la mise en page de l'url, on utilise la commande attribut pour créer le lien avec l'adresse. <xsl:template match="url"> <TABLE WIDTH="90%" ALIGN="CENTER"> <TR> <TD WIDTH="20%"><B>URL : </B></TD> <TD> <a><xsl:attribute name="href"> select="."/> </xsl:attribute> <xsl:value-of select="."/> </a> </TD> </TR> </TABLE> </xsl:template> 3

79 ESNIG Magali Arnoux Le nom (name) de cet attribut deviendra l'attribut de la balise HTML <a>. J'ai ajouté pour que l'adresse soit complète. La première balise <xsl:value-of select="."/> permet d'ajouter l'adresse après le et la deuxième permet de l'ajouter entre les balises <a> et </a>. Conclusion Ce travail m'a permis de bien comprendre les liens qu'il y a entre ces différents fichiers. Je me sens beaucoup plus à l'aise avec le XML et le XSL. J'ai vraiment apprécié faire ce travail pratique, il m'a aidé à faire le rapprochement entre la théorie et la pratique. Référence 4

80 ESNIG Magali Arnoux Annexes DTD <!-- Fiche de resume --> <!ENTITY % reference "(REF URL)+"> <!ENTITY % date "JOUR,MOIS,ANNEE"> <!ENTITY % fiche "META,TITRE,REFERENCE,RESUME,REMARQUE,SIGNATURE"> <!ENTITY % auteur "NOM,PRENOM"> <!ENTITY % signature "AUTEUR,DATE"> <!ELEMENT FICHE (%fiche;)> <!ATTLIST FICHE TYPE ( article livre siteweb chapitre rapport cours ) "livre" LANGUE CDATA #IMPLIED STYLE CDATA #IMPLIED > <!ELEMENT META EMPTY> <!ATTLIST META NOM CDATA #IMPLIED CONTENU CDATA #IMPLIED > <!ELEMENT TITRE (#PCDATA)> <!ELEMENT RESUME (#PCDATA)> <!ELEMENT REFERENCE (%reference;)> <!ELEMENT AUTEUR (%auteur;)> <!ELEMENT DATE (%date;)> <!ELEMENT REMARQUE (#PCDATA)> <!ELEMENT URL (#PCDATA)> <!ELEMENT REF (#PCDATA)> <!ELEMENT JOUR (#PCDATA)> <!ELEMENT MOIS (#PCDATA)> <!ELEMENT ANNEE (#PCDATA)> <!ELEMENT NOM (#PCDATA)> <!ELEMENT PRENOM (#PCDATA)> <!ELEMENT SIGNATURE (%signature;)> Feuille XSL <!DOCTYPE xsl:stylesheet SYSTEM "fichepresent.dtd"> <!-- --> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output doctype-public="-//w*c//dtd HTML 4.0 Transitional //EN" /> <!--used by: fichepresent.xml --> <xsl:template match="/"> <HTML> <TITLE>Fiche de resume</title> <xsl:apply-templates/> </HTML> </xsl:template> <xsl:template match="meta"> <HEAD> <xsl:apply-templates/> </HEAD> </xsl:template> 5

81 ESNIG Magali Arnoux <xsl:template match="fiche"> <BODY> <xsl:apply-templates/> </BODY> </xsl:template> <xsl:template match="titre"> <H1 ALIGN="CENTER"> <xsl:value-of select="."/> </H1> </xsl:template> <xsl:template match="reference"> <xsl:apply-templates/> </xsl:template> <xsl:template match="ref"> <TABLE WIDTH="90%" ALIGN="CENTER"> <TR> <TD WIDTH="20%"><B>REFERENCE : </B></TD> <TD> <xsl:value-of select="."/> </TD> </TR> </TABLE> </xsl:template> <xsl:template match="url"> <TABLE WIDTH="90%" ALIGN="CENTER"> <TR> <TD WIDTH="20%"><B>URL : </B></TD> <TD> <a><xsl:attribute name="href"> select="."/> </xsl:attribute> <xsl:value-of select="."/> </a> </TD> </TR> </TABLE> </xsl:template> <xsl:template match="resume"> <TABLE WIDTH="90%" ALIGN="CENTER"> <TR> <TD WIDTH="20%"><B>RESUME : </B></TD> <TD> <xsl:value-of select="."/> </TD> </TR> </TABLE> </xsl:template> <xsl:template match="remarque"> <TABLE WIDTH="90%" ALIGN="CENTER"> <TR> <TD WIDTH="20%"><B>REMARQUES : </B></TD> <TD> <xsl:value-of select="."/> </TD> </TR> </TABLE> </xsl:template> <xsl:template match="signature"> <TABLE WIDTH="90%" ALIGN="CENTER"><TR> <TD WIDTH="20%"><B>AUTEUR : </B></TD> <TD> <xsl:value-of select="auteur/nom"/> <xsl:value-of select="auteur/prenom"/> 6

82 ESNIG Magali Arnoux </TD> <TD WIDTH="20%"><B>DATE : </B></TD> <TD> <xsl:value-of select="date/jour"/> / <xsl:value-of select="date/mois"/> / <xsl:value-of select="date/annee"/> </TD> </TR></TABLE> </xsl:template> </xsl:stylesheet> Fichier XML <!DOCTYPE FICHE SYSTEM "fichepresent.dtd"> <?XML-STYLESHEET TYPE="text/xsl" HREF="XslFichePresent.xsl"?> <FICHE TYPE="livre" LANGUE="fr"> <META NOM="html"/> <TITRE>TITRE LIVRE</TITRE> <REFERENCE><URL> E> <RESUME>blabla bla bla blabla bla</resume> <REMARQUE>Il y a 45 pages</remarque> <SIGNATURE> <AUTEUR><NOM>Arnoux</NOM><PRENOM>Magali</PRENOM></AUTEUR> <DATE><JOUR>24</JOUR><MOIS>mars</MOIS><ANNEE>2004</ANNEE></DATE> </SIGNATURE> </FICHE> Fichier HTML <!DOCTYPE HTML PUBLIC "-//W*C//DTD HTML 4.0 Transitional //EN"> <HTML> <HEAD> <TITLE>Fiche de resume</title> </HEAD> <BODY> <H1 ALIGN="CENTER">TITRE LIVRE</H1> <TABLE WIDTH="90%" ALIGN="CENTER"><TR><TD WIDTH="20%"><B>URL : <a href="" </TD> <TD></TD> </TR> </TABLE> <TABLE WIDTH="90%" ALIGN="CENTER"><TR><TD WIDTH="20%"><B>REFERENCE : </B> </TD> <TD>Reference</TD> </TR> </TABLE> <TABLE WIDTH="90%" ALIGN="CENTER"><TR><TD WIDTH="20%"><B>RESUME : </B> </TD> <TD>blabla bla bla blabla bla</td> </TR> </TABLE> <TABLE WIDTH="90%" ALIGN="CENTER"><TR><TD WIDTH="20%"><B>REMARQUES : </B> </TD> <TD>Il y a 45 pages</td> </TR> 7

83 ESNIG Magali Arnoux </TABLE> <TABLE WIDTH="90%" ALIGN="CENTER"><TR><TD WIDTH="20%"><B>AUTEUR : </B> </TD> <TD>ArnouxMagali</TD> <TD WIDTH="20%"><B>DATE : </B> </TD> <TD>24 / mars / 2004</TD> </TR> </TABLE> </BODY> </HTML> 8

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0 M I N I - P K I SRS Epita Promo 2009 SÉCURITÉ DU SI SUJET (3): Mini PKI Version : 1.0 Denoun Jérémy De Daniloff Cyril Bettan Michael 1 4-1 6 r u e v o l t a i r e 9 4 2 3 0 K r e m l i n B i c ê t r e

Plus en détail

Services Réseaux - Couche Application. TODARO Cédric

Services Réseaux - Couche Application. TODARO Cédric Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Devoir Surveillé de Sécurité des Réseaux

Devoir Surveillé de Sécurité des Réseaux Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La

Plus en détail

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Création de la machine virtuelle Debian... 3 Présentation

Plus en détail

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel. Environnement des outils de gestion Comme nous allons utiliser principalement des outils orientés Web pour la gestion de notre domaine, pour que ceux-ci fonctionnent autant sous Windows que sous Linux,

Plus en détail

Installation et utilisation d'un certificat

Installation et utilisation d'un certificat 1 IceWarp Merak Mail Server Installation et utilisation d'un certificat Icewarp France octobre 2007 2 Icewarp Merak Mail Serveur : Guide de mises à jour à la version 9 Sommaire Introduction...3 Situation

Plus en détail

L3 informatique TP n o 2 : Les applications réseau

L3 informatique TP n o 2 : Les applications réseau L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique

Plus en détail

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation

Plus en détail

Manuel d'utilisation d'apimail V3

Manuel d'utilisation d'apimail V3 Manuel d'utilisation d'apimail V3 I Préambule Page 3 II Présentation Page 4 III Mise en route Configuration Page 5 Messagerie Serveur smtp Serveur pop Compte pop Mot de passe Adresse mail Laisser les messages

Plus en détail

Sécurité des réseaux IPSec

Sécurité des réseaux IPSec Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique

Plus en détail

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens Hébergement WeboCube Le service d'hébergement WeboCube a pour but de sécuriser la présence internet grâce à un suivi personnalisé et une maintenance active de votre serveur internet. Un espace de gestion

Plus en détail

SSL ET IPSEC. Licence Pro ATC Amel Guetat

SSL ET IPSEC. Licence Pro ATC Amel Guetat SSL ET IPSEC Licence Pro ATC Amel Guetat LES APPLICATIONS DU CHIFFREMENT Le protocole SSL (Secure Socket Layer) La sécurité réseau avec IPSec (IP Security Protocol) SSL - SECURE SOCKET LAYER Historique

Plus en détail

Guide Numériser vers FTP

Guide Numériser vers FTP Guide Numériser vers FTP Pour obtenir des informations de base sur le réseau et les fonctions réseau avancées de l appareil Brother : consultez le uu Guide utilisateur - Réseau. Pour obtenir des informations

Plus en détail

Comment utiliser mon compte alumni?

Comment utiliser mon compte alumni? Ce document dispose d une version PDF sur le site public du CI Comment utiliser mon compte alumni? Elena Fascilla, le 23/06/2010 Sommaire 1. Introduction... 2 2. Avant de commencer... 2 2.1 Connexion...

Plus en détail

Réaliser un inventaire Documentation utilisateur

Réaliser un inventaire Documentation utilisateur Référence : 11662 Version N : 6 Créé le : 29 Janvier 2014 Créé par : Bruno RICHOUX Téléphone : 0811 65 60 02 Sommaire 1. Conventions... 3 2. Introduction... 4 3. Principes généraux... 5 3.1. Depuis les

Plus en détail

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I Date : 13 octobre 2009 / Auteur : David ROMEUF / Version : 1.1 / Diffusion : Utilisateurs Table des matières Cas 1 : un poste MS-Windows

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN Les Réseaux Privés Virtuels (VPN) 1 Définition d'un VPN Un VPN est un réseau privé qui utilise un réseau publique comme backbone Seuls les utilisateurs ou les groupes qui sont enregistrés dans ce vpn peuvent

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

Plus en détail

Service de certificat

Service de certificat Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec

Plus en détail

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D. 2013 Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D. Table des matières 1 Les architectures sécurisées... 3 2 La PKI : Autorité de certification... 6 3 Installation

Plus en détail

L identité numérique. Risques, protection

L identité numérique. Risques, protection L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

Installation de GFI FAXmaker

Installation de GFI FAXmaker Installation de GFI FAXmaker Systèmes Requis Avant d installer FAXmaker, vérifiez que vous remplissez bien les conditions suivantes : Serveur FAX GFI FAXmaker : Serveur sous Windows 2000 ou 2003 avec au

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Déploiement d OCS 1.02 RC2 sous Debian Etch 64 Déploiement d OCS 1.02 RC2 sous Debian Etch 64 Par Big_orneau Note : Utilisation ici d OCS sur un domu Xen. Les commandes sont en italiques. - Avant toute chose vérifier absolument : La date sur le serveur

Plus en détail

Routeur Chiffrant Navista Version 2.8.0. Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Routeur Chiffrant Navista Version 2.8.0. Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1. Routeur Chiffrant Navista Version 2.8.0 Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.0 Cibles de sécurité C.S.P.N Référence : NTS-310-CSPN-CIBLES-1.05

Plus en détail

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG EHRHARD Eric - Gestionnaire Parc Informatique 1 Possibilités d OCS Inventory. Informations d'inventaire pertinentes.

Plus en détail

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones. PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des

Plus en détail

II- Préparation du serveur et installation d OpenVpn :

II- Préparation du serveur et installation d OpenVpn : I- Etude du VPN a. Qu est-ce qu un VPN? Un VPN(Virtual Private Network = Réseau Privé Virtuel) permet de créer une connexion sécurisée entre un ordinateur et un serveur VPN. Ce dernier servira de relai

Plus en détail

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP HTTP TP HTTP Master IC 2 A 2014/2015 Christian Bulfone / Jean-Michel Adam 1/11 Câblage et configuration du réseau

Plus en détail

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86 Tunnels et VPN 22/01/2009 Formation Permanente Paris6 86 Sécurisation des communications Remplacement ou sécurisation de tous les protocoles ne chiffrant pas l authentification + éventuellement chiffrement

Plus en détail

Middleware eid v2.6 pour Windows

Middleware eid v2.6 pour Windows Manuel d'utilisation Middleware eid v2.6 page 1 de 19 Table des matières Introduction...3 Installation...4 Les éléments du logiciel eid...6 Module pour la zone de notification dans la barre des tâches...7

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico

Plus en détail

Le rôle Serveur NPS et Protection d accès réseau

Le rôle Serveur NPS et Protection d accès réseau Le rôle Serveur NPS et Protection d accès réseau 1 Vue d'ensemble du module Installation et configuration d'un serveur NPS Configuration de clients et de serveurs RADIUS Méthodes d'authentification NPS

Plus en détail

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises La banque en ligne et le protocole TLS : exemple 1 Introduction Définition du protocole TLS Transport Layer Security

Plus en détail

Les certificats numériques

Les certificats numériques Les certificats numériques Quoi, pourquoi, comment Freddy Gridelet 9 mai 2005 Sécurité du système d information SGSI/SISY La sécurité : quels services? L'authentification des acteurs L'intégrité des données

Plus en détail

WIFI sécurisé en entreprise (sur un Active Directory 2008)

WIFI sécurisé en entreprise (sur un Active Directory 2008) Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Pas d'utilisation Commerciale 3.0 non transposé. Le document est librement diffusable dans le contexte de

Plus en détail

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique Document technique : Guide d'initiation aux certificats ssl Document technique Guide d'initiation aux certificats SSL Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en

Plus en détail

Tutorial Terminal Server sous

Tutorial Terminal Server sous Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal

Plus en détail

Logiciel de conférence Bridgit Version 4.6

Logiciel de conférence Bridgit Version 4.6 Spécifications Logiciel de conférence Bridgit Version 4.6 Description du produit Le logiciel de conférence Bridgit est une application client/serveur bon marché qui vous permet de planifier facilement

Plus en détail

Sécurité du Système d Information. Mini PKI

Sécurité du Système d Information. Mini PKI Sécurité du Système d Information Mini PKI Nombres de pages : 9 Version : 1.0 Auteurs : HAMROUNI Makram POISSENOT Thomas ROUX Nicolas Destinataires : BOMBAL Sébastien Remarques : Aucune. Tables des matières

Plus en détail

Guide d implémentation. Réussir l intégration de Systempay

Guide d implémentation. Réussir l intégration de Systempay Guide d implémentation - Interface avec la plateforme de paiement - Réussir l intégration de Systempay Version 1.4b Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa

Plus en détail

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima Introduction à la sécurité Cours 8 Infrastructure de clés publiques Catalin Dima 1 Gestion des clés La gestion des clés concerne : La distribution de clés cryptographiques, Les mécanismes utilisés pour

Plus en détail

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003

Plus en détail

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS Nicole Dausque CNRS/UREC CNRS/UREC IN2P3 Cargèse 23-27/07/2001 http://www.urec.cnrs.fr/securite/articles/certificats.kezako.pdf http://www.urec.cnrs.fr/securite/articles/pc.cnrs.pdf

Plus en détail

Cours 14. Crypto. 2004, Marc-André Léger

Cours 14. Crypto. 2004, Marc-André Léger Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)

Plus en détail

Matthieu Herrb Octobre 2002. Accès distants sécurisés - 18 octobre 2002 1

Matthieu Herrb Octobre 2002. Accès distants sécurisés - 18 octobre 2002 1 Accès distants sécurisés Matthieu Herrb Octobre 2002 Accès distants sécurisés - 18 octobre 2002 1 Chapitre 1 Introduction Accès distants sécurisés - 18 octobre 2002 2 À propos de l insécurité TCP/IP n

Plus en détail

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement SIP Nguyen Thi Mai Trang LIP6/PHARE Thi-Mai-Trang.Nguyen@lip6.fr UPMC - M2 Réseaux - UE PTEL 1 Plan Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement UPMC -

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol IUT IUT d'orsay réseaux réseaux Protocoles d'applications Le courrier électronique Divers éléments POP3 IMAP protocole de transport format de l entête, de ses champs, des adresses électroniques standard

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Présentation Internet

Présentation Internet Présentation Internet 09/01/2003 1 Sommaire sières 1. Qu est-ce que l Internet?... 3 2. Accéder à l Internet... 3 2.1. La station... 3 2.2. La connection... 3 2.3. Identification de la station sur Internet...

Plus en détail

Documentation utilisateur "OK-MARCHE" Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics

Documentation utilisateur OK-MARCHE Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics Documentation utilisateur "OK-MARCHE" Historique des modifications Version Modifications réalisées 1.0 Version initiale de diffusion Ouverture & traitement des 2.0 Mise à jour complète enveloppes électroniques

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5 Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5 Copyright 2003 Palm, Inc. Tous droits réservés. Graffiti, HotSync, MultiMail, le logo Palm, PalmModem et Palm OS sont des marques

Plus en détail

2 disques en Raid 0,5 ou 10 SAS

2 disques en Raid 0,5 ou 10 SAS Serveur GED: INFO EN + Afin d obtenir des performances optimales il est préférable que le serveur soit dédié. Matériel : Processeur Jusqu à 10 utilisateurs 2.0 Ghz environ Jusqu à 30 utilisateurs 2.6 Ghz

Plus en détail

Manuel des logiciels de transferts de fichiers File Delivery Services

Manuel des logiciels de transferts de fichiers File Delivery Services Manuel des logiciels de transferts de fichiers File Delivery Services Editeur La Poste CH SA Technologies de l information Webergutstrasse 12 CH-3030 Berne (Zollikofen) Contact La Poste CH SA Technologies

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE sommaire MIEUX COMPRENDRE LES CERTIFICATS SSL...1 SSL et certificats SSL : définition...1

Plus en détail

LAB : Schéma. Compagnie C 192.168.10.30 /24 192.168.10.10 /24 NETASQ

LAB : Schéma. Compagnie C 192.168.10.30 /24 192.168.10.10 /24 NETASQ LAB : Schéma Avertissement : l exemple de configuration ne constitue pas un cas réel et ne représente pas une architecture la plus sécurisée. Certains choix ne sont pas à prescrire dans un cas réel mais

Plus en détail

Signature électronique. Romain Kolb 31/10/2008

Signature électronique. Romain Kolb 31/10/2008 Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...

Plus en détail

Partie 2 (Service de téléphonie simple) :

Partie 2 (Service de téléphonie simple) : TRAVAUX PRATIQUES Partie 1 (Prologue) : Afin de connaitre la topologie du réseau, nous avons utilisé les commandes suivantes dans le prompt (en ligne de commande) : - «ipconfig» afin de connaitre notre

Plus en détail

Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2

Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2 Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2 1.2 Accès distant (dial-in)...2 1.3 VPN...3 1.4 Authentification...4 1.5 Configuration d un réseau privé virtuel (vpn)...6

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7

Plus en détail

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Proxy et reverse proxy. Serveurs mandataires et relais inverses Serveurs mandataires et relais inverses Qu'est-ce qu'un proxy? Proxy = mandataire (traduction) Un proxy est un service mandataire pour une application donnée. C'est à dire qu'il sert d'intermédiaire dans

Plus en détail

SERVICE CONTACT INSTANTANÉ GUIDE D UTILISATEUR

SERVICE CONTACT INSTANTANÉ GUIDE D UTILISATEUR SERVICE CONTACT INSTANTANÉ GUIDE D UTILISATEUR Table des matières Introduction... 3 Client Office Communicator 2007 R2 pour ordinateur... 4 Configuration manuelle d Office Communicator... 4 Dépannage...

Plus en détail

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique Le DNS DNS = Domain Name Service Sert à résoudre les noms d ordinateur en adresse IP. Contention de dénomination pour les domaines Windows 2000 (nommage des domaines W2K) Localisation des composants physiques

Plus en détail

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION SOMMAIRE ACCES EX10... 3 CONFIGURATION EX10 A. Entrées DNS à créer sur le(s) nom(s) de domaine choisi(s)... 3 B. Configuration Outlook 2007 - MAPI...

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Documentation Liste des changements apportés

Documentation Liste des changements apportés Version 4.1.000 Documentation Liste des changements apportés C2 Innovations 2010 Table des matières À LA VERSION 4.1... 4 NOUVEAU PRE REQUIS POUR L INSTALLATION DE C2... 4 FERMER LA SESSION D UN UTILISATEUR

Plus en détail

Alligacom Net-Transfer

Alligacom Net-Transfer 1 2. 1 0. 2 0 0 3 Alligacom Net-Transfer Manuel utilisateur pour la version 2.1.2 Avertissement Les renseignements contenus dans le présent document sont sous réserve de modifications sans préavis. Alligacom

Plus en détail

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird. MAIL > configuration de mozilla thunderbird > SOMMAIRE Qu'est ce que Thunderbird? Téléchargement du logiciel Thunderbird Configuration Installation d'un compte POP Installation d'un compte IMAP En cas

Plus en détail

[ Sécurisation des canaux de communication

[ Sécurisation des canaux de communication 2014 ISTA HAY RIAD FORMATRICE BENSAJJAY FATIHA OFPPT [ Sécurisation des canaux de communication Protocole IPsec] Table des matières 1. Utilisation du protocole IPsec... 2 2. Modes IPsec... 3 3. Stratégies

Plus en détail

1. Mise en œuvre du Cegid Web Access Server en https

1. Mise en œuvre du Cegid Web Access Server en https 1. Mise en œuvre du Cegid Web Access Server en https Principe d usage La mise en œuvre du mode https sur un serveur Web Access implique : De disposer d un certificat pour le nom d hôte configuré sur le

Plus en détail

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence : 9016809-01

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence : 9016809-01 Logiciel de connexion sécurisée M2Me_Secure NOTICE D'UTILISATION Document référence : 9016809-01 Le logiciel M2Me_Secure est édité par ETIC TELECOMMUNICATIONS 13 Chemin du vieux chêne 38240 MEYLAN FRANCE

Plus en détail

Club informatique Mont-Bruno Séances du 18 janvier et du 17 février 2012 Présentateur : Michel Gagné

Club informatique Mont-Bruno Séances du 18 janvier et du 17 février 2012 Présentateur : Michel Gagné Club informatique Mont-Bruno Séances du 18 janvier et du 17 février 2012 Présentateur : Michel Gagné Le fonctionnement du courrier électronique La différence entre Internet, Web et courrier électronique

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

NFS Maestro 8.0. Nouvelles fonctionnalités NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

1. Présentation de WPA et 802.1X

1. Présentation de WPA et 802.1X Lors de la mise en place d un réseau Wi-Fi (Wireless Fidelity), la sécurité est un élément essentiel qu il ne faut pas négliger. Effectivement, avec l émergence de l espionnage informatique et l apparition

Plus en détail

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame www.nicelabel.fr info@nicelabel.fr NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr

Plus en détail

CS REMOTE CARE - WEBDAV

CS REMOTE CARE - WEBDAV CS REMOTE CARE - WEBDAV Configuration des serveurs archange KONICA MINOLTA BUSINESS SOLUTIONS FRANCE Date Version Marque de révision Rédaction 18/10/2011 1 - Claude GÉRÉMIE Nicolas AUBLIN Sommaire 1) PRINCIPE

Plus en détail

Procédure d'installation

Procédure d'installation 07/11/2014 BTS SIO SISR 2ème année BRY Quentin Procédure d'installation Tableau d évolution Version Date Description Rédacteur Approbateur 0.0 25/01/2014 Ecriture du document Thierry MARTINS 1.0 06/11/2014

Plus en détail

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure Mac OS X Server Administration des technologies Web Pour la version 10.3 ou ultérieure appleapple Computer Inc. 2003 Apple Computer, Inc. Tous droits réservés. Le propriétaire ou l utilisateur autorisé

Plus en détail

Les modules SI5 et PPE2

Les modules SI5 et PPE2 Les modules SI5 et PPE2 Description de la ressource Propriétés Intitulé long Formation concernée Matière Présentation Les modules SI5 et PPE2 BTS SIO SI5 PPE2 Description Ce document présente une approche

Plus en détail

E.N.T. Espace Numérique de Travail

E.N.T. Espace Numérique de Travail E.N.T. Espace Numérique de Travail Portail de l UM2 Outil de communication, de partage, de stockage, Présentation et Modalités d utilisation Page 1 sur 20 Sommaire I. Présentation du portail 3 A. Le concept

Plus en détail

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6. VXPERT SYSTEMES CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2 Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.2 Pour VXPERT.fr et FGAGNE.COM François Gagné fgagne@vxpert.fr 1 1.

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail

SERVEUR DE MESSAGERIE

SERVEUR DE MESSAGERIE CRÉEZ VOTRE SERVEUR DE MESSAGERIE avec: version 4.3-B248 Sommaire PREAMBULE et REMERCIEMENTS Page 2 INTRODUCTION Page 2 AVERTISSEMENT Page 3 INSTALLATION Page 3 CONFIGURATION Page 12 CLIENT DE MESAGERIE

Plus en détail

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet Expérience d un hébergeur public dans la sécurisation des sites Web, CCK Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet Plan Introduction Sécurisation des sites Web hébergés a Conclusion Introduction

Plus en détail

Installation de GFI MailEssentials

Installation de GFI MailEssentials Installation de GFI MailEssentials Introduction à l installation de GFI MailEssentials Ce chapitre explique la procédure à suivre pour installer et configurer GFI MailEssentials. Il y a deux façons de

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

Dispositif e-learning déployé sur les postes de travail

Dispositif e-learning déployé sur les postes de travail Résumé : Ce document fait l inventaire du matériel et des moyens nécessaires à la production de sessions de formation à distance à partir des postes de travail des salariés bénéficiant d une connexion

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail