Évaluation du projet PHP

Liste des critères d'évaluation du projet MVC.

Création d'un moteur de recherche d'articles

Listes des fonctionnalités

Afficher un formulaire de recherche d'articles

Principes de recherches et d'affichage

Si l'utilisateur renseigne des mots clés et une thématique alors il faudra afficher les articles du thème choisi qui comportent les mots clés renseignés.
Si l'utilisateur renseigne des mots clés et un auteur, il faudra afficher les articles de l'auteur dont les mots clés correspondent.
Si l'utilisateur renseigne un auteur et une thématique, il faudra afficher les articles de l'auteur correspondant à la thématique.
Etc.

Algorithme

Création d'une classe PHP dédiée à la recherche

Créer une classe PHP qui va traiter la demande d'informations provenant du formulaire html. La classe devra traiter et stocker les informations du formulaire.

Pour cela il faudra des propriétés (variables) correspondant aux champs du formulaire. Des méthodes de classe pour récupérer, traiter et stocker chaque champ de recherche.

Il pourrait être bien par exemple de faire une méthode de classe pour traiter chaque champ de recherche. Donc trois méthodes pour récupérer et traiter les trois champs de recherches (mots clés, thématique, auteur). Cela pour éviter d'avoir une méthode avec trop de fonction PHP dedans. Et pourquoi pas une méthode générique qui va appeler une par une les trois méthodes ci-dessus. Cette méthode générique sera utilisée dans le contrôleur pour éviter d'écrire trois ligne d'appel de méthodes.

La classe aura d'autres méthodes pour créer une requête dynamique, récupérer les infos dans la base de données, transmettre le résultat de la requête, etc. A vous de choisir ce que vous souhaitez mettre dedans.

Reflexion

Pour le développeur, il faudra trouver une solution pour récupérer les mots clés renseigner et les séparer pour les traiter un par un.
Il faudra créer une requête SQL dynamique qui va se construire en fonction du nombre de mots clés mais aussi en fonction des autres champs renseignés.
La requête comportera soit des mots clés, soit une thématique, soit un auteur ou alors l'ensemble des possibilités de recherche.

Affichage

L'affichage comportera la liste des articles trouvés en base de données et classés par ordre chronologique. Il faudra donc faire un tri sur la date de création de l'article (Le plus récent en premier). Le résultat affichera pour chaque article : le titre de l'article les 250 premiers caractères du texte de l'article le nom de l'auteur la date de création La thématique Vous pouvez afficher les trois derniers points sur la même ligne pour gagner de la place.

AJAX

La recherche se fera en méthode AJAX. Lors de la validation du formulaire, les données du formulaire seront transmises au serveur via la méthode AJAX de Jquery. L'affichage du résultat se fera donc sans recharger la page. Le but est de pouvoir garder les infos de recherche dans le formulaire de recherche pour pouvoir modifier rapidement une recherche. Et surtout ne pas laisser l'utilisateur attendre avec une page qui se recharge. Lors de la recherche, vous pourrez afficher un message ou un GIF animé pour indiquer que la recherche est en cours. Le message ou le GIF sera caché ou supprimé de la page dès que le résultat de recherche sera disponible pour l'affichage.