Actions

Cours

Différences entre versions de « Cours:Méthodologie (R&D) »

De GBLL, TAL, ALAO, etc.

(23 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie:Enseignement/ML]]L'objectif de cette formation est de proposer une introduction à la gestion de versions, notamment dans la perspective d'un travail de groupe. L'outil choisi est un outil open source : Git. On couvrira ici plusieurs objectif :
+
== Génie logiciel et gestion de versions ==
 +
L'objectif de cette formation est de proposer une introduction à la gestion de versions, notamment dans la perspective d'un travail de groupe. L'outil choisi est un outil open source : Git. On couvrira ici plusieurs objectif :
 
* installer Git :
 
* installer Git :
 
* notion de dépôt ;
 
* notion de dépôt ;
 
* flux de travail de base (add/commit) ;
 
* flux de travail de base (add/commit) ;
 
* branches et dépôts distants.
 
* branches et dépôts distants.
== Installation du logiciel ==
+
{{encart|
 +
=== Ressources<ref>Ce cours a été adapté par [https://larac.univ-grenoble-alpes.fr/membre/philippe-dessus Philippe Dessus] dans le cadre du projet ReflexPro : http://espe-rtd-reflexpro.u-ga.fr/docs/projet-reflexpro/fr/latest/git.html</ref> ===
 +
*[[:File:775-Git-énoncé.pdf|TD git]] ;
 +
*[[:File:775-IdL-gitlab-énoncé.pdf|TD gitlab]] ;
 +
*[[:File:775-IdL-git-TD corrigé.pdf|TDs corrigés]] ;
 +
*[[:File:775-IdL-git.pdf|diaporama]].}}
 +
 
 +
=== Installation du logiciel ===
 
* Linux :
 
* Linux :
 
** Debian et dérivés: {{code|apt-get install git}} ;
 
** Debian et dérivés: {{code|apt-get install git}} ;
Ligne 10 : Ligne 18 :
 
* Mac/Windows : https://git-scm.com/downloads.
 
* Mac/Windows : https://git-scm.com/downloads.
  
== [[Wfr:Forge_(informatique)|forge]]s utilisables pour le cours ==
+
=== [[Wfr:Forge_(informatique)|forge]]s utilisables pour le cours ===
 
Github est incontestablement la solution la plus connue, mais n'est pas la seule solution viable.
 
Github est incontestablement la solution la plus connue, mais n'est pas la seule solution viable.
 
# Forges utilisant le logiciel [[Wfr:GitLab CE|GitLab]], installable sur votre propre serveur :
 
# Forges utilisant le logiciel [[Wfr:GitLab CE|GitLab]], installable sur votre propre serveur :
 
#* [https://framagit.org framagit] ;
 
#* [https://framagit.org framagit] ;
#* [https://gricad-gitlab.univ-grenoble-alpes.fr Forge de l'université] ;
+
#* [https://gricad-gitlab.univ-grenoble-alpes.fr Forge de l'UGA] ;
 
# Forges avec logiciels ''ad hoc'' :
 
# Forges avec logiciels ''ad hoc'' :
 
#* [https://bitbucket.org bitbucket] ;
 
#* [https://bitbucket.org bitbucket] ;
Ligne 21 : Ligne 29 :
 
Enfin, pour qui ne veut pas des fonctionnalités d'une forge (visibilité du projet, bugs, affichages), tout serveur muni d'un accès ssh peut jouer le rôle de dépôt distant.
 
Enfin, pour qui ne veut pas des fonctionnalités d'une forge (visibilité du projet, bugs, affichages), tout serveur muni d'un accès ssh peut jouer le rôle de dépôt distant.
  
== Utilisation de git en ssh (avec clé ssh) ==
+
=== Générer une clé [[wfr:Chiffrement RSA|RSA]] ===
* sous git-bash (windows) / dans le terminal utiliser la commande {{code|ssh-keygen|bash}} pour générer la clé
+
[[File:Gitlab — Clefs SSH · Paramètres de l’utilisateur.png|495px|thumb|Exemple d'interface d'ajout de clé '''publique''' pour l'utilisation de git en ssh avec gitlab]]
* Après pour utiliser git en ssh, '''quand on choisit un autre emplacement pour la clé que l'emplacement par défaut'''<ref>Laisser le premier champ vide lors de l'appel de {{code|ssh-keygen|bash}} pour s'affranchir de cette étape et choisir l'emplacement par défaut.</ref>, au lancement de git :
+
# sous '''git-bash''' (windows) / dans le '''terminal''' (Linux, Mac), utiliser la commande {{code|ssh-keygen|bash}} ;
** {{code|eval "ssh-agent -s"|bash}} (windows) ;
+
# choisissez l'emplacement par défaut (laisser le premier champ vide et appuyer sur entrée)<ref>Si vous avez déjà une clé et que vous voulez en créer une autre à utiliser avec git, il faudra alors spécifier un autre chemin. Quand vous utiliserez le ssh (si vous ne la mettez pas dans le dossier {{code|~/.ssh}}), il faudra, au lancement de git taper :
** {{code|ssh-add /c/users/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle|bash}} (tous OS<br />sauf que le chemin sera plutôt de la forme {{code|/home/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle|bash}} pour les systèmes unix).
+
# windows seulsement : {{code|eval "ssh-agent -s"|bash}} (windows) ;
 +
# {{code|ssh-add /c/users/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle|bash}} (tous OS<br />sauf que le chemin sera plutôt de la forme {{code|/home/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle|bash}} pour les systèmes unix).</ref> ;
 +
# saisissez un mot de passe pour protéger votre clé privée.
 +
 
 +
Une fois ce couple clé publique/clé privé généré, vous pourrez-vous en servir pour vous connecter en ssh dans de nombreux contextes (dépôts git, serveurs). Pour cela, il suffira de fournir à l'administrateur système du serveur (éventuellement via une interface web<ref>Par exemple :
 +
* https://gricad-gitlab.univ-grenoble-alpes.fr/profile/keys
 +
* https://github.com/settings/keys
 +
</ref>), votre clé '''publique''' (jamais la clé privée).
  
== Cycle d'usage de base de git ==
+
=== Cycle d'usage de base de git ===
 
<syntaxhighlight lang="bash">#récupération des dernières modifications depuis un éventuel dépôt distant
 
<syntaxhighlight lang="bash">#récupération des dernières modifications depuis un éventuel dépôt distant
 
git pull origin maBranche
 
git pull origin maBranche
Ligne 36 : Ligne 51 :
 
#envoi des changements sur le dépôt distant
 
#envoi des changements sur le dépôt distant
 
git push origin maBranche</syntaxHighlight>
 
git push origin maBranche</syntaxHighlight>
 +
Pour des informations beaucoup plus détaillées voir [[Cours:Versioning_avec_Git|Versioning avec Git]].
 +
 +
== Méthodologie du mémoire ==
 +
=== Ressources ===
 +
* L'[[:File:775-exo méthodo(Magnat).pdf|exercice d'écriture]] d'[https://www.researchgate.net/profile/Emilie_Magnat Émilie Magnat] ;
 +
