Les Petits Plats

Link to website
Link to project repo
Project Gallery

1/5

Bootstrap
Github
HTML5
JavaScript
SaSS

Après avoir édité des livres de cuisine pendant plusieurs années, l’entreprise a décidé de se lancer dans un nouveau projet : réaliser son propre site de recettes de cuisine à l’instar de Marmiton ou 750g. Comme il existe de nombreux sites proposant des recettes de cuisine, on pense qu'un des éléments qui peut faire la différence sur leur site est la fluidité du moteur de recherche. De plus, l'entreprise veut avant tout quelque chose d'efficace, car ses utilisateurs veulent une recherche rapide, presque instantanée ! Un fichier JavaScript contenant un tableau JSON de 50 recettes a été fourni pour développer le projet et la première tâche consiste à mettre en œuvre la fonctionnalité de recherche.

Fonctionnalités

  • La recherche doit pouvoir se faire via le champ principal ou via les tags (ingrédients, ustensiles ou appareil).
  • La recherche principale se lance à partir de 3 caractères entrés par l’utilisateur dans la barre de recherche.
  • La recherche s’actualise pour chaque nouveau caractère entré.
  • La recherche principale affiche les premiers résultats le plus rapidement possible.
  • Les champs de la recherche avancée ne suggèrent que les éléments restant dans les recettes de la page.
  • Les retours de recherche doivent être une intersection des résultats. (l'ajoute les tags “coco” et “chocolat” ne permet de retrouver que les recettes qui contiennent les deux).

Contraintes

  • Maquettes fournies.
  • Le code HTML et CSS pour l’interface doit passer avec succès le validateur W3C.
  • Aucune librairie ne doit être utilisée pour le JavaScript du moteur de recherche.
  • Utiliser Bootstrap 4 est recommandée.
  • Rédiger deux algorithmes de recherche pour le champ de recherche principal.
  • Remplir un document d'investigation des fonctionnalités décrivant les deux algorithmes.
  • Faire un diagramme pour chaque algorithme afin que les étapes de chaque algorithme soient claires.
  • Tester leurs performances à l'aide d'un outil d'évaluation comparative (Jsben.ch?).
  • Ne tester que la recherche principale (pas besoin d'utiliser de filtres).

Compétences

  • Analyser un problème informatique
  • Développer un algorithme pour résoudre un problème