Topologies et classification des réseaux 

SERVICE WEB ET PROTOCOLE HTTP

Le Web est le service le plus connu et le plus utilisé de l’Internet. C’est un ensemble de serveurs proposant des documents accessibles via le protocole HTTP. Il constitue actuellement la vitrine de l’Internet.
En effet, HTTP est un protocole simple et rapide, pour la transmission de documents distribués et multimédia (images, sons, animations, applications) à travers un système d’information multi utilisateurs. Il est généralement utilisé pour transférer des documents au format HTML « HyperText Markup Language ». HTTP est normalisé par le W3C « W ord W ide W eb Consortium », il est actuellement à sa version 1.1, mais la version 1.0 est la plus utilisée [6].

Terminologie

Serveur

Un serveur Web est un logiciel capable d’interpréter les requêtes HTTP arrivant sur le port associé au protocole HTTP, et de fournir une réponse avec ce même protocole.

Client

Il s’agit d’un logiciel capable d’envoyer des requêtes HTTP à un serveur Web, de décoder et de lire les réponses envoyées par le serveur.

Type MIME

Le type MIME « Multipurpose Internet Mail Extensions » permet de distinguer les différents fichiers transférés par le protocole HTTP [6]. Il a la forme suivante:
Content-type: type_mime_principal/sous_type_mime A titre d’exemple : text/html désigne un fichier au format html ou htm.

Méthode

Une méthode définit la manière d’envoyer une requête vers le serveur. Les méthodes GET et HEAD sont les plus utilisées, bienqu’il en existe d’autres.
– Méthode GET
La méthode GET signifie « récupérer » le contenu d’unfichier.
– Méthode HEAD
Elle permet de ne demander que les informations concernant le serveur et le fichier spécifié par l’URL.

Requêtes http

Une requête HTTP a la syntaxe suivante : METHODE URL VERSION \r\n
Entête : valeur \n\r où Url spécifie l’adresse du fichier, la version indique le numéro de version le protocole HTTP utilisé, les caractères \r\n permettent de spécifier une fin de ligne, un entête est un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête (Navigateur, système d’exploitation,…) (Cf.Ann.1)

DEVELOPPEMENT DE SITE WEB

Notions de base

HTML

Le HTML est une application du SGML « Standard Generalized Markup Language » qui a pour but d’indiquer, à partir des balises, la structure d’un document texte, balise de titre, paragraphe, etc. [8]. Ce n’est pas vraiment un langage de programmation, c’est un système qui permet de mettre en forme un document, en vue de dégager les liens hypertextes qu’il contient. Précisément, un lien hypertexte est un système qui relie par des liens activables des éléments d’information. Et, une balise est une commande (un nom) encadrée par le caractère inférieur (<) et le caractère supérieur (>) par exemple « <H1> ».

Page Web

Une page Web est un fichier destiné à être visiblesur le Web. Une page Web est généralement de type MIME text/html.

Site Web

Un site Web est un ensemble de fichiers stockés sur une machine connectée en permanence à Internet (un serveur Web). Ces fichiers sont reliés entre eux et contiennent des informations servantà faire connaître au public une société, un groupe de personnes, ou un individu.

Navigateur

Il s’agit d’un logiciel côté client qui permet de décoder et lire les pages écrites en HTML, il permet aussi de se déplacer très rapidement entre les sites, les pages et les serveurs Web. Les navigateurs « browser » les plus connus sont Internet Exploreret Netscape.

Différents types de site Web et leur concept

Une page Web peut être statique ou dynamique.

Page statique

Une page est dite statique lorsque son contenu est figé, c’est à dire qu’aucune action de la part du visiteur ne peut changer son contenu. Le langage HTML est suffisant pour la conception d’une page statique.

Page dynamique

La visite d’un site Web dépend souvent de son côté attractif, une image qui change au passage de la souris, une autre page qui s’ouvre en fonction des liens sélectionnés par l’utilisateur, etc. Ce type de page est appelé pages dynamiques.
Le HTML, à lui seul, ne permet pas de réaliser ces dynamismes ou interactivités, il faut donc introduire d’autres langages appelés « langages dynamiques », qui sont en général des langages dérivés d’autres langages existants.
Il existe deux types de langage dynamique, les langages du côté client tel que le DHTML « Dynamic HTML  » extension du langage HTML, le JavaScript dérivé de Java, le VBScript issu de Visual Basic .Du côté serveur, comme le CGI « Common Gateway Interface « , le ASP « Active Server Page « , le PHP « Personal Home Page » , le JSP »Java Server Pages » .

