1. Gestion de projet et documentation#
Le but de ce module est de rédiger une documentation et de la partager via Git, qui est un système de contrôle de version. Cette documentation va nous permettre de nous remémorer des moindres étapes que nous avons dû entreprendre pour suivre le cours de PHYS-F517. De plus, celle-ci, permettra à vous, chers lecteurs, de vous éclairer sur certains points qui pourrait vous être encore trop abstraits. Pour réaliser cela, une page contenant toutes les informations dont nous avons besoin, nous a été mise à disposition sur le site du cours : « How To Make (almost) Any Experiments ».
1.1 Les principales étapes :#
1) Installer et congigurer Git#
Tu as peut-être déjà Git sur ton ordinateur ? Pour le savoir, va dans ton terminal (Windows PowerShell) et tape ceci :
Si la réponse est de type :
alors tu as déjà Git. Les numéros remplaçant les lettres X.Y.Z représentent la version dont tu disposes.
Sinon, pas de problème, fais comme moi et installe-le. Pour cette étape, il m’a suffit de taper « Git download » dans ma barre de recherche. Le télécharger via Windows ne m’a posé aucun problème.
Pour le configurer j’ai, en suivant les instructions ci-dessous,
entré dans mon terminal, mon nom d’utilisateur et mon adresse mail.
2) ssh-keygen#
GitLab utilise le protocole SSH pour communiquer en toute sécurité avec Git. SSH utilise en fait une paire de clé, l’une est publique tandis que l’autre est privée. La clé publique peut être distribuée pour la communication à distance entre des machines sur un réseau ouvert non sécurisé alors que la clé privée doit être protégée (gardée pour soi).
Pour générer ma paire de clé SSH, j’ai dû : ouvrir le terminal, taper ssh-keygen et suivre les étapes présentent sur la photo ci-dessous.
Voici le lien de la vidéo qui m’a permis de comprendre rapidement comment m’y prendre.
Tu peux maintenant retrouver ta paire de clé SSH dans le fichier que le terminal t’a proposé par défaut. Si, comme moi, tu ne le trouves pas directement, c’est normal. Le point devant ssh signifie que le dossier est caché. Pour résoudre ce problème, il faut afficher les éléments masqués. J’ai ensuite copié ma clé publique pour aller la coller dans l’onglet Clés SSH sur GitLab.
3) git clone#
Ce point m’a causé beaucoup de problème et j’ai dû faire appel au professeur pour qu’il puisse m’aider à avancer dans ma démarche.
Tout d’abord, je me suis dirigée vers ma page personnelle de projet et j’ai copié l’URL de clone avec SSH.
Ensuite, il m’a fallu créer un nouveau dossier que j’ai ouvert dans le terminal.
Dans ce dernier, j’ai tapé git clone suivit de mon URL.
Le clonage de mon projet étant fait, je vais maintenant pouvoir modifier ma documentation localement à l’aide d’un éditeur de texte avant que mes changements n’apparaissent sur le serveur distant.
Avant toute chose, il est important de savoir utiliser ces 4 commandes :
• git pull : télécharger les derniers changements de notre projet
• git add -A : ajouter toutes les modifications à valider
• git commit -m “COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT” : accompagner nos modifications de commentaires
• git push : envoyer nos changements au serveur
Commande supplémentaire (non obligatoire):
• git status : obtenir un instantané de l’état actuel de notre référentiel.
1.2 Markdown et Visual Studio Code#
Il nous a été recommandé d’écrire notre documentation en Markdown, pour cela nous avons besoin d’un éditeur de texte. J’ai donc installé Visual Studio Code sur mon ordinateur.
A nouveau, il nous faut connaitre quelques commandes :
Mise en page | Commande |
---|---|
Titre | # |
Sous-titre | ## |
Sous sous-titre | ### |
Mot en italique | Une * de chaque côté du mot |
Mote en gras | Deux * de chaque côté du mot |
Images |  |
Liens | [](adresse du lien) |
J’ai également effectué quelques modifications au niveau du site_name et du site_author dans l’onglet mkdocs.yml.
1.3 Images#
Concernant les images, j’ai choisi de les mettre en format .jpg car même si la qualité est moins bonne qu’en format .png, ce type de fichier est plus léger.
Je n’utilise pas d’application particulière pour redimensionner mes images, je le fais directement via Photos dans mon ordinateur.
Je peux alors choisir le type de fichier que je souhaite utiliser (ici, .jpg qui a une qualité de 80%) et modifier le chiffre qui définit la largeur des pixels de ma photo. J’ai souvent baissé un peu ce dernier pour me garantir un maximum de place dans l’espace de stockage et éviter qu’il ne sature. J’y aperçoit également l’état initial et final de mon redimensionnement avec les Kilooctet (Ko) précisés.
Ensuite, je les enregistre dans un dossier images. Il en existe 2 : un associé au dossier index.md et un autre associé au dossier fabzero-modules.
Une fois tout cela fait, je n’ai plus qu’à utiliser la commande image, c’est-à-dire, 
. Celle-ci me propose une liste des différentes images qui sont classées dans le dossier concerné et il me suffit de cliquer sur le nom sous laquelle j’ai enregistré la photo dont j’ai besoin.
Par exemple,
1.4 Techniques de gestion de projet#
Pour nous faire relativiser face à l’ampleur du travail qui nous est demandé, notre professeur nous a partagé différentes techniques de gestion de projet. L’acquisition de celles-ci nous aiderons à mieux appréhender le projet de groupe qui nous attend dans quelques semaines.
Celles qui ont le plus retenu mon attention sont :
• La décomposition en petites tâches : se fixer des objectifs chaque jour et ne pas procrastiner nous évite de tout devoir faire à la dernière minute en étant stressé.
• Hiérarchisation des tâches par odre d’importance : réaliser les tâches qui nous semblent les plus volumineuses et compliquées en premier.
• Gestion du temps : Savoir le délai qui nous est accordé pour réaliser un travail est primordial. Une fois que nous sommes au courant du temps qui nous imparti, nous pouvons nous fixer des délais pour chacune des petites tâches (décomposées au préalable). Au terme de ce délai, il nous faudra alors passer à la tâche suivante même si la précédente n’est pas terminée. Cela rejoint la technique de la spirale qui nous dit de réaliser le plus rapidement possible un projet, quitte à ce qu’il soit minimaliste, pour pouvoir par la suite revenir dessus.
1.5 Checklist#
• made a website and describe how you did it
• introduced yourself
• documented steps for uploading files to the archive
• documented steps for compressing images and keeping storage space low
• documented how you are going to use project management principles
• pushed to the class archive
La documentation de mon premier module est enfin finit !