Vous êtes sur la page 1sur 70

Rpublique Tunisienne Ministre de lEnseignement Suprieur et de la recherche scientifique

Universit de Monastir Institut Suprieur dInformatique de Mahdia

Projet de fin dtudes N dordre : .

MMOIRE
Prsent

Institut Suprieur dInformatique de Mahdia


En vue de lobtention

De la Licence en technologie de rseaux informatiques


par

Rhaiem Olfa & Alaya Gorchne Mouna

ETUDE

ET RALISATION DUN SERVEUR PROXY HTTP

POUR

ISIS

Soutenu le 30/5/2011 devant la commission d'examen :

Mr. Mr. Mr. Mr.

Arfa Hichem Hassen Bouhouch Hamdani M. Tarek Mouhieddine Belguiith

Prsident Rapporteur Encadreur Encadreur

Ddicaces
A mes parents, Salem et Ommseaid Ces deux tres exceptionnels et irremplaables, en signe de profonde gratitude pour leur soutien incessant, leur dvouement et leurs sacrifices. Que ce travail soit le tmoignage de l'amour que je leur voue. A mes chers frres Adel, Kamel, Fathi, Ahmed, Moldi, Mounir et ma sur Sonia qui ne sont cess de me donner leurs conseils judicieux, avec tout mon amour et mon affection. A toute ma famille A tous mes amis et surtout Raja, Sabrine, Fathia, Saida Avec toute ma tendresse et ma sympathie. A mes professeurs et mon encadreur Pour le profit que j'ai continuellement tir de leur savoir et de leur comptence. Qu'ils trouvent dans le modeste travail que j'ai ralis l'expression de ma sincre reconnaissance et de mon admiration sans limites pour l'tendue de leurs connaissances et pour leurs hautes qualits humaines et professionnelles.

Rhaiem Olfa

Ddicaces

A mes parents, Sessia et Habib Ces deux tres exceptionnels et irremplaables, en signe de profonde gratitude pour leur soutien incessant, leur dvouement et leurs sacrifices. Que ce travail soit le tmoignage de l'amour que je leur voue. A mes chers frres Fathi, Samir, Marwene et ma sur Sana, qui ne sont cess de me donner leurs conseils judicieux, avec tout mon amour et mon affection. A toute ma famille A tous mes amis et surtout Avec toute ma tendresse et ma sympathie. A mes professeurs et mon encadreur Pour le profit que j'ai continuellement tir de leur savoir et de leur comptence. Qu'ils trouvent dans le modeste travail que j'ai ralis l'expression de ma sincre reconnaissance et de mon admiration sans limites Pour l'tendue de leurs connaissances et pour leurs hautes qualits humaines et professionnelles.

Alaya Gorchene Mouna

Remerciements

Avec un grand plaisir que nous tenons exprimer nos remerciements et nos immenses reconnaissances et gratitudes tous ceux qui nous ont aids, de prs ou de loin, laborer notre projet de fin dtudes.

Nous adressons nos sincres remerciements notre encadrer : Mr Hamdani M.Tarek & Mr Mouhieddine Belguith Pour leurs soutiens, leurs indulgence, leurs prcieuses collaboration patience, leurs disponibilit et leurs comprhensibilits tout le long du projet en nous fournissant toutes les conditions favorables et adquates afin daboutir bien raliser notre application.

Nous tenons de mme remercier les membres du jury, qui ont accept dvaluer notre travail quon souhaite quil mritera leur assistance. A tous les autres qui par leur et leur conseils nous ont encourags. Veillez tre assurs de nos admiration et nos respect.

Etude et Ralisation dun Serveur Proxy http

Rhaiem Olfa & Alaya Gorchne Mouna

Table des matires


Introduction gnrale .1 Chapitre 1 : Prsentation de cadre du projet.....2 1. Introduction...........................3 2. Prsentation de la socit daccueil Isis.......3 2.1. Historique...3 2.2. Les services dIsis..3 2.3. Objectifs......4 2.4. Organigramme.............4 3. Prsentation du projet serveur proxy http.....5 3.1. Problmatique.........5 3.2. Travail demand.....5 4. Conclusion......5 Chapitre 2 : Notion de base de serveur proxy http....6 1. Introduction...7 2. Prsentation serveur proxy..7 2.1. Description......7 2.2. Types de serveur proxy.......8 2.3. Avantages....8 2.4. Inconvnients......9 3. Serveur proxy http........9 3.1. Description..........9 3.2. Mode de fonctionnement.......10 3.3. Principe de fonctionnement......10 3.3.1. Le web......11 3.3.2. LURL......11 3.4. Types de serveur proxy http......11 3.4.1. Proxy Transparent........11 3.4.2. Proxy Anonyme...11 3.4.3. Proxy Fausseur......11 3.5. Le protocoles TCP et UDP.....12 3.6. Fonctionnalit de serveur proxy http..........12 Page 5

4. Conclusion........13 Chapitre 3 : Etude conceptuel14 1. Introduction.....15 2. Analyse de besoin.....15 2.1. Architecture du rseau....15 2.1.1. Dfinition darchitecture client /serveur.......15 2.1.2. Mode de fonctionnement...16 2.1. 3. Avantages et Inconvnients de l'architectureclient/serveur......16 2.1.4. Les diffrents models de client /serveur......17 2.1.5. Architecture client/serveur......18 2.1.6. Types darchitecture client-serveur.........18 2.2. Sockets et adresses IP.......19 2.2.1. Description de sockets....19 2.2.2. Types de sockets.....19 2.2.3. Les caractristiques de socket.....19 2.2.4. Interaction client /serveur : socket TCP...20 2.2.5. Adresse IP........20 2.3. Port......21 2.3.1. Description..21 2.3.2. Les plages de ports .....21 3. Dfinition dUML........21 4. Dmarche conceptuelle.......21 4.1. Diagrammes de cas dutilisation........22 4.1.1. Diagrammes de cas dutilisation pour ladministrateur.22

4.1.2. Diagrammes de cas dutilisation pour ladministrateur limit........27

4.1.3. Diagrammes de cas dutilisation pour lutilisateur.........30 4.2. Diagrammes de classe......32 4.3. Diagrammes de squence..33 4.3.1. Diagramme de squence du cas dutilisation authentification ........33