Le PHP et le Web dynamique

PHP est un langage de script (langage interprété) exécuté du coté serveur, il est réputé par la simplicité d’écriture de ses scripts qui est proche du langage C, la gratuité et la disponibilité de son code source,mais l’atout de ce langage est le support d’interfaçage d’un grand nombre de bases dedonnées.
Ainsi avant d’utiliser PHP, la machine hôte doit être configurée en serveur, c’est à dire un logiciel serveur Web doit y être déjà installé. Le code PHP est inclus dans les balises < ?php et ?> à l’intérieur d’un code HTML. Il peut être écrit avec un simple éditeur de texte, mais cependant un interpréteur doit être installé au préalable dans la machine, ce dernier est gratuit sur Internet [7].

BD et SGBD

Le terme base de données « Data Basis » est apparu dans le monde de l’informatique en 1964 par le « System Development Corporation » dans la conférence : « Development and management of a computer centered data basis » aux Etats Unis. Par la suite, son utilisation s’est vulgarisée dans beaucoup de domaines. Actuellement, les bases de données sont aussi utilisées par les moteurs de recherche pour le stockage des informations dont ils ont besoin. Ainsi, ce chapitre rappelle les caractéristiques essentielles des bases de données et des systèmes de gestion de Base de Données.

Base de données

Définition

Une base de donnée (BD) est un ensemble structuré de données réduit à l’essentiel, modélisant les objets d’un univers donné et servant de support à une application informatique. Elle est générée par un serveur et accessible par plusieurs utilisateurs simultanément.
Il est à noter que les objets de la base sont persistants, autrement dit, les objets stockés dans la base ont une durée de vie supérieure au programme qui les crée.

Approche BD

Une BD est une façon, différente des fichiers, d’enregistrer les informations.
Dans l’approche fichier, les données font partie des programmes qui les utilisent. Ainsi, modifier la structure desdonnées revient à réécrire totalement les programmes qui utilisent ces données.
Dans l’approche BD, la structure des données est unifiée et séparée des programmes d’application. Il appartient au Système de Gestion de Bases de Données (SGBD ) de fournir cette description unique des données. D’où l’indépendance entre les données et les applications. Ces dernières ne se communiquent avecles données que par l’intermédiaire des SGBD (cf. fig.2.1)

SGBD

Définition

Un SGBD est l’interface entre les utilisateurs et les mémoires secondaires. C’est un outil permettant d’insérer, de modifier, et de rechercher efficacement des données dans une masse énorme d’informations partagées par les utilisateurs. Ainsi, le SGBD a pour vocation de donner la possibilité de créer une BD, de l’entretenir d’une part, et de développer des applications pour l’exploiter d’autre part.

Première vue d’un SGBD

En première approximation, un SGBD se compose de trois couches successives de fonctions, empilées depuis la mémoire jusqu’aux utilisateurs (cf. Fig.2.3)

LANGAGES

Plusieurs types de langages sont définis dans les BD.

Langage de modélisation de SGBD

Dans les langages de programmation classiques, les déclarations et les instructions exécutables appartiennent au même langage. Par contre dans le SGBD, les déclarations et les instructions exécutables sont exprimées dans deux langages différents. En effet, les données y existent en permanence et doivent être déclarées une fois pour toutes, contrairement aux variables des programmes classiques qui disparaissent de la mémoire lorsque le programme s’arrête.

LIRE AUSSI :  Réinstalation d'un nouveau système d’éclairage

SQL

Le terme SQL « Structured Query Language » ou Langage de requêtes structuré , désigne un langage complet de gestion de bases de données. C’est en même temps un langage de définition de données (LDD), un langage de manipulation de données (LMD), et un langage de contrôle de données (LCD), pour les bases de données relationnelles.

MySQL

