Les Tickets

Liste des tickets

Afin de vous aider dans la réalisation de ce projet, nous définissons ci-dessous la liste des tâches que vous devez réaliser. Certaines d’entre elles sont obligatoires (en bleu), d’autres optionnelles (en gris). Elles sont numérotées, pour nous aider dans la notation.

De nombreuses tâches peuvent être réalisées en parallèle. Pensez à bien vous répartir le travail.

Le niveau de difficulté de chaque tâche de la partie backend est affiché.

C’est parti

Description

Que dois-je faire :

  • Trouver un nom d’équipe et le déposer accompagné du nom de chaque étudiant qui la compose au format texte sur le cours moodle Marathon du web, dans la section nom d’équipe.
  • Pour les étudiants MMI, vous devez vous inscrire au cours (clé : marathon2025)
Description

Que dois-je faire :

  • Vous avez le choix entre deux styles musicaux. Vous devez faire votre choix rapidement, le style de votre application en dépendra surement.
  • Nous passerons vous voir pour connaître votre choix.
Description

Que dois-je faire :

  • Un responsable Info a été désigné comme validateur git. C’est lui qui est en charge de forker le projet initial.
  • Il invite les différents membres de l’équipe comme développeur sur son projet
  • Il invite les professeurs info (M. Tabary, M. Dubois, M. Audemard, M. Hsu, M. Hemery, M. Wallon) comme reporters.
  • Il doit initialiser le projet pour que celui-ci puisse fonctionner sur la machine marathon.
  • Une fois cela fait, les membres du groupe peuvent maintenant cloner le projet et l’initialiser.
Description

L’url de base de votre projet est inhabituelle. Il n’est pas rare d’avoir des soucis de liens en utilisant cette dernière. Le but de ce ticket est de savoir dès à présent les bonnes pratiques à utiliser pour créer les liens pour les routes et les images.

Que dois-je faire :

  • Ajouter votre logo dans le template général de votre site ou un logo disponible (dans resources/images/logo.jpg). Il faut utiliser vite pour l’afficher <img src="{{Vite::asset('resources/images/logo.jpg')}}" alt="logo">
  • Vérifier qu’il s’affiche bien dans le template général.
  • Mettre le bon lien sur la page contact (menu du template général) et vérifier que la page est bien affichée quand on suit le lien. Pensez à utiliser les routes nommées pour cela.
  • Modifier la couleur de fond de votre application (fichier resources/css/app.css)
  • pusher et vérifier que tout fonctionne correctement sur le site du marathon (images, styles, liens).

Rappel : les liens vers les routes doivent passer par les routes nommées. Les liens vers les images doivent utiliser Vite::asset. Les images statiques du projet doivent résider dans le répertoire resources/images.

Backend

Visite
Description
  • Qui suis-je : Un visiteur quelconque
  • Où suis-je : Page d’accueil du site
  • Que dois-je faire :
    • Donner la possibilité au visiteur de se connecter (c’est déjà dans le template ;)
    • Donner la possibilité au visiteur de s’enregistrer (idem ;)
    • Afficher des articles (tous, quelques-uns, des articles aléatoires à vous de voir). On doit pouvoir cliquer dessus pour en voir les détails.

Attention Le ticket 26 est également associé à la page d’accueil. Le ticket 26 doit être réalisé avant mercredi 16h !

Description
  • Qui suis-je : Un visiteur quelconque
  • Où suis-je : Un article
  • Que dois-je faire :
    • Afficher les détails de ce dernièr (résumé, auteur, photo, media, caractéristiques (rythme and co), commentaires, likes…)
Description
  • Qui suis-je : Un visiteur quelconque
  • Où suis-je : Un article
  • Que dois-je faire :
    • Incrémenter le nombre de vues de l’articles quand on arrive dessus.
    • Ajouter cette statistique dans la page de l’article.
Description

Qui suis-je : Un visiteur quelconque

Où suis-je : Page d’accueil du site

Que dois-je faire :

  • Il doit être possible de cliquer sur une caractéristique (rythme and co) et de visualiser les articles associés.
  • Cela peut être fait depuis la page d’un article, ou depuis la page d’accueil par exemple.
Description

Qui suis-je : Un visiteur quelconque

Où suis-je : Page d’un utilisateur

Que dois-je faire :

  • Afficher les articles qu’il aime.

  • Afficher les rythmes et ambiances qu’il préfère.

  • Afficher combien il a de followers et combien il suit de personnes

  • Permettre de le suivre (Pour un visiteur connecté).

Description

Qui suis-je : Un visiteur connecté

Où suis-je : Page personnelle

Que dois-je faire :

  • Afficher mes articles en cours de rédaction.

Voir la page personnelle dans le cahier des charges pour plus de détails.

Description

Qui suis-je : Un visiteur quelconque

Où suis-je : Page d’accueil et page des articles par caractéristique

Que dois-je faire :

  • N’afficher que les articles actifs (et ceux qui appartiennent à un utilisateur s’il est connecté)
Gestion d’un article
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Un formulaire

Que dois-je faire :

  • Afficher le formulaire pour pouvoir entrer les données relatives à un article
  • Traiter ce formulaire et insérer l’article dans la BD
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans la page permettant de modifier un article

Que dois-je faire :

  • Permettre de modifier l’article et ses médias (image, son).
  • Permettre d’activer l’article (voir ci-dessous)
Description

