Outils
Objectifs
- Estimer son travail
- Avoir un environnement de travail fonctionnel
- Utiliser GitLab
Rendu
- Rapport individuel en Markdown sur Cyberlearn avant le prochain cours
- Nom du fichier:
lab01-tools-{noms}.md
- Délai: 1 semaine
- Nom du fichier:
Tâches
Estimer son travail
- Estimez le temps nécessaire pour réaliser ce laboratoire
- Parcourez toute la consigne et estimez le temps nécessaire pour chaque tâche
- Notez l'estimation totale en heures ainsi que le découpage en tâches dans votre rapport
- A la fin du rapport, comparez le temps estimé avec le temps réellement passé
- Notez le temps réellement passé dans votre rapport
- Comparez avec l'estimation initiale
- Expliquez les différences
- Vous pouvez noter sous forme de tableau, par exemple:
Tâche Estimation Temps réel Commentaire ... 2h 1h30 ... - Le but n'étant pas d'estimer correctement, mais comprendre comment vous pourriez améliorer vos estimations
Environnement de travail
Installez et vérifiez les outils suivants (mettre à jour si nécessaire):
- Visual Studio Code
- Git
- Vérifiez avec
git --version
- Vérifiez avec
- Docker
- Vérifiez avec
docker --version
- Vérifiez avec
docker compose version
- Vérifiez avec
- Node.js
- Au moins la 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
- Vérifiez avec
- Poetry
- Vérifiez avec
poetry --version
- Utilisez les virtualenvs en local avec
poetry config virtualenvs.in-project true
- Vérifiez avec
- MiniKube
- Vérifiez avec
minikube version
- Vérifiez avec
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
- Utilisez Chocolatey pour installer les outils
- Utilisez cmder comme terminal
- Intégration avec Windows Terminal
- Il est possible que vous deviez désactiver l'alias d'exécution de Python
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
- Donnez l'URL de votre profil dans votre rapport (p. ex. https://gitlab.com/blueur)
Créez un projet privé sur GitLab
- Nom du projet :
HEIG-VD DevOps
- Identifiant du projet (laisser par défaut) :
heig-vd-devops
- Nom du projet :
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
- Vérifiez que vous ne pouvez pas pousser directement sur la branche
Créez une issue (ticket) dans le projet
- Titre :
Rendu labo 01
- Assignez l'issue à vous-même
- Titre :
Sur votre ordinateur, créez une nouvelle branche
feature/01-tools
et allez dessusCré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
- Project name:
- 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
Depuis la racine du répertoire, exécutez
poetry new backend
Depuis le dossier
/backend
, installez FastAPIpoetry add fastapi uvicorn[standard]
Créez un fichier
main.py
dans/backend/backend
avec le code suivant:pythonfrom 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}
Testez le serveur de développement avec
poetry run uvicorn backend.main:app --reload
Vous pourrez voir la documentation de l'API à l'adresse http://127.0.0.1:8000/docs
Ajoutez un fichier .gitignore adapté au projet
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
- Liez d'une façon ou d'une autre la MR à l'issue
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ées dans votre rapport
Bonus : Réécriture de Git
- Clonez le répertoire Git Exercise
- Faites les exercices indiqués dans le README