MySQL est un SGBD relationnel utilisant le langage SQL et fonctionnant sous différentes plate formes (Unix, OS/2, Solaris, Windows). Il est produit par la société MySQL AB [7]. En outre, il est gratuit et ses codes sources sont ouverts au grand public sous réserve de licence d’utilisation. Les principaux objectifs de MySQL sont la rapidité, la robustesse et la facilité d’utilisation. MySQL a été originellement développé pour satisfaire les besoins des utilisateurs qui voulaient un serveur SQL capable de gérer de grandes BD de manière plus rapide que ce que pouvaient offrir les distributeurs de BD. Par ailleurs, le serveur MySQL peut être appelé et manipulé par divers langages de programmation tels que C, C++, Eiffel, Java, Perl, PHP, Python.

MOTEUR DE RECHERCHE

Le service Web de l’Internet est une vaste source d’informations. Pour pouvoir tirer profit de ces informations et nepas perdre de temps à visiter un à un les sites, un outil essentiel sur ce réseau permet de trouver rapidement avec quelques mots clés, les sites qui parlent du sujet qui intéresse. Cet outil est appelé moteur de recherche. Ce chapitre est axé sur sa structure et son fonctionnement.

GENERALITES

Définition

Un moteur de recherche est un serveur spécialisé dans la compilation et l’indexation des informations visibles sur Internet(texte, image, son). En outre, il possède un module pour répondre aux requêtes de l’utilisateur.

Types de moteur de recherche

En réalité, il n’existe que deux types de moteur derecherche, les moteurs qui utilisent des logiciels autonomes et un autre type appelé annuaire .
Ce dernier n’indexe que la page d’accueil du site, et le stockage des informations d’un site donné est fait en deux temps. D’abord, l’administrateur du site envoie les informations nécessaires sur le serveur du moteur de recherche. Puis, du côté moteur de recherche, un employé collecte les caractéristiques essentielles du site, et les stocke dans la BD du serveur. Ce procédé est appelé référencement. Exemple Yahoo .

Catégories

Les moteurs de recherche sont classés en quatre catégories.
Les généralistes s’intéressent à tous les domaines existants sans aucune distinction. Google, Altavista en sont des exemples.
Les disciplinaires ou spécialisés se limitent à la recherche de sites correspondant à une discipline donnée, comme : Scirus pour l’information scientifique, Spinoo dans le domaine d’éducation française, SearchEdu tout sur les universités des Etats-Unis…
Les meta-moteurs permettent de lancer des requêtes dans plusieurs moteurs de recherche simultanément, comme MetaCrawler, SavvySearch.
Les agents intelligents sont des logiciels dotés d’une capacité d’apprentissage qui lui permettent de se déplacer sur un réseau et de récupérer sur différents ordinateurs des ressources correspondant aux requêtes informationnelles engagées par un utilisateur final. Copernic, Autonomy, Net attache pro. en sont des exemples.

PRINCIPE DE FONCTIONNEMENT

Un robot logiciel appelé « crawler » ou « spider » explore le Web, va de page en page et sauvegarde, au fur et à mesure de ses déplacements l’URL de la page, en l’associant à des mots clés. Ces derniers sont définis soit en entête de la page, soit en triant les mots dans la page.

Exploration du contenu d’une page HTML

L’exploration ou « PARSAGE » consiste à trouver le code HTML composant la page afin d’y cueillir les informations utiles. Chaque moteur de recherche a sa façon d’analyser les sites. Mais tous travaillent à partir de trois éléments de base: les keywords, ladescription et lecontenu.
De plus en plus souvent, les moteurs de recherches ne se limitent pas aux mots clés définis explicitement. Ils parcourent toutes les pages du site pour en extraire les mots significatifs et les indexer.
Le robot logiciel passe et repasse dans les pages qu’il a indexées au préalable plus ou moins fréquemment selon des délais fixés par l’administrateur, pour en sauvegarder une version plus récente.
Lorsque l’internaute saisit un mot clé dans le formulaire proposé, le moteur va en rechercher les occurrences dans son index, c’est-à-dire dans le contenu texte des pages Web sauvegardées au préalable. Une fois le « lot » de pages contenant le terme demandé identifié, le moteur classe les pagespar ordre de pertinence, selon un ordre et un algorithme qui lui est spécifique (basé sur certains critères de tri), et envoie le résultat à l’utilisateur.

Choix des langages de programmation et de logiciels

