Aller au contenu principal

Outils

Objectifs

  • Estimer son travail
  • Avoir un environnement de travail fonctionnel
  • Utiliser GitLab et GitHub Classroom

Rendu

  • Rapport individuel en Markdown à rendre avant le prochain cours
    • GitHub Classroom : https://classroom.github.com/a/nJ316FV5
    • Nom du fichier : report.md à la racine du répertoire
    • Devoir sur Cyberlearn : mettre le lien de la pull request GitLab dans le champ texte
    • Délai: 1 semaine

Tâches

Estimer son travail

  • Estimez le temps nécessaire pour réaliser ce laboratoire
    • Découpez le travail en tâches pour faciliter l'estimation
  • Lorsque vous aurez terminé le laboratoire, comparez le temps estimé avec le temps réellement passé
  • Le but n'étant pas d'estimer correctement, mais comprendre comment vous pourriez améliorer vos estimations
TâcheTemps estiméTemps réelCommentaire
Estimation10m15m...
............
Total2h1h30...

Environnement de travail

Installez et vérifiez les outils suivants (mettre à jour si nécessaire):

  • Visual Studio Code
  • Git
    • Vérifiez avec git --version
  • Docker
    • Vérifiez avec docker --version
    • Vérifiez avec docker compose version
  • Node.js
    • Au moins la dernière version LTS
    • Vérifiez avec node --version
    • Vous pouvez utiliser nvm pour gérer les versions de Node.js
  • Python
    • Vérifiez avec python --version
    • Vous pouvez utiliser pyenv pour gérer les versions de Python
  • Poetry
    • Vérifiez avec poetry --version
    • Utilisez les virtualenvs en local avec poetry config virtualenvs.in-project true
  • MiniKube
    • Vérifiez avec minikube version
  • Java
    • Au moins la dernière version LTS
    • Vérifiez avec java --version
  • Maven
    • Vérifiez avec mvn --version
Conseils
  • Préférez les versions stables (LTS) aux versions de développement
    • Moins de bugs
  • Préférez les versions officielles aux versions modifiées (p. ex. Anaconda)
    • On n'installe que les outils nécessaires
  • Préférez les gestionnaires de versions (nvm et pyenv) aux installations manuelles
    • Permet de gérer plusieurs versions en parallèle
Conseils pour Windows

GitLab

  • Créez un compte sur GitLab (si vous n'en avez pas déjà un)
    • Préférez un compte privé que vous utiliserez par la suite
  • Créez un projet privé sur GitLab
    • Nom du projet : HEIG-VD DevOps
    • Identifiant du projet (laisser par défaut) : heig-vd-devops
  • Ajoutez blueur comme membre du projet
    • Trouvez le bon rôle qui permet voir tous les merge requests (MR) sans pouvoir pousser du code
  • Protégez la branche main
    • Personne ne doit pouvoir pousser directement sur la branche
    • Seuls les mainteneurs peuvent fusionner des MR
  • Clonez le répertoire sur votre machine
    • Vérifiez que vous ne pouvez pas pousser directement sur la branche main
  • Créez une issue (ticket) dans le projet
    • Titre : Rendu labo 01
    • Assignez l'issue à vous-même
  • Sur votre ordinateur, créez une nouvelle branche feature/01-tools et allez dessus
    • Créez un projet Vue 3 dans le dossier /frontend
      • https://vuejs.org/guide/quick-start.html#creating-a-vue-application
      • Depuis la racine du répertoire, exécutez npm create vue@latest
        • Project name: frontend
        • Add TypeScript? Yes
        • Add JSX Support? No
        • Add Vue Router for Single Page Application development? No
        • Add Pinia for state management? No
        • Add Vitest for Unit testing? No
        • Add an End-to-End Testing Solution? No
        • Add ESLint for code quality? Yes
        • Add Prettier for code formatting? Yes
      • Installez les dépendances avec npm install
      • Testez le serveur de développement avec npm run dev
    • Créez un commit avec les changements et poussez la branche sur GitLab
    • Créez un projet Poetry dans le dossier /backend
  • Créez un commit avec les changements et poussez la branche sur GitLab
  • Créez une MR pour fusionner votre branche dans main
    • Liez d'une façon ou d'une autre la MR à l'issue Rendu labo 01
    • Assignez la MR à vous-même
  • Essayez l'outils de suivi du temps de GitLab pour vos estimations
    • /estimate 2h pour estimer le temps nécessaire pour la MR
    • /spend 1h30 pour indiquer le temps réellement passé
  • Cherchez quelles sont les bonnes pratiques pour un message de commit
    • Écrivez quelques mots sur les bonnes pratiques que vous avez trouvé dans votre rapport
/backend/backend/main.py
from typing import Union

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}

Bonus : Réécriture de Git

  • Clonez le répertoire Git Exercise
  • Faites les exercices indiqués dans le README