4.3.2. Diagramme de squence du cas dutilisation ajout de site ..........33 4.3.3. Diagramme de squence du cas dutilisation...34 4.3.4. Diagramme de squence du cas dutilisation.......34 4.4. Diagrammes dactivit......................35 4.4.1. Diagramme dactivit du cas dutilisation Authentification ..35 4.4.2. Diagramme dactivit du cas dutilisation gestion dutilisateur .....36 5. Conclusion......36 Chapitre 4:Etude technique & Ralisation......37 1. Introduction.......38 2. Etude technique.....38 2.1. Environnement matrielle........38 2.2. Environnement de dveloppement....................38 2.3. Outil de dveloppement.38 2.3.1. Prsentation dAccess.....39 2.3.2. Prsentation de VB6............39 2.3.3. Prsentation de Rational Rose.........39 3. Ralisation........39 3.1. Chronogrammes.......39 3.2. Hirarchie de lapplication.......40 3.3. Installation de serveur proxy sur une passerelle....41 3.4. Configuration de client.....41 3.5. Test de lapplication......44 3.5.1. Authentification.......................44 3.5.2. Authentification dutilisateur .........45 3.5.3. Affichage log...48 3.5.4. Horloge....48 3.5.6. vider log...............................49 3.5.7. Confidentialit.........50 3.5.8. Contrle daccs......53 3.5.9 . Proxy..53 3.5.10. Page daide...................54 3 .5.11. Etablissement dune connexion ......54 4. Conclusion.......55 Conclusion gnrale et perspectives.....56

Bibliographies.......57 Webographies........65

Liste des figures


Figure 1 : Laccueil de la socit Figure2 : Organigramme de la socit Figure3 : Architecture serveur proxy Figure4 : Une transaction http Figure5 : Schma de requte/rponse http Figure6 : Structure dune URL Figure7: Connexion TCP Figure 8 : Dialogue entre client et serveur.....21 Figure9 : Mode de fonctionnement.......22 Figure10: Architecture de rpartion des tche.......23 Figure11: Architecture client /serveur........24 Figure12: Socket TCP....26 Figure 13: Diagramme de cas dutilisation pour ladministrateur.........29 Figure14: Diagramme de cas dutilisation pour ladministrateur limit ...33 Figure15 : Diagramme de cas dutilisation pour lutilisateur.........37 Figure16: Diagramme de classe de gestion de contrle.....39 Figure17: Diagramme de squence du cas dutilisation authentification ......40 Figure 18 : Diagramme de squence du cas dutilisation ajout de site ....41 Figure 19: Diagramme de squence du cas dutilisation suppression de site ..41 Figure20 : Diagramme de squence du cas dutilisation de connexion .....42 Figure21 : Diagramme dactivit du cas dutilisation Authentification ....43 Figure22: Diagramme dactivit du cas dutilisation gestion dutilisateur 44 Figure 23: Chronogramme prvisionnel...47 Figure 24: Chronogramme effectif de lapplication.....48 Figure25 : Organigramme gnral de lapplication .48 Figure26: Mise en place dun serveur proxy dans le rseau.49

Figure27 : Permire tape de configuration de client...49 Figure28 :Deuxime tape de configuration de client .50 Figure29:Troisime tape de configuration de client...50 Figure30 : Quatrime tape de configuration de client....50 Figure31: Cinquime tape de configuration de client.51 Figure32 :Sixime tape de configuration de client..51 Figure33: Formulaire dauthentification.......52 Figure34: Page daccueil de serveur proxy http........52 Figure 35: Message derreur de lauthentification.....53 Figure 36: Recherche dans la base.....53 Figure37 : Validation de recherche .......54 Figure38: Erreur de la prsence dutilisateur recherch 54 Figure39 : Ajout dun nouveau utilisateur .....55 Figure40: Modification de mot passe dans la base de donnes ....55 Figure41: Historique de connexion56 Figure42: La formulaire de rglage le temp de connection/dconnection.....56 Figure43 : Temps de connexion /dconnexion.......57 Figure44: Vider lhistorique de la connexion.....57 Figure45 : Formulaire de confidentialit....58 Figure46 : Saisir le site ou le mot bloqu....59 Figure47 : Lenregistrement du site bloqu dans la base....59 Figure 48: Suppression dun site....60 Figure 49: Enregistrement la suppression de site.......60 Figure 50: Absence de site slectionn...60 Figure 51: Slectionner les utilisateurs connects..61 Figure 52: Port et les adresse de proxy.......61 Figure 53: Page daide ...62 Figure 54: Demande de connexion.....62 Figure55 : Tlchargement le site demand par lutilisateur......63

Introduction gnrale

Devant la complexit croissante des rseaux qui a devenu de plus en plus gigantesque et tendue on se trouvera des problmes dangereux, pour cela il faut obliger de rechercher des solutions de scurit. La limitation dinternet nous permet dencadrer et contrler l'utilisation d'Internet au sein de notre entreprise pour bloquer, interdire, limiter ou filtrer linternet. Pour cela on va utiliser le serveur informatique Proxy http dont le rle de contrler les accs au sein de la socit et bloquer les sites indsirables, ce dernier est un outil qui permet de contrler l'utilisation d'Internet au sein de lentreprise, il va optimiser considrablement l'usage de l'Internet en milieu professionnel, rguler notre consommation de bande passante et empcher l'accs tous les sites non dsirs. Dans la cadre de notre projet de fin dtudes, nous sommes menes dvelopper une application dans le rseau serveur proxy http, cette application sera excute dans un PC. Le travail a pour objectif de contrler lutilisation daccs internet au sein de lentreprise. Les tapes dlaboration de ce projet sont prsentes dune faon dtaille dans ce rapport, dans le quel nous avons essay dorganiser notre travail sur quatre chapitres, le premier est sera consacr pour prsenter le cadre du projet ensuite nous avons enchain avec le second chapitre qui traite la prsentation des rsultats de ltude qui nous avons faire sur le serveur informatique proxy, suivie par le troisime chapitre qui aborde la conception des fonctionnalits de proxy http, le dernier chapitre est consacr la prsentation de la plate forme de dveloppement et la ralisation. Enfin, on termine ce rapport avec une conclusion gnrale qui illustre les diffrentes tapes de ce projet ainsi que les perspectives de ce travail.