Les deux premiers modules (PARSER et INDEXER) consistent à réaliser un programme capable d’ouvrir une connexion Internet, d’ouvrir un fichier à distance et de lire son contenu, de trier les  fichiers à enregistrer dans la BD. Ceci peut se faire généralement par l’utilisation des sockets. Nous avons choisi Visual C++, de Visual Studio , à cause de sa gigantesque bibliothèque de classes, couvrant tous les champs d’application connus sous Windows, appelée MFC  » Microsoft F oundation Class  » [16], l’utilisation de ces classes prédéfinies facilite la tâche des programmeurs à la création d’application sous Windows .

Table des matières
REMERCIEMENTS
RESUME 
TABLE DES MATIERES
LISTE DES ABREVIATIONS 
LISTE DES FIGURES 
LISTE DES TABLEAUX 
INTRODUCTION 
CHAPITRE 1 :INTERNET ET LE SERVICE WEB
1.1 RAPPEL SUR LE RESEAU INFORMATIQUE
a)Topologies et classification des réseaux
b) Normes de communication
c) Internet
i) Termes récurrents
ii) Services Internet
1.2. SERVICE WEB ET PROTOCOLE HTTP
a) Terminologie
i) Serveur
ii) Client
iii) Type MIME
iv) Méthode
v) Requêtes http
vi) Réponses HTTP
b) Communication avec un serveur HTTP
i) Sockets
ii) Fonctionnement de la communication
1.3. DEVELOPPEMENT DE SITE WEB
a) Notions de base
i) HTML
ii) Page Web
iii) Site Web
iv) Navigateur
b) Différents types de site Web et leur concept
i) Page statique
ii) Page dynamique
c) Le PHP et le Web dynamique
CHAPITRE 2 : BD ET SGBD
2.1 Base de données
a) Définition
b) Approche BD
c) Niveau de représentation de BD
d) Modèles de BD
2.2 SGBD
a) Définition
b) Première vue d’un SGBD
c) Fonction d’un SGBD
d) Architecture opérationnelle
2.3 LANGAGES
a) Langage de modélisation de SGBD
i) Langage de définition de données (LDD)
ii) Langage de manipulation de donnée (LMD)
b) SQL
c) MySQL
CHAPITRE 3 : MOTEUR DE RECHERCHE
3.1 GENERALITES
a) Définition
b) Types de moteur de recherche
c) Catégories
d) Structure d’une page HTML
3.2 PRINCIPE DE FONCTIONNEMENT
a) Exploration du contenu d’une page HTML
b) Indexation
c) Normalisation de l’indexation et recherche sur Internet
3.3 SITE DE CONSULTATION
a) Interface de présentation
b) Syntaxe d’interrogation
CHAPITRE 4 : CONCEPTION DU MOTEUR DE RECHERCHE « Mayah »
4.1 CARACTERISTIQUES DU PROJET
a) Analyse et définition des besoins
b) Structure générale du système
c) Choix des langages de programmation et de logiciels
4.2 CONCEPTION EN C++
a) Caractéristiques du logiciel
b) Elaboration
i) Conception des fenêtres et des boites de dialogue
ii) Recherche de fichier sur un disque dur local
iii) Connexion à Internet et téléchargement de fichier
iv) Récupération des MetaTags et Indexation
v) Recherche de liens qui pointent vers d’autres pages
vi) Enregistrement des propriétés du fichier dans la BD
vii) Amélioration par le concept de multithreading
c) Résultats obtenus
4.3 CONCEPTION DU SITE WEB
a) Analyse des requêtes
b) Page d’accueil
c) Résultats
d) Hébergement
4.4 CONFIGURATIONS REQUISES
a) Configuration Matérielle
b) Configuration logicielle
CONCLUSION
ANNEXE 1 : LISTES DES VALEURS DE PROPRIETES D’UN SERVEUR HTTP.
I- LISTE DES ENTETES RECONNUS PAR UN SERVEUR HTTP
II- LISTE DES CODES D’ETAT ENVOYES PAR UN SERVEUR HTTP
ANNEXE 2 : LES CLASSES UTILISEES
ANNEXE 3 : COMMUNICATION AVEC UN SERVEUR MYSQL
REFERENCES BIBLIOGRAPHIQUES

projet fin d'etude

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *