1. Gestion de projet et documentation#
Ce premier module sert à se familiariser à certains outils numériques afin de réaliser une documentation propre et conçise sur git.
Il y a deux moyens principaux de réaliser la documentation:
- sur l’ordinateur par intermédiaire du terminal et de git
- directement sur gitlab
But de la documentation#
La documentation sert à mettre de l’ordre dans un apprentissage et à retracer chaque étape d’un long processus. Ceci permet d’avoir une vision globale du terrain étudié. La documentation sert aussi à renforcer nos acquis car le retransmission de connaissances recquiert une certaine aisance dans le sujet. La documentation sert à refaire une retrospective de tout ce qu’on a appris. De plus, grâce à celle-ci nous n’avons plus besoin de repasser par plein d’étapes pour arriver à un certain objectif, il suffit plus que de conslter la documentation pour se souvenir d’une résolution de problème.
Documenter sur gitlab#
Il suffit de suivre quelques étapes. Quand on est sur gitlab il faut aller dans le fichier docs, puis les différents modules et appuyer sur le bouton bleu modifier. Il faut ouvrir dans Web EDI pour pouvoir modifier les documents grâce à l’éditeur de texte de gitlab.
Documenter sur l’ordinateur#
C’est une manière efficace de travailler et modifier sa page web or certains outils sont requis et certaines configurations sont nécessaires.
Petite précision importante: je travaille sur un ordinateur Acer et donc Windows donc mon tutoriel ne fonctionnera pas pour MacOs
Etapes principales:
- créer un compte sur gitlab
- télécharger et configurer git
- créer une clé SSH afin de lier votre gitlab à une copie sur votre ordinateur
- cloner la clé SSH
- télécharger un éditeur de texte et se familiariser au language markdown
- créer votre site personnel
- documenter votre travail
outils#
- clé SSH
- vscodium
- bash
- invite de commande
- github
- gitlab
S’inscrire sur gitlab#
Il faut tout simplement créer un compte sur gitlab en ajoutant un projet.
télécharger et configurer git#
Git est un logiciel de gestion de versions décentralisées (DVCS). Git a l’avantage d’être libre et gratuit (opensource) ce qui le rend accessible à tout le monde. De plus, il est performant, secure et flexible et chaque copie de travail du code est un dépôt qui contient l’historique complet de tous les changements.
Toutes les étapes que je décris dans cette rubrique peuvent être retracées dans ce tutoriel: tuto github Il s’agit d’un tutoriel gitlab qui contient toutes les informations nécessaires pour travailler sur git par l’intermédiaire de l’invite de commande.
Pour tétécharger git il suffit d’aller sur ce lien: git et d’appuyer sur la case Download for windows. Il y a un autre moyen de le télécharger. Les ordinateurs windows possèdent un package Windows manager par défaut. IL suffit d’aller dans l’invit de commande et mettre:
winget install -e --id Git.Git
On peut vérifier tout simplement si vous possédez déjà git sur votre ordinateur par le code suivant dans votre invite de commande:
git --version
Quand git a bel et bien été téléchargé, l’invite de commande va afficher ceci:
On y voit la version téléchargée.
Ensuite on configure git sur l’ordinateur par intermédiaire de l’invite de commande. Il faut l’assigner à un utilisateur. Ceci se fait en l’associant à une adresse email et un nom d’utilisateur.
git config --global user.name "merlin.pierre"
adresse email:
git config --global user.email "merlin.pierre@ulb.be"
pour vérifier la démarche:
git config --global --list
clé SSH#
Une clé “Secure Shell” permet de créer une connexion sécurisée sur un réseau ouvert non-sécurisé. Elle permet une communication protégée entre votre ordinateur et un serveur distant (Gitlab). La clé SSH est composée: - une clé publique disponible à tous - une clé privée utilisée pour le déchiffrement de messages chiffrés à l’aide d’une clé publique correspondante.
Celle-ci permet une connexion entre ordinateurs où seulement la clé publique est échangée via le réseau. Ensuite, les transmissions chiffrées avec une clé publique peuvent seulement être décodées avec la clé privée correspondante et un mot de passe. Le protocole SSH est utile pour le transfert de fichiers à distance et l’accès au système d’exploitation. J’ai créé une clé RSA (algorithme cryptographique à clé publique)
Pour générer une clé SSH sur Windows il faut d’abord télécharger Git Bash.
Ensuite sur Bash il faut entrer ce code:
ssh-keygen -t rsa -b 2048 -C "username"
Ceci créera une clé SSH avec votre nom d’utilisateur (votre adresse email) comme étiquette.
Puis il faut saisir un fichier dans lequel enregistrer la clé.
enter a file in which to save the key (/Users/you/.ssh/id_rsa):
Maintenant il ne suffit plus que de cloner les documents d’un dossier sur notre ordinateur qu’on veut modifier. Il faut aller sur la page principale de son projet sur git et appuyer sur le bouton bleu pour cloner la clé SSH. Il faut copier le lien en-dessous de cloner avec clé SSh.
Puis, il faut ouvrir l’invite de commande copier le lien de Cloner avec SSH et coder:
git clone "le lien copié"
Ensuite, le dossier voulu sera téléchargé sur votre ordinateur et vous pouvez le modifier sur un éditeur de texte.
éditeur de texte#
Personnellement, je vais utiliser le programme VSCodium dont le lien pour le télécharger est le suivant: VSCodium. Il suffit d’appuyer sur la case “download latest release” qui va vous rediriger vers github sur une page avec une liste de versions de d’application adaptées à chaque OS (MacOS, Windows, Linux…). J’ai pris la version VSCodiumSetup-x64-1.84.2.23319.exe Voici une image de la liste des différentes versions qu’on peut télécharger depuis github.
Markdown#
Or pour réaliser une documentation propre il faut connaître certaines conformités au language markdown. Markdown est un language de balisage permettant de formater du texte brut de manière simple pour un rendu en HTML ou dans un autre format. Afin de se familiariser au language markdown, il peut s’avérer pratique de suivre quelques tutoriels. En voici des exemples: turoriel markdown et tutoriel Markdown Ces tutoriels expliquent par exemple comment ajouter une image, un lien dans votre documentation ou d’écrire en italique ou faire des titres…
Le texte sur ma page gitlab est écrit sous forme de language markdown, ainsi il est essentiel d’avoir les outils nécessaires pour s’en servir efficacement. Tous les documents qu’on vient de cloner ont une extension .md
Modifier la page gitlab#
Maintenant que tout a été configuré on peut se mettre au travail. Pour ajouter les modifications apportées au documents sur VScodium, sauvegardés dans le dossier merlin.pierre, il faut ouvrir l’invite de commande. Dans celui-ci on va écrire:
cd merlin.pierre
Ensuite, pour que les modifications sur gitlab soient synchronisées sur votre ordinateur on va écrire:
git pull
Cela va donc télécharger les modifications apportées directement sur gitlab sur votre ordinateur dans les documents locaux correspondant. Cette commande est primordiale pour un travail groupe ou plusieurs personnes modifient un dossier en même temps. Cela permet d’avoir des mise à jours régulières sur votre ordinateur des documents modifiés en ligne. Or pour la documentation individuelle, cette étape est inutile si toutes les modifications sont effectuées sur l’ordinateur.
Maintenant on peut donc modifier les documents sur un éditeur de texte tel que VSCodium.
git status
Cette commande vous affichera vos modifications des documents sélectionnés. Quand vous faites une modification sans la télécharger sur gitlab alors le document modifié sera affiché en rouge, car le document sur votre ordinateur et gitlab n’est pas synchronisé.
Ici par exemple, j’ai modifié le module01.md sur VSCodium sans l’avoir télécharger sur gitlab.
Pour mettre à jour les documents sur gitlab il faut coder ceci:
git add -A
En utilisant -A on met tout à jour. Or si on veut seulement ajouter quelques documents on met add et les documents correspondants. Quand on code git status maintenant tous les documents modifiés seront verts. Pour avoir une documentation en étapes il faut ajouter un titre à chaque modification en codant:
git commit -m "yourmessage"
Finalement, pour upoader tout sur gitlab project, il faut coder:
git push
Modifier une image#
Le stockage de données dépense beaucoup d’énergie et prends beaucoup d’espace s’il n’est pas optimisé. Ainsi, pour réduire le stockage utilisé on peut par exemple compresser des images. Pour ce faire il existe énormément de moyen et d’outils: n’importe quel éditeur graphique comme photoshop p.ex. fonctionne ou GraphicsMagic. Votre ordinateur a peut-être même une application par défault. On peut même le faire des sites internet. Ici par exemple je vais utiliser la page suivante: compresseur d’images
Pour compresser l’image suivante, il me suffit de la télécharger sur mon ordinateur dans un dossier et ensuite de l’uploader sur le site.
Ce beau paysage est une image qui a besoin de beaucoup de place de stockage. Elle est en format: 900 x 600 pixels jpeg.
Grâce à la compression j’ai pu réduire le stockage utilisé par l’image de 504.07KB à 70.44KB. J’ai donc économisé 87% de stockage.
Un autre moyen de réduire la taille et le stockage de vos images est simplement de les redimensionner directement sur la photo elle-même (les trois petits points en haut à droite) et diminuer le nombre de pixels.
Project management#
Lors d’un des premiers cours nous avons appris certains principes et certaines techniques de “project management” pour que la réalisation de notre projet se fasse de manière fluide et efficace. Ces modèle d’apprentissage et d’exécution de projets nous serviront surtout pour notre projet en groupe lors de la deuxième partie du cours.
As-you-work documentation#
Cette méthode consiste à documenter chaque étape réalisée et chaque information assimilée afin d’avoir des traces sur son propre apprentissage. En gros, il s’agit de décrire tous ce que nous apprenons afin renforcer l’information dans notre cerveau. C’est comme repasser une deuxième couche de peinture sur un mur pour qu’elle soit plus épaisse. Ainsi, nous nous souvenons mieux des étapes franchies et des connaissances acquises. De plus en documentant des connaissances, nous sommes forcés d’établir une structure dans nos connaissances, ce qui peut fortement aider pour avoir une vision globale d’un sujet. En outre, la documentation permet de rester tout le temps à jour en documentant régulièrement à chaque fois qu’on a appris une nouvelle chose. Finalement, elle est aussi utile car nous pouvons toujours consulter notre documentation et donc en cas d’oubli, il suffit de vérifier comment on a résolu un problème il y a des semaines. De cette manière, nous pouvons aussi consulter le site web d’autres étudiants qui ont peut-être rencontré le même problème que nous et y trouver notre solution ou inversément. Cette fonctionnalité m’a été utile lors de ma propre documentation. Avançer marche par marche permet d’éviter de se trouver devant le pieds d’une montagne avant une échéance.
Modular and Hierarchical Planning#
Cette méthode consiste à établir un plan selon une répartition de son projet en plusieurs petites composantes/ étapes qui seront placés dans une hiérarchie d’importance. Il faut considérer un projet comme un ensemble de petites tâches/ modules au lieu d’une grande tâche complexe et longue. Par exemple, sur l’image suivante, le robot représente un projet dont les différentes parties du “corps” ont été séparées en plusieurs parties. Il faut hiérarchiser l’importance des parties du corps comme pour les tâches d’un projet. Le principal est le corps et la tête et les membres viennent en second lieu.
Tomber pour mieux se relever#
Une approche importante à considérer est aussi de se tromper vite! Il faut faire des erreurs très tôt dans un processus de réalisation de projet afin de ne pas s’égarer dans une voie sans issue. La meilleure manière d’apprendre c’est de se tromper. Par ceci, je sous-entend de se lancer vite dans des directions sans trop surévaluer une situation pour obtenir un résulat. C’est-à-dire que pour un projet il faut très vite trouver une solution et se lancer vers cette voie pour voir si elle est vraiment réalisable. Pour un projet innovatif il faut donc mettre la création à l’oeuvre et à l’épreuve pour pouvoir la corriger de plus en plus.
Spiral Development#
Il s’agit de réaliser un projet par spirale ou par couche. La première spirale représente la plus essentielle et incorpore le strict minimum pour qu’un projet fonctionne. La deuxième spirale vient développer la première et la 3ème vient compléter etc… Plus le diamètre de la spirale augmente moins son contenu est important. Cette technique est très efficace pour la réalisation d’un projet qui marche et avec une forte pression de temps. Cela dit, cette méthode désencourage la prise de risques qui peut pourtant parfois être l’origine d’un projet qui se démarque. L’argument majeur pour employer cette méthode est la pression de temps. Il s’agit de réaliser des versions de plus en plus améliorées d’une innovation en commençant avec le minimum.
Pour plus d’informations sur différentes méthodes de réalisation de projets cliquez ici