Chapitre 1 Prsentation de cadre du projet

1. Introduction
Nous avons ralis notre stage au sein de la socit Isis dans le cadre de la prsentation de notre projet de fin dtude (PFE). Dans ce chapitre nous allons prsenter dans un premier lieu la socit daccueil puis nous allons prsenter le projet en dfinissant ses objectifs et ses spcifications.

2. prsentation de la socit daccueil Isis


2.1. Historique
L'institut de services en informatique est un institut de formation des adultes priv. Il est cre en 2001 au Sousse. L'Isis a slectionn des enseignants de haut niveau.

Figure 1: Laccueil de la socit

2.2. Les services dIsis


LInstitut de Services en Informatique de Sahel (Isis) vous donne la possibilit dintgration dans la vie professionnelle laide des techniques des formations acclres et continues et diplmes homologues dans tous les domaines de linformatique et permet aussi de dfier tous les obstacles pour vous donne des formations en (Franais, Anglais, Allemand, Espagnol, Russe, Japonais, Italien).

2.3. Objectifs
Isis est soucieuse de respecter la culture et les traditions de formation professionnelle au niveau de son organisation, de ses programmes d'enseignement, de ses examens et de ses programmes de recherches scientifiques. Linstitut se veut ouverte sur son environnement travers ses enseignements qui rpondent aux besoins du march de l'emploi et son systme de stages obligatoires pour aider les tudiants intgrer dans le monde professionnel.

2.4. Organigramme
Notre socit de stage est compose par un directeur gnrale et des formateurs comme il est prsent dans le figure ci-dessous.

Figure 2 : Organigramme de la socit

3. Prsentation du projet proxy http


3.1. Problmatique
Devant la complexit croissante des rseaux qui a devenu de plus en plus gigantesque et tendue, on se trouvera devant le dfi de se contribuer la recherche des solutions de scurit.

3.2. Travail demand


Dans le cadre de se projet, nous avons demand une solution de scurit pour Isis en utilisant loutil de contrle proxy http dont le rle de contrler les accs au sein de la socit et bloquer les sites indsirables. Pour ce faire, nous avons suivi les tapes suivantes : Eliminer tous les accs aux sites indsirables Contrler les accs au sein de linstitut. Limiter les accs lintranet un horaire prdfini. Laccs linternet se fait par une authentification.

4. Conclusion
Aprs avoir donn un flash sur la socit mets son historique, son organisation, son activit, son objectifs. Nous allons passer dans ce qui suit lessentiel de notre projet et nous allons aborder dans le chapitre suivant les notions de base du serveur proxy http.

Chapitre 2 Les notions de base de serveur proxy http

1. Introduction

Dans ce chapitre, nous allons prsenter les notions de base de serveur proxy http. Ces concepts nous seront un prs-requis pour les chapitres qui suivent .Nous allons prsenter le serveur proxy http ainsi que les fonctions qui lui sont associs.

2. Prsentation Serveur proxy 2.1. Description


Un serveur mandataire (intermdiaire) ou proxy est un serveur informatique qui a pour fonction de relayer des requtes entre un poste client et un serveur. La liaison entre le client et le serveur n'est pas toujours directe, il peut exister des machines intermdiaires servant de relais qui sont : Un proxy (ou serveur mandataire) peut modifier les rponses et requtes qu'il reoit et peut grer un cache des ressources demandes. Une passerelle (ou Gateway) est un intermdiaire modifiant le protocole utilis. Un tunnel transmet les requtes et les rponses sans aucune modification, ni mise en cache.

Figure 3: Architecture serveur proxy

2.2. Types de serveur proxy


Les types de serveur proxy les plus connu sont : Serveur proxy DNS : (Domain Name System): le serveur DNS prsente un service de transformer les adresses composes de noms en adresses IP (composes de nombres), comprhensibles par des machines. Serveur proxy de messagerie : le serveur de messagerie est un logiciel,courrier lectronique bas sur l'utilisation d'une bote lettres lectronique. Serveur proxy de fichier : Cest un dispositif informatique et de stockage ddi stocker des fichiers. Permet de stocker et de partager les fichiers de lentreprise. Serveur proxy dimprimant : Cest un ordinateur joue le rle dun serveur de rseau qui gre le trafic rseau et une ou plusieurs imprimantes. Serveur proxy de DHCP : Le protocole DHCP (Dynamics Host Configuration Protocol) est un processus qui permet d'attribuer dynamiquement les adresses IP. Serveur proxy web (http) : serveur informatique permet de gnrer des pages HTML capables dtre affiches dans un navigateur. Ces pages sont accessibles via le protocole http.

2.3. Avantages
Les avantages de serveur proxy sont : Interprter le trafic et mettre en cache les informations. Diminuer le trafic et augmente la bande passante. limiter les accs certaines parties d'un site et ses fonctionnalits. contrler ce qui transite sur le rseau, et connaitre les protocoles peuvent circuler. tirer alors dans son cache ce qui est plus rapide sans utilisation de la bande passante du Filtrer les contenus des programmes.

rseau vers Internet.

2.4. Inconvnients
Les inconvnients les plus importants sont : L'impossibilit d'utiliser les paquets UDP. Les serveurs proxy sont lents.

3. Serveur proxy http


3.1. Description
Un serveur proxy est un ordinateur intermdiaire install entre lordinateur de lutilisateur et linternet. Ainsi, lutilisateur sadresse toujours au proxy qui lui sadresse ensuite au serveur internet .la plupart du temps le serveur proxy http est utilis pour les web, il sagit alors dun proxy http en utilisant le protocole http. Le Protocole http (HyperText transfert Protocol) sert au dialogue entre votre navigateur Web (client http) et un serveur (serveur http), c'est un protocole bas sur TCP, une fois trouver une connexion TCP sur le port 80 du serveur ce dernier va envoyer une requte vers le serveur alors : Le serveur http : une machine servant de relais pour les requtes http. Le client http : cest lui qui initialise le dialogue avec le serveur http.

3.2. Mode de fonctionnement


