Aller au contenu principal

Séminaire

Objectifs

  • Faire un projet avec Vue.js.

Rendu

Mise en place

  • Cloner le nouveau dépôt GitHub Classroom dans le répertoire du cours.
  • Ouvrir le dossier du dépôt dans Visual Studio Code.

Estimation

  • Créer un ficher report.md dans le dossier du dépôt.
  • Estimer le temps nécessaire pour réaliser ce travail dans le rapport.
    • Découper le travail en tâches pour faciliter l'estimation.
  • Une fois terminé, comparer le temps estimé avec le temps réellement passé.
TâcheTemps estiméTemps passéCommentaire
Estimation10m15m...
............
Total2h1h30...

Semaine 1

Vue.js

  • Cloner le nouveau dépôt Git dans le répertoire du cours.
  • Ouvrir le répertoire du dépôt Git dans Visual Studio Code.
  • Créer le fichier report.md.
  • Créer un projet Vue.js depuis le répertoire du dépôt : npm create vue@latest
    • Project name: quiz
    • Use TypeScript? Yes
    • Select features to include in your project:
      • Router (SPA development)
      • Linter (error prevention)
      • Prettier (code formatting)
    • Select experimental features to include in your project:
      • Rien sélectionner
    • Skip all example code and start with a blank Vue project? Yes
  • Vérifier où se trouve le projet :
    ./
    ├── .github/
    ├── quiz/
    └── ...
    ├── README.md
    └── report.md
  • Copier tous les fichiers du projet Vue.js (dossier quiz) dans le répertoire du dépôt Git (dossier sem07-project-{pseudo}) en écrasant les fichiers existants et supprimer le dossier quiz :
    ./
    ├── .github/
    ├── .vscode/
    ├── public/
    ├── src/
    ├── .editorconfig
    ├── .gitattributes
    ├── .gitignore
    ├── .oxlintrc.json
    ├── .prettierrc.json
    ├── env.d.ts
    ├── eslint.config.js
    ├── index.html
    ├── package.json
    ├── README.md
    ├── report.md
    ├── tsconfig.app.json
    ├── tsconfig.json
    ├── tsconfig.node.json
    └── vite.config.ts
  • Installer les dépendances et formater le code :
    npm install
    npm run format
  • Pour lancer le projet en mode développement :
    npm run dev
  • Ouvrir le navigateur à l'adresse indiquée pour voir le projet.

Bootstrap

  • Installer Bootstrap et Bootstrap Icons :
    npm install bootstrap @popperjs/core bootstrap-icons
  • Changer la langue et le titre de l'application en modifiant index.html :
    <!doctype html>
    <html lang="fr">
    <head>
    ...
    <title>Quiz</title>
    </head>
    ...
    </html>
  • Dans eslint.config.js, remplacer pluginVue.configs['flat/essential'] par pluginVue.configs['flat/recommended'].
  • Supprimer tous les fichiers dans src/components et dans src/assets.
  • Créer ou modifier les fichiers suivants :
src/main.ts
import "bootstrap-icons/font/bootstrap-icons.min.css";
import "bootstrap/dist/css/bootstrap.min.css";
import "./assets/main.css";

import "bootstrap";
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";

const app = createApp(App);

app.use(router);

app.mount("#app");
  • Vérifier que l'application fonctionne correctement.
  • Ne pas oublier de faire régulièrement des commits à chaque fois qu'on a un état stable du projet (code fonctionnel, comme ici).

Quiz

  • Modifier le quiz pour qu'il y ait deux-trois questions à choix multiples. Voici quelques idées :
    • De quelle couleur est le cheval blanc de Napoléon ?
    • Combien de pattes a un chat ?
    • Quelle est la capitale de la Suisse ?
  • Proposer quatre réponses possibles pour chaque question.
  • Afficher le score à la fin du quiz (mettre la logique du calcul dans la fonction submit, juste après le event.preventDefault();).
  • Afficher un message de félicitations si le score est parfait.
  • Ajouter un bouton pour réinitialiser le quiz.
    • Ajouter un bouton dans QuizForm.vue :
      <button class="btn btn-secondary" @click="reset">Réinitialiser</button>
    • Le bouton va appeler une fonction reset qu'il faudra créer.
  • Modifier la couleur des .btn-primary dans main.css.
  • Changer les icônes dans la bar de navigation (en haut) en utilisant Bootstrap Icons.

Aides

Nettoyage et vérification

  • Vérifier tout le projet et nettoyer les codes qui ne sont plus utilisés.
  • Vérifier que le code est correct localement, on peut construire le projet :
    npm run build
  • Vérifier que le site est correct en ligne et fonctionne sur différents appareils (ordinateur, téléphone, …).
  • Vérifier que le rendu du rapport est correct.

Documentations

S'aider des documentations officielles pour réaliser le projet :

Évaluation

L'évaluation du projet se portera sur les critères suivants :

  • Rapport
    • Le journal de bord est à jour et complet.
    • Le journal de bord est bien structuré et synthétique.
  • Fonctionnalités
    • L'application a les mêmes fonctionnalités que l'exemple.
    • L'application est personnalisée.
    • L'application a plus de fonctionnalités que l'exemple.
    • L'application a encore plus de fonctionnalités que l'exemple.
    • Bootstrap est correctement utilisé pour rendre l'application responsive.
  • Code
    • Le code suit les conventions de codage (formatage, nommage, organisation, …).
    • Le code est lisible et maintenable (nommage, commentaires, …).
Note 1  2 2.5 3 3.5 4 4.5 5 5.5 6 
Nombre de critères validés0123456789
  • En gras : critères principaux.
  • En italique : critères secondaires.