Qui suis-je : Un visiteur connecté

Où suis-je : La page d’un article en cours de création

Que dois-je faire :

  • Une fois l’article entièrement créé, il faut pouvoir activer ce dernier

Voir l’activation dans les fonctionnalités pour plus de détails.

Description

Qui suis-je : Un visiteur connecté

Où suis-je : La page d’un article en cours de création et la page d’affichage d’un article

Que dois-je faire :

  • Utiliser le format markdown pour formater le contenu de l’article. Ce package peut être utile.
Interaction de l’utilisateur avec le site
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans un article

Que dois-je faire :

  • Donner la possibilité d’aimer l’article ou de ne pas aimer l’article
  • Donner la possibilité de changer cela au cours du temps
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans un article

Que dois-je faire :

  • Créer le formulaire permettant de commenter l’article
  • Traiter ce formulaire
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans la page d’un utilisateur

Que dois-je faire :

  • Ajouter un bouton permettant de suivre (ou d’arrêter de suivre) l’utilisateur
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans sa page personnelle

Que dois-je faire :

  • Proposer des personnes aux profils similaires. Pour cela, il faut trouver des personnes qui vous ressemblent. Donc, des personnes qui aiment les mêmes rythmes que vous ou les mêmes conclusions…
  • Commencer par faire simple : Vous choisissez une caractéristique. Vous trouvez celle qui apparait le plus dans vos articles. Vous cherchez les utilisateurs avec les mêmes données.
  • Vous pouvez ensuite imaginer un algorithme de type k-clustering qui combine l’ensemble des caractéristiques !
Description

Qui suis-je : Un visiteur connecté

Où suis-je : Dans sa page personnelle

Que dois-je faire :

  • Afficher les nouveaux articles des personnes que vous suivez. Pour cela il faut utiliser les notifications laravel, et plus précisément, les notifications basées sur les bases de données. Il faut penser (en local) à lancer un php artisan queue:work pour que les notifications puissent effectivement être lancées.
Utilisation des composants

Ces tickets sont considérés comme optionnels, mais chaque composant aura l’intérêt de faciliter la répartition du travail dans l’équipe et permettra de le réutiliser indépendamment de la page qui le contient.

Description
  • Qui suis-je : Un visiteur quelconque
  • Où suis-je : Dans une page quelconque
  • Que dois-je faire :

Proposer au moins 2 composants réutilisables pour votre application dans la liste qui suit :

  • Créer un composant card-article
  • Créer un composant avis
  • Créer un composant like-button
  • Créer un composant follow-button
  • Créer un composant stat-badge (pour les statistiques : nombre de followers, nombre d’articles…)
  • Créer un composant characteristic-badge (pour les caractéristiques : rythme, accessibilité, conclusion)
  • etc.

Contenu

Ces missions sont entièrement décrites ici

Description

Que dois-je faire :

  • Créer deux articles (aller voir dans la partie “communication”)
  • Créer un pdf pour que la correction soit possible pour M. Viseur et Mme Membré !
Description

Que dois-je faire :

  • Créer la vidéo (Aller voir dans la partie “communication”)
  • Permettre sa visualisation dans le site

Design et intégration

Attention

L’intégration (ticket 26) prend VRAIMENT (VRAIMENT) BEAUCOUP DE TEMPS.

  • Il vous faut absolument l’attaquer avant 15h le mercredi.
  • Plus vous tardez à démarrer cette intégration, plus ce sera difficile à terminer.
  • N’attendez pas que le logo et les maquettes soient parfaits avant de commencer).
  • Le ticket 26 est là pour vous aider à réussir à finaliser cette intégration avec une deadline fixée à 16h !
Description
  • Que dois-je faire :
    • Créer le moodboard associé à votre charte graphique, voir la page Design
Description
  • Que dois-je faire :
    • Créer le logo de votre application
Description
  • Que dois-je faire :
    • Avoir une ébauche de la page d’accueil en ligne sur la machine du marathon avant mercredi 16h.
    • Le header et le footer.
    • Le logo (même si il n’est pas finalisé…)
    • Quelques articles articles mis en avant et stylisés.

Attention : Nous vérifierons que cela est effectivement en ligne sur la machine du marathon mercredi. Cela sera pris en compte dans la notation.

Description
  • Que dois-je faire :
    • Intégrer votre maquette au site (blade et css sont mes amis)
Description
  • Que dois-je faire :
    • Valider le HTML/CSS de la page principale sur le site de W3C. Vous ferez une copie d’écran du rendu W3C pour le code HTML et pour le code CSS.
    • Déposer les documents produits en précisant le numéro de votre équipe sur le cours moodle Marathon du web, dans la section rendu W3C.
Description

Que dois-je faire :

  • Rendre le site responsive
Description

Que dois-je faire :

  • Personnaliser la page 404 (vous devez créer dans le répertoire des vues le fichier /errors/404.blade.php et le modifier)
Description

Que dois-je faire :

  • Personnaliser le lecteur audio.
Description

Que dois-je faire :

  • Concevoir un document numérique qui présente vos réalisations et l’équipe
  • Une photo de l’équipe
  • Le nom de l’équipe et des membres
  • Logo et quelques captures d’écrans

Ce document pourra être utilisé pour faire la promotion de notre formation lors de la JPO, …

Rendus

Description

Un ticket à ne pas négliger…. Tout est décrit sur cette page.