HTTP est un protocole transactionnel, bas sur le principe de Requte/Rponse. Une transaction http se dcompose en quatre phases prsentes dans la figure 4.

Figure 4: Une transaction http

3.3. Principe de fonctionnement


Le protocole http dfinie la communication entre un client (navigateur) et un serveur sur le World Wilde Web (WWW). Le serveur http est bas sur le principe requte/rponse comme prsente sur la figure ci-dessous.

Figure 5: Schma de requte/rponse http

3.3.1. Le web
Le Web (www) est un systme d'informations qui permet aux utilisateurs de naviguer sur Internet. Un navigateur veut consulter un site web laide dun protocole de communication informatique dvelopp pour le web (http). Le protocole http transfert les documents entre le serveur http et le navigateur web, lindication de ce protocole prcde gnralement l'adresse d'un site. C'est le protocole le plus utilis sur Internet. Le client d'un serveur http est le principe de navigateur Internet.

3.3.2. LURL
URL (Uniform Resource Locator) est un format de nommage universel pour dsigner une ressource sur Internet. Se dcompose en cinq parties comme se prsente sur la figure si dessous.

Figure 6: Structure dune URL

3.4. Types de serveur proxy http

Il existe trois types de serveurs proxy :

3.4.1. Proxy Transparent


Cest un proxy qui laisse l'adresse IP du client visible travers les headers HTTP. Ils ne sont pas anonymes et sont gnralement utiliss pour la mise en cache.

3.4.2. Proxy Anonyme


Ce type de proxy peut masquer les informations concernant votre ordinateur (votre systme d'exploitation, votre adresse IP...).

3.4.3. Proxy Fausseur


Ce type de proxy change ladresse IP de client avec une adresse IP fausse, incorrecte travers les headers HTTP.

3.5. Le protocoles TCP et UDP


Le protocole TCP (Transport Control Protocol) est bas sur la couche transport, en mode connect, possde un systme d'accus de rception permettant au client et au serveur de s'assurer de la bonne rception et transfert des donnes de faon fiable en utilisant le protocole IP.

Figure 7: Connexion TCP Lors de l'mission d'un segment, un numro d'ordre (appel aussi numro de squence) est associ, rception d'un segment de donne, la machine rceptrice va retourner un segment de donne dont le drapeau ACK est 1 accompagn d'un numro d'accus de rception gal au numro d'ordre prcdent. Le protocole UDP est bas sur la couche 4 (couche transport) en mode non connect. Il n'ouvre pas de session et n'effectue pas de control d'erreur. Il est donc peut fiable et permet aux applications d'accder directement un service de transmission de Datagrammes rapide.

3.6. Fonctionnalit de serveur proxy http


Les serveurs proxy HTTP peuvent assurer diffrentes fonctions, nous pouvons les citer : Cache : Cette fonction permet d'augmenter la rapidit de chargement des pages les plus consultes. Journalisation/Authentification : Tous les accs au Web tant relays par le serveur mandataire, qui permet deffectuer lauthentification des clients et la journalisation des requtes. Ceci est indispensable sur les rseaux professionnels. Filtrage : Le serveur peut aussi analyser l'URL des ressources afin de filtrer les requtes HTTP. Ce filtrage se fait gnralement selon une liste rouge. Relais : Le rle de relais du serveur proxy peut tre assur par les passerelles et les Routeurs.

4. Conclusion
Dans ce chapitre nous avons essay de prsenter dune faon brve et prcise les concepts de base du serveur proxy http ainsi que leur fonctionnalit et leurs principaux types et par la suite nous aurons explique larchitecture du rseau ainsi le mthode utilis.

Chapitre 3 Etude conceptuel

1. Introduction
Ltude conceptuelle reprsente une tape fondamentale pour lorganisation et le dveloppement de nimporte quel projet, pour cela, dans ce chapitre nous allons prsenter les diagrammes qui ont men limplmentation de notre application de gestion de contrle.

2. Analyse de besoin
2.1. Architecture du rseau
2.1.1. Dfinition darchitecture client /serveur
Larchitecture client-serveur est base sur lutilisation de deux types de logiciels, savoir un logiciel serveur et un logiciel client sexcutant normalement sur deux machines diffrentes. Le Client qui demande un service du serveur

Le serveur qui ralise ce service et renvoie le rsultat au client.

Figure 8 : Dialogue entre client et serveur

2.1.2. Mode de fonctionnement


Dans une architecture client/serveur lchange des requtes se fait comme prsent dans la figure 8, en effet : Le client envoie une requte au serveur. (send request) Le serveur reoit la requte et la traite. (send replay) Le client reoit la rponse du serveur.

Figure 9: Mode de fonctionnement

2.1.3. Avantages et inconvnients de l'architecture client/serveur


Le modle client/serveur est particulirement recommand pour des rseaux ncessitant un grand niveau de fiabilit, ses principaux atouts sont : Des ressources centralises : le serveur est au centre du rseau, il peut grer des Une meilleure scurit : le nombre de points d'entre permettant l'accs aux Une administration au niveau serveur : les clients ayant peu d'importance dans ce Un rseau volutif : grce cette architecture il est possible de supprimer ou

ressources communes tous les utilisateurs. donnes est moins important. modle, ils ont moins besoin d'tre administrs. rajouter des clients sans perturber le fonctionnement du rseau et sans modification majeure.

Ses Principaux inconvnients sont : Un cot lev : d la technicit du serveur Un maillon faible : le serveur est le seul maillon faible du rseau client/serveur, tant donn que tout le rseau est architectur autour de lui.

2.1.4. Les diffrents modles de larchitecture client/serveur


Le client/serveur de prsentation : Cest le premier niveau o le client prsente des pages affichs.

Le client/serveur de traitement : Cest le deuxime niveau o le serveur effectue

des traitements la demande du client .il peut sagir de traitement particulier sur des donnes et traitement sont intgres. SGBD. Le client/serveur de donnes : cest le troisime niveau o le serveur assure des tches de gestion, stockage et de traitement de donnes, cest le cas le plus utilis dans la

Figure 10 : Architecture de rpartion des tches

2.1.5. Architecture client/serveur


Larchitecture de client/serveur : Larchitecture 2 tiers : on appel client serveur de donnes et une application de gestion fonctionnant sous Windows ou linux exploitant un SGBD centralis. Larchitecture 3tiers : cette architecture est volue aussi pour palier les limitations de larchitecture deux tiers galement appele client/serveur distribu spar lapplication en 3 niveaux de services distincts :

Premier niveau : laffichage et le traitement locaux sont prise en charge par la poste client Deuxime niveau : les traitements applicatifs globaux sont pris en charge par le service applicatif Troisime niveau : les services de base de donnes sont pris en charge par un SGBD

Figure11 : Architecture client /serveur Larchitecture de n_tiers : pour palier aux limitations des architectures trois tiers et concevoir des applications puissantes et simples maintenir .cette architecture permet de distribuer plus librement la logique applicatif, ce qui facilite la rpartition de la charge entre tous les niveaux.

2.1.6. Types darchitecture client-serveur


Le client et le serveur sont des logiciels qui peuvent tre installs sur des ordinateurs diffrents et qui communiquent via un rseau commun, ou tous les deux physiquement sur la mme machine Il existe deux types darchitecture : client lger : Lorsque le client ne fait presque rien sauf passer des requtes au serveur et afficher la rponse client lourd : plus grande partie de la logique d'affaire est implmente dans le client

2.2. Sockets et adresse IP


2.2.1. Description de sockets

Un socket est une sorte de point de communication pour les protocoles de transmission de donnes comme TCP/IP.les socket sont des objets permettant de gestion de deux flux de donnes : un flux dentre garantissant la rception des donnes, et un flux de sorties, un servant envoyer les donnes.

2.2.2. Types de sockets


On distingue deux types de socket :

Socket locale (dite client ) : Cest un socket qui va se connecter sur un socket

serveur pour lui demander deffectuer des tches.

Socket internet (dite serveur ) : Cest une rponse pour le client.

2.2.3. Les caractristiques de Socket


Fiabilit Prservation de l'ordre des donnes Non duplication des donnes Communication en mode connect Prservation des limites de messages

2.2.4. Interaction client /serveur : socket TCP

Figure12: Socket TCP

2.2.5. Adresse IP
Sur Internet, les ordinateurs communiquent entre eux grce au protocole IP (Internet Protocol), qui utilise des adresses numriques, appeles adresses IP de 32 bits, composes de 4 nombres entiers entre 0 et 255 et notes sous la forme xxx.xxx.xxx.xxx. Ces adresses servent aux ordinateurs du rseau pour communiquer entre-deux, ainsi chaque ordinateur d'un rseau possde une adresse IP unique sur ce rseau. On distingue deux parties dans l'adresse IP : Une partie des nombres gauche dsigne le rseau est appele ID de rseau (en Les nombres de droite dsignent les ordinateurs de ce rseau est appele ID d'hte (en

anglais net ID), anglais host-ID). Le proxy dispose de deux adresses : L'une dans le rseau priv (192.168.0.253 dans l'exemple) L'autre sur le rseau du FAI (fournisseur daccs internet) (80.8.128.5 dans

