160 likes | 295 Views
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault. Cvvvvvvvm Search engine / Engin de recherche. Le moteur de recherche CVM. Consignes.
E N D
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault CvvvvvvvmSearch engine /Engin de recherche
Consignes • Ce laboratoire se fait en plusieurs étapes. Pour ceux moins à l’aise avec la programmation serveur, je vous conseille fortement de respecter l’ordre des étapes et de ne pas les mélanger. • Votre code doit valider HTML5 ou XHTML
Pour vous aider… • Lors de la conception de mon engin de recherche CVM, j’ai utilisé les fonctions suivantes. Cependant, vous pouvez utiliser d’autres méthodes. • Pour la redirection de page : • header(‘Location…’) et exit; • strip_tags – supprime les balises html • strpos • file_get_contents • opendir & readdir • substr & strlen
Étape 1 – Intégration des pages Web • La première étape consiste à intégrer les pages Web sans se soucier de la programmation serveur. • Cependant ! • Afin de ne pas répliquer le code d’entête et de pied de page, utilisez des « include/require » (PHP). Exemple : • require_once("header.php"); • … • require_once("footer.php");
Étape 2 : Redirection entre les pages • Dans la page d’accueil (index.php), lorsque l’usager clique sur le bouton rechercher, le serveurvérifieque le champ mot clén’est pas vide. Le caséchéant, il y a une redirection vers la page recherche.php avec le mot clé en paramètre GET. • Dans la page de recherche, si le mot recherché est vide, alors l’usager est redirigé à la page d’accueil.
Étape 3-1 : Programmation de la fonction de recherche sans la pagination • Vous devez créer une fonction en PHP permettant de lire tous les fichiers du répertoire « files ». • Pour chaque fichier, le serveur doit rechercher le mot clé dans le texte. • Si le mot est trouvé, alors écrire en HTML le lien ainsi que le début du texte où le mot a été trouvé.
Étape 3-1 : Exemple • Le mot recherché est « agi ». Le serveur a trouvé que le fichier Agile_....html possède le mot. • Un hyperlien vers le fichier est généré • L’aperçu du texte commence par le mot recherché.
Étape 3-2 : Nombre de fichiers trouvés • La fonction doit maintenant indiquer à l’utilisateur le nombre de fichiers contenant le mot clé.
Étape 3-3 : Connecter la fonction dans le fichier recherche.php • Dans le fichier recherche.php, appeler la fonction de recherche. • Exemple: • <?phpsearch($_GET[‘mot’]) ?>
Étape 3-4 : Retirer les balises HTML de la recherche • Lors d’une recherche, l’usager s’attend à voir un aperçu du texte du fichier, et non pas une partie du HTML du fichier. • Il faut donc filtrer les balises HTML afin qu’ils ne soient pas interprétées par le navigateur et pas considérées dans la recherche • Exemple : Si on recherche le mot« div », il ne faut pas trouver les balises «<div> » des fichiers, mais plutôt les mots qui contiennent la chaîne de caractères« div ».
Étape 3.5 : Pagination de la recherche • Afin de ne pas voir tous les résultats sur la même page, il faut ajouter de la pagination. • Ainsi, votre fonction de recherche doit prendre 2 paramètres supplémentaires, soit • 1- le nombre de résultats par page (mettre 5) • 2- la page actuelle • Votre fonction de recherche doit retourner le nombre de pages total de la recherche
Étape 3-5 : Changer de pages • S’il y a 13 résultats, alors il y a 3 pages (2 pages de 5 résultats, et 1 page de 3) • La lettre ‘v’ de couleur rouge indique la page actuelle affichée à l’utilisateur. • En cliquant sur un ‘v’ de couleur jaune, un hyperlien rappelle la page recherche.php, avec comme paramètre : • le mot clé • la page de recherche à visualier