Mention Légales

SIREN : 949108229

Les petits plats

Développez un algorithme de recherche en JavaScript

Brief mission : résumé des tâches et des livrables demandés

Contexte:
L’entreprise « Les petits plats », après avoir édité des livres de cuisine pendant plusieurs années, veut lancer un site de recettes à l’image de Marmiton ou 750g.

Travail à effectuer:

  1. Interface de recherche:
    • Implémenter l’interface en suivant le design sur Figma.
    • Utiliser Bootstrap ou Tailwind pour le design mais écrire tout le code JavaScript toi-même.
    • Le code doit passer le validateur W3C.
  2. Développer la fonctionnalité de recherche:
    • Planifier et documenter deux versions différentes pour la recherche: une utilisant des boucles natives (while, for…) et une autre en programmation fonctionnelle.
    • Chaque version doit être implémentée dans une branche différente sur Git.
    • Suivre les bonnes pratiques de Green Code et s’assurer de la sécurité du site.
  3. Tester et choisir la meilleure implémentation:
    • Utiliser un outil de comparaison de performance pour identifier l’implémentation la plus performante.
    • Documenter les résultats et faire une recommandation sur l’implémentation à adopter.

Livrables:

  1. Une fiche d’investigation sur l’algorithme de recherche (format PDF).
  2. Lien vers le code sur GitHub avec les deux branches de recherche.

Soutenance:
Lors de la présentation orale, il faudra:

  • Présenter comment le problème a été décomposé (5 minutes).
  • Montrer le rendu de l’application avec la version du moteur de recherche la plus performante et justifier le choix (10-15 minutes).
  • Discuter et défendre les choix effectués lors du développement (10 minutes).
  • Débriefer sur la session (5 minutes).

Compétences évaluées:

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

compétences Acquises Suite au Projet

Analyse et Compréhension de Problématiques:

  • Capacité à décomposer une demande client en problématiques techniques.
  • Compréhension des enjeux liés à la performance d’un moteur de recherche.

Développement Front-End et Interface:

  • Maîtrise de l’intégration web conforme à une maquette fournie via Figma.
  • Compétence dans la mise en place d’interfaces responsives avec Bootstrap ou Tailwind tout en respectant les standards W3C.

Conception et Développement d'Algorithmes:

  • Aptitude à développer deux implémentations d’un algorithme pour une comparaison de performance.
  • Capacité à utiliser différentes méthodes pour le traitement des tableaux en JavaScript, y compris les boucles natives et les méthodes fonctionnelles de l’objet Array.

Gestion de Version avec Git:

  • Habileté à gérer et séparer différentes versions de code en utilisant des branches sur Git.

Evaluation et Optimisation de Performance:

  • Capacité à évaluer la performance des algorithmes à l’aide d’outils comme Jsben.ch.
  • Aptitude à identifier et à recommander l’implémentation la plus performante.

Documentation et Présentation:

  • Compétence en rédaction d’une « fiche d’investigation de fonctionnalité » pour documenter, comparer et recommander des implémentations.
  • Habileté à présenter et à défendre ses choix devant une équipe technique, avec une justification basée sur des données.

Sécurité et Bonnes Pratiques:

  • Conscience des risques associés aux injections et à d’autres failles de sécurité potentielles.
  • Maîtrise des bonnes pratiques de « Green Code » pour un développement éco-responsable et efficace.