l'exemple)

2.3. Port
2.3.1. Description
Un port est une adresse unique sur la machine, code sur 16 bits Canal ddi un service spcifique 80 pour le service http 25 pour le service SMTP Chaque hte possde environ 65535 ports

2.3.2. Les plages de ports


ports reconnus : [0 1023] ports enregistrs : [1024 49151] ports dynamiques et/ou privs : [49152 65535]

3. Dfinition dUML
UML(en anglais Unified Modeling Language , langage de modlisation unifi ) est un langage graphique de modlisation des donnes et des traitements. Cest une formalisation trs aboutie et non propritaire de la modlisation objet. Pour simplifier nimporte quel travail, il faut donc un langage (pour sexprimer clairement laide des concepts objet), qui doit permettre de reprsenter des concepts abstraits (graphiquement par exemple), limiter les ambiguts (parler un langage commun, au vocabulaire prcis, indpendant des langages orients objet), faciliter lanalyse (ssimplifier la comparaison et lvaluation de solutions).

4. Dmarche conceptuelle
Pour dfinir nos objectifs, on a suivi les tapes suivantes : Diagrammes de cas dutilisation Diagrammes de classe Diagrammes de squence

Diagrammes dactivit

4.1. Diagrammes de cas dutilisation


Le diagramme de cas dutilisation nous permet de mieux comprendre les interactions entre le systme et les acteurs. Pour mieux dcrire les cas dutilisation de notre application, on sest bas sur une structuration claire et simple offrant une fiche dtaillante pour chaque cas dutilisation. Cette fiche sera structure alors comme suit : Sommaire didentification : inclut titre, but, rsum, et acteur Description des enchainements : inclut les pr-condition(s) qui dclenchent le cas

dutilisation, les diffrents enchainements (scnarios) qui le composent, les exceptions qui surviennent et les post-condition(s) qui rsument les nouvelles conditions qui se crent aprs la fin du cas dutilisation.

4.1.1. Diagramme de cas dutilisation pour ladministrateur

La figure 13 prsente les permissions de ladministrateur.

Figure 13 : Diagramme de cas dutilisation pour ladministrateur Authentification Titre Authentification

But

Permettre lutilisateur daccder lapplication

Rsum

Ladministrateur, ladministrateur limit, et les utilisateurs remplissent un formulaire dauthentification afin de pouvoir grer leur tche

Acteur

administrateur, administrateur limit, utilisateur

o Description des enchainements Pr conditions

Il faut configurer le nom de serveur de donnes pour faire une connexion avec la base de donnes et que lapplication soit dmarre. Enchainements Ce cas dutilisation commence lorsque lun des utilisateurs (administrateur, administrateur limit, utilisateur) dsire accder son interface dutilisation. Un formulaire contenant le champ login et mot de passe est affich. Lutilisateur saisit ses coordonnes et valide lauthentification.

Exception [Erreur de connexion : votre login ou mot de passe est incorrect] : cette exception est dclenche en cas du mot de passe ou du login erron. Post condition Une fois authentifi avec succs, lutilisateur peut accder aux services qui lui sont affects. Grer les utilisateurs Titre But Grer les utilisateurs Permettre ladministrateur de grer les utilisateurs dapplication. Rsum Ladministrateur peut ajouter, supprimer, et modifier les utilisateurs Acteur Administrateur

