Créer un code source pour un moteur de recherche interne à un site internet

Voici un exemple de code source pour créer un moteur de recherche interne à un site internet en utilisant le langage de programmation PHP et une base de données MySQL.

  1. Création de la base de données :
r
CREATE DATABASE `moteur_de_recherche`; USE `moteur_de_recherche`; CREATE TABLE `pages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `titre` varchar(255) NOT NULL, `url` varchar(255) NOT NULL, `contenu` text NOT NULL, PRIMARY KEY (`id`), FULLTEXT(`titre`,`contenu`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. Création du formulaire de recherche HTML :
python
<form method="get" action="search.php"> <input type="text" name="q" placeholder="Rechercher..."> <input type="submit" value="Rechercher"> </form>
  1. Création du fichier PHP pour la recherche (search.php) :
php
<?php // Connexion à la base de données $db = new mysqli('localhost', 'utilisateur', 'motdepasse', 'moteur_de_recherche'); if ($db->connect_error) { die('Erreur de connexion à la base de données : ' . $db->connect_error); } // Récupération de la requête de recherche $query = $db->real_escape_string($_GET['q']); // Requête SQL pour récupérer les résultats de recherche $sql = "SELECT * FROM `pages` WHERE MATCH(`titre`,`contenu`) AGAINST ('$query')"; // Exécution de la requête $result = $db->query($sql); // Affichage des résultats de recherche if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo '<h3><a href="' . $row['url'] . '">' . $row['titre'] . '</a></h3>'; echo '<p>' . $row['contenu'] . '</p>'; } } else { echo 'Aucun résultat trouvé pour "' . $query . '"'; } // Fermeture de la connexion à la base de données $db->close(); ?>

 

Ce code source est un exemple très simple pour un moteur de recherche interne à un site internet. Bien sûr, pour une mise en production, il faudrait ajouter des fonctionnalités supplémentaires telles que la pagination, la correction d'orthographe, l'affichage des suggestions de recherche, etc.