* [[:Fichier:775-Méthodo mémoire.pdf|le support de cours]].
 +
 +
=== Ressources externes ===
 +
* [[wfr:Logiciels de gestion bibliographique|Logiciels de gestion bibliographique]] ;
 +
** [https://www.zotero.org/styles 9000 feuilles de style zotero] ;
 +
* [https://llasic.univ-grenoble-alpes.fr/menu-principal/bibliotheques/procedure-de-depot-des-memoires-de-master-17061.kjsp Ressources de l'UFR LLASIC] :
 +
** [https://llasic.univ-grenoble-alpes.fr/medias/fichier/modele-memoire-libreoffice-2018-2019-1-_1542893386441-odt?INLINE=FALSE Feuille de style {{code|.odt}}] ;
  
== Ressources ==
+
== Notes et références ==
*[[:File:775-Git-énoncé.pdf|TD]] ;
+
<references />
*[[:File:775-IdL-git-TD corrigé.pdf|TD corrigé]] ;
+
[[Catégorie:Enseignement/ML]]
*[[:File:775-IdL-git.pdf|diaporama]].
 

Version du 8 avril 2022 à 09:55

Génie logiciel et gestion de versions

L'objectif de cette formation est de proposer une introduction à la gestion de versions, notamment dans la perspective d'un travail de groupe. L'outil choisi est un outil open source : Git. On couvrira ici plusieurs objectif :

  • installer Git :
  • notion de dépôt ;
  • flux de travail de base (add/commit) ;
  • branches et dépôts distants.

Installation du logiciel

forges utilisables pour le cours

Github est incontestablement la solution la plus connue, mais n'est pas la seule solution viable.

  1. Forges utilisant le logiciel GitLab, installable sur votre propre serveur :
  2. Forges avec logiciels ad hoc :

Enfin, pour qui ne veut pas des fonctionnalités d'une forge (visibilité du projet, bugs, affichages), tout serveur muni d'un accès ssh peut jouer le rôle de dépôt distant.

Générer une clé RSA

Exemple d'interface d'ajout de clé publique pour l'utilisation de git en ssh avec gitlab
  1. sous git-bash (windows) / dans le terminal (Linux, Mac), utiliser la commande ssh-keygen ;
  2. choisissez l'emplacement par défaut (laisser le premier champ vide et appuyer sur entrée)[2] ;
  3. saisissez un mot de passe pour protéger votre clé privée.

Une fois ce couple clé publique/clé privé généré, vous pourrez-vous en servir pour vous connecter en ssh dans de nombreux contextes (dépôts git, serveurs). Pour cela, il suffira de fournir à l'administrateur système du serveur (éventuellement via une interface web[3]), votre clé publique (jamais la clé privée).

Cycle d'usage de base de git

#récupération des dernières modifications depuis un éventuel dépôt distant
git pull origin maBranche
#préparation de TOUS les fichiers modifiés pour le prochain commit
git add .
#commiter les changements
git commit -m "Explication de mes modifications"
#envoi des changements sur le dépôt distant
git push origin maBranche

Pour des informations beaucoup plus détaillées voir Versioning avec Git.

Méthodologie du mémoire

Ressources

Ressources externes

Notes et références

  1. Ce cours a été adapté par Philippe Dessus dans le cadre du projet ReflexPro : http://espe-rtd-reflexpro.u-ga.fr/docs/projet-reflexpro/fr/latest/git.html
  2. Si vous avez déjà une clé et que vous voulez en créer une autre à utiliser avec git, il faudra alors spécifier un autre chemin. Quand vous utiliserez le ssh (si vous ne la mettez pas dans le dossier ~/.ssh), il faudra, au lancement de git taper :
    1. windows seulsement : eval "ssh-agent -s" (windows) ;
    2. ssh-add /c/users/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle (tous OS
      sauf que le chemin sera plutôt de la forme /home/nomutilisateur/.ssh/cle_ou_autre_chemin_absolu_vers_la_cle pour les systèmes unix).
  3. Par exemple :