o Description des enchainements Pr conditions Ladministrateur est dj authentifi Enchainements Ladministrateur accder son interface, il sera en face dajouter un nouveau utilisateur

selon leur type (administrateur, administrateur limit, utilisateur) en remplissant un simple formulaire dont ses champs sont nom, prnom, login, et mot de passe. Post condition La table auth de la base de donnes est mise jour. Grer la liste Titre But Rsum Grer la liste Permettre ladministrateur de grer la liste Ladministrateur peut ajouter, supprimer, et enregistrer un site ou un mot qui peut bloquer Acteur o Description des enchainements Pr conditions Ladministrateur est dj authentifi Enchainements Ladministrateur peut accder la base pour ajouter ou supprimer ou enregistrer un site ou un mot en remplissant les champs de table liste (id, liste rouge) pour bloquer ladresse ou le mot qui ne peut pas accder Post conditions La table liste de la base de donnes est mise jour. Modifier lapplication Titre But Rsum Modifier lapplication Permettre ladministrateur de modifier lapplication Ladministrateur peut modifier lhorloge de connexion/dconnection et grer la scurisation de connexion Acteur Administrateur Administrateur

o Description des enchainements Pr conditions Ladministrateur est dj authentifi Enchainements Ladministrateur accder son interface dutilisation, il accde linterface horloge, pour modifier le temps de connexion et le temps de dconnexion. Grer lhistorique Titre But Rsum Acteur o Description des enchainements Pr conditions Ladministrateur est dj authentifi Enchainements Ladministrateur accder son interface dutilisation, il peut consulter lhistorique de connexion (la date, lheur, et les adresses) de connexion au serveur proxy) il peut aussi le supprimer. Grer lhistorique Permettre ladministrateur de grer lhistorique Ladministrateur peut consulter ou supprimer lhistorique de connexion. Administrateur

4.1.2. Diagramme de cas dutilisation pour ladministrateur limit

Le diagramme (figure14) prsente les permissions de ladministrateur limit.

Figure 14:Diagramme de cas dutilisation pour ladministrateur limit Authentification Titre Authentification

But

Permettre lutilisateur daccder lapplication Ladministrateur limit, et les

Rsum

utilisateurs remplissent un formulaire dauthentification afin de pouvoir grer leur tche

Acteur

administrateur, administrateur limit, utilisateur

o Description des enchainements Pr conditions Il faut configurer le nom de serveur de donnes pour faire une connexion avec la base de donnes et que lapplication soit dmarre Enchainements

Ce cas dutilisation commence lorsque lun des utilisateurs (administrateur, administrateur limit, utilisateur) dsire accder son interface dutilisation. Un formulaire contenant le champ login et mot de passe est affich

Lutilisateur saisit ses coordonnes et valide lauthentification. Exception [Erreur de connexion : votre login ou mot de passe est incorrect] : cette exception est dclenche en cas du mot de passe ou du login erron. Post condition Une fois authentifi avec succs, lutilisateur peut accder aux services qui lui sont affects Grer la liste Titre But Rsum Grer la liste Permettre ladministrateur limit de grer la liste Ladministrateur limit peut ajouter, supprimer et enregistrer un site ou un mot qui peut bloquer Acteur Administrateur limit

o Description des enchainements Pr conditions Ladministrateur limit est dj authentifi Enchainements Ladministrateur limit peut accder la base pour ajouter ou supprimer ou enregistrer un site ou un mot en remplissant les champs de table liste (id, liste rouge) pour bloquer le site ou le mot qui ne peut pas accder Post conditions La table liste de la base de donnes est mise jour.

Modifier lapplication Titre But Rsum Modifier lapplication Permettre ladministrateur limit de modifier lapplication Ladministrateur limit peut modifier lhorloge de connexion/dconnection et grer la scurisation de connexion Acteur Administrateur limit

o Description des enchainements Pr conditions Ladministrateur limit est dj authentifi Enchainements Ladministrateur limit accder son interface dutilisation, il accde linterface horloge, pour modifier le temps de connexion et le temps de dconnexion. Grer lhistorique Titre But Rsum Grer lhistorique Permettre ladministrateur limit de grer lhistorique Ladministrateur limit peut consulter ou supprimer lhistorique de connexion. Acteur o Description des enchainements Pr conditions Ladministrateur limit est dj authentifi Enchainements Administrateur limit

Ladministrateur limit accder son interface dutilisation, il peut consulter lhistorique de connexion (la date, lheur et les adresses de connexion au serveur proxy) il peut aussi supprimer.

4.1.3. Diagramme de cas dutilisation pour lutilisateur

La figure 15 prsente les permissions de lutilisateur.

Figure 15 : Diagramme de cas dutilisation pour lutilisateur

Grer lhistorique Titre But Rsum Acteur Grer la connexion Permettre a lutilisateur de grer la connexion Lutilisateur peut ajouter ladresse ip proxy, et ajouter le port de connexion Utilisateur

o Description des enchainements

Pr conditions Lutilisateur est dj authentifi Enchainements Lutilisateur fait la configuration de linternet il fait entrer ladresse ip et le port de serveur proxy http pour demander la connexion via ce dernier Post conditions La configuration se fait avec succs Demande de connexion Titre But Rsum Acteur Demande de connexion Permettre a lutilisateur de demand la connexion Lutilisateur peut consulter la page web Utilisateur

o Description des enchainements Pr conditions Lutilisateur est dj authentifi Enchainements Lutilisateur envoi une requte qui contient l@IP et le port pour consulter la page web Post conditions Demande de connexion accepter et page web consulter

4.2

. Diagrammes de classe de gestion de contrle

Le diagramme (figure16) reprsente que chaque utilisateur (administrateur, administrateur limit et utilisateur) peut accder son propre compte pour quil puisse se connecter cette application. Il peut aussi consulter la table de base Log et grer la base liste

Figure 16 : Diagramme de classe pour la gestion de contrle

4.3. Diagrammes de squence


4.3.1. Diagramme de squence du cas dutilisation authentification
Le diagramme (figure17) reprsente que lutilisateur se trouve en face de remplir un formulaire dont leur champs sont le login et mot de passe, une vrification se fait automatiquement travers la table compte base de donnes puis peut donner la permission daccs.

Figure 17 : Diagramme de squence du cas dutilisation authentification

4.3.2. Diagramme de squence du cas dutilisation ajout de site Le diagramme (figure18) reprsente linteraction dajout entre lutilisateur et la liste.

Figure 18 : Diagramme de squence du cas dutilisation ajout de site

4.3.3. Diagramme de squence du cas dutilisation suppression de site


Lutilisateur ajout un nouveau site sil nest pas enregistr et peut aussi supprimer des sites et des mots puis il enregistrer dans la base.

Figure 19 : Diagramme de squence du cas dutilisation suppression de site

4.3.4. Diagramme de squence du cas dutilisation connexion


Au dbut, lutilisateur demande dtablir de connexion sil est disponible, il envoi une requte au serveur, le serveur faire passer le requte a linternet et aprs la vrification le requte est envoye au serveur (proxy) et enfin le requte reu par lutilisateur.

Figure 20 : Diagramme de squence du cas dutilisation de connexion

4.4. Diagrammes dactivit


4.4.1. Diagramme dactivit du cas dutilisation Authentification
Lutilisateur doit remplir le formulaire, si le remplissage de formulaire est correct alors permission daccs si non remploie autre fois correctement.

Figure 21 : Diagramme dactivit du cas dutilisation Authentification

4.4.2. Diagramme dactivit du cas dutilisation gestion dutilisateur


Lutilisateur veut mettre jour la liste dutilisateur, il passe linterface gestion des utilisateurs.une liste dutilisateur est affiche .En remplissant un formulaire, il peut slectionner un nouveau utilisateur, ou insrer ou suppression ou modifier un utilisateur .Sil y a un manque des donnes saisies ou erreur, un message derreur sera affich.

Figure 22 : Diagramme dactivit du cas dutilisation gestion dutilisateur

5. Conclusion
Dans ce chapitre nous avons expliqu en dtails ce que notre application est cense de le faire, ainsi que les interactions que droulent entre lutilisateur et le serveur.

Chapitre 4 Etude technique Et Ralisation


1. Introduction
Ce chapitre vise prsenter les diffrents logiciels et matriels utiliss afin de raliser une application de gestion de contrle applicable et comprhensible. Ainsi quune description dtaille de fonctionnement de systme.

2. Etude technique
2.1

. Environnement matrielle
Capacit du disque dur : 150 Go Processeur : de type Intel 2,09GHz Systme dexploitation : Windows Seven Capacit mmoire RAM(Random Access Memory) :2,96Go

Lapplication a t dveloppe sur un ordinateur dont les caractristiques sont :

2.2 . Environnement de dveloppement


Mthode de conception: UML Outil de conception : Rational Rose SGBD (systme de gestion de base de donnes) : Access 2007

Langage de programmation : VB6

2.3 2.3.1

. Outil de dveloppement
. Prsentation dAccess

Access est un logiciel qui est la fois, un gestionnaire de base de donnes (par la dfinition des table, des requte, des tats) et un outil de dveloppement des applications personnalises et spcialises pou la manipulation dune base de donnes.

2.3.2. Prsentation de VB6


VB6 est un langage de programmation de haut niveau dvelopp partir de la version antrieure DOS appel BASIC. Visual Basic 6 est assez facile que d'autres langages permettent de travailler dans une interface utilisateur graphique o vous pouvez simplement faire glisser et dposer des contrles que vous souhaitez.

2.3.3. Prsentation de Rational Rose


Rational Rose Entreprise Edition de Rational software Corporation, cest un logiciel de modlisation, contient des techniques de dveloppement et de la maintenance des diagrammes UML. Ce logiciel offre un gain de prcision. Son interface graphique permet dexprimer visuellement une solution objet.

3. Ralisation 3.1. Chronogrammes

Ce chronogramme prsent par la figure23 tait dcrit au dbut de notre travail, il explique les diffrents tapes dont nous avons dsir de lappliquer dans limplmentation de notre projet, mais nous navons pu le suivre.

Figure 23 : Chronogramme prvisionnel

La figure24 prsente le chronogramme effectif qui dcrit les tapes effective dont nous avons suivi durant ce stage.

et la dmarche

Figure 24 : Chronogramme effectif de lapplication

3.2. Hirarchie de lapplication

La structure de notre application est reprsente ci-dessous sous forme darborescence. Nous aurons ainsi constamment tous les lments avec leurs donnes subordonnes et les liens dont ils dpendent. Cette arborescence aide lutilisateur de mieux accder notre application.

Figure 25 : Organigramme gnral de lapplication

3.3. Installation de serveur proxy sur une passerelle

Figure 26 : Mise en place dun serveur proxy dans le rseau

3.4. Configuration de client

Chaque utilisateur peut faire la configuration qui se passe par les tapes se dessous pour connects au serveur proxy http.

Figure 27 : Premire tape de configuration de client

Figure 28 :Deuxime tape de configuration de client

Figure 29 : Troisime tape de configuration client

Figure 30 : Quatrime tape de configuration de client

Figure 31 : Cinquime tape de configuration de client

Figure 32 : Sixime tape de configuration client

3.5. Test de lapplication


3.5.1. Authentification
Pour accder la page daccueil, lutilisateur ou ladministrateur va remplir un formulaire dauthentification.

Figure 33 : Formulaire dauthentification Si le mot de passe et login vrais la page daccueil affich.

Figure 34 : Page dacceuil de serveur proxy http Sinon il affiche un message derreur

Figure 35 : Message derreur de lauthentification

3.5.2. Authentification dutilisateur


Il ya plusieurs taches dans la page daccueil. Si ladministrateur qui ouvre serveur proxy alors on peut faire lauthentification. On clique sur authentification, on va ouvrir la fentre grer lutilisateur qui nous permet dajouter un nouveau utilisateur, chercher un utilisateur ou faire la mise jour de donns.

Recheche dutilisateur dans la base pour chercher un utilisateur dans la base il faut saisie le nom recherch et click sur ok comme le suivant :

Figure 36 : Recherche dans le base

Validation de lauthentification Si lutilisateur est trouv sur la base le forme ci-dessous affich

Figure 37 :Validation de recherche et la prsence de lutilisateur rechercher dans la base auth En cas derreur le formulaire suivant saffiche

Figure 38 : Erreur de la prsence dutilisateur recherch

Ajout dun nouveau utilsateur dans la base

On clique sur le bouton nouveau puis on rempli la formulaire

Figure 39 : Ajout dun nouveau utilisateur Bouton mise jour On a aussi le bouton mise jour : lorsquon clique sur le bouton mise jour, on peut modifier dans la base ou juste faire mise jour, on va entrer le nom qui existe dans la base pour obtenir tous les coordonnes.

Figure 40 : Modification de mot passe dans la base de donnes

3.5.3. Affichage log

Figure 41 : Historique de connexion

3.5.4. Horloge
On clique sur valider alors que le temps de connexion et dconnexion est demarr.

Figure 42 : La formulaire de rglage le temp de connection/dconnection

Figure 43 : Temps de connexion /dconnexion

3.5.6 . Vider log


Si on veut suprimer lhistorique de connexion on clique sur le bouton oui sinon on tape sur le bouton non.

Figure 44 : Vider lhistorique de la connexion

3.5.7. Confidentialit
Avec le formulaire de confidentialit nous pouvons ajouter ou supprimer un site bloqu :

Ajout dun site bloqu

Pour ajouter bloqu un site pour lutilisateur il faut suivre les tapes suivant :

Ouvrir le formulaire confidentialit, saisie le site qui peuvent ajout , cliqu sur ajouter puis enregistrer comme reprsente le figure ci-dessous.

Figure 45 : Formulaire de confidentialit

Ajouter un autre site bloqu

Figure 46 : Saisir le site ou le mot bloqu Enregistrer le site ajout

Figure 47 :Lenregistrement du site bloqu dans la base Supprimer un site sur la base Pour supprimer un site dans la base il faut suivre les tapes suivant :

Slectionner le site qui peut supprimer dans la liste, cliquer sur supprimer puis enregistrer dans la base comme reprsente le dmarche ci-dessous.

Figure 48 : Suppression dun site

Figure 49 : Enregistrement la suppression de site

Figure 50 : Absence de site slectionn

3.5.8. Contrle daccs

Figure 51 : Slectionner les utilisateurs connects

3.5.9. Proxy

Figure 52 : Port et les adresse de proxy

3.5.10. Pages daide

Figure 53 : Page daide

3.5.11. Etablissements dune connexion

Apres faire la configuration du client nous allons activer notre proxy, le client demande une connexion sur un port bien dterminer et par une adresse IP de serveur, ce dernier peut le accepte ou nom.

Figure 54 : Demande de connexion

Figure 55 : Tlchargement le site demand par lutilisateur

4. Conclusion

Dans ce dernier chapitre, nous avons prsent lenvironnement de notre application, ainsi les principales interfaces qui prsentent les fonctionnalits de lapplication. Ces interfaces aident lutilisateur de bien comprendre les activits de lapplication, ainsi de bien suivi leur droulement.

Conclusion gnrale et perspectives

Ce projet de fin dtude, consiste concevoir et dvelopper un outil de gestion de contrle appel serveur proxy http, et prsente pour nous une exprience importante, inoubliable, il se prsent comme une opportunit dentrer dans le monde professionnel et une occasion de prendre la responsabilit de russir une tude et daccomplir un tel travail comme le serveur proxy http. La ralisation de ce projet est le fruit des connaissances acquises durant trois ans dtude, cette tude savre bnfique puisquelle nous avons permis de bien maitriser les rseaux dune part, ladministration et la gestion de ladministration dautre part. Dans ce rapport nous avons pu rassembler les lments essentiels permettant de grer un serveur proxy http et dexploiter ses diffrentes fonctionnalits.

Durant notre stage, nous avons essay de prsenter un projet complmentaire apte de garantir un fonctionnement satisfaisante pour lentreprise qui nous avons donns confiance pour accomplir une telle mission. Il reste dire que nous avons essay dajouter une fonction meilleur pour le proxy cest le contrle de lutilisateur qui nous permet liminer laccs pour un utilisateur non favori durant un temps choisie mais malheureusement il ya des contraintes temporelles et matrielles qui nous lempcher de termine cette fonction.

Bibliographies
[1] Michel Pelletier. Manuel vb6 59.Av. Emile Didier 05003Gap Cedex, avril 2003,383pages [2] Nancy J.Yeager et Robert E. McGrath traduction Eric Dekneuvel, paris, novembre

1996,400 pages

Webographies

www.vb6.fr

www.code source.com www.projet.developpez.com www.commentcamarche.ne www.socketmobile.com www.mon-ip.com/definition-adresse-ip.php

SERVEUR PROXY HTTP

Rhaiem Olfa & Alaya Gorchne Mouna

Rsum : Ce projet prsente un serveur proxy http. Ce serveur proxy http permet de
contrler les adresses IP et les pages web. Pour le client vient de se connecter via ce serveur proxy http, il faut entrer le mot de passe et login pour tre authentifier daprs ladministrateur .Le client envoie un socket qui contient une @IP et le numro de port de serveur proxy http. Le serveur proxy http bloque des sites indsirables, des mots et des pages web. Avec le serveur proxy http, on peut faire limiter aussi le temps de connexion et dconnexion avec une horloge bien dterminer.

Mots cls : serveur, client, http, IP, port et socket. Abstract: This project presents an HTTP proxy server.

Http proxy server that lets you control the IP addresses and web pages. For the client just connected via this http proxy server, enter the password and login to be authenticated by the administrator. The client sends a socket that contains a @ IP and port number of proxy server http. Http proxy server blocks undesirable websites, words and web pages. With the proxy server http, you can also limit the time of connection and disconnection with a clock well determined.

Key-words: server, client, http, IP, port and socket.

Adresse : Route de Rejiche, Km 4BP 35 ,5121-Mahdia-Tlphone (+216)73688751 Fax (+216)73688752

Email : isima@isima.rnu.tn

Vous aimerez peut-être aussi