Projet

Général

Profil

Utilisation de Redmine » Historique » Version 44

Florent Torregrosa, 31/05/2013 11:33

1 1 Julien Enselme
2 44 Florent Torregrosa
3 1 Julien Enselme
h1. Wiki d'utilisation du projet multi-assos
4 44 Florent Torregrosa
5
{{>toc}}
6 18 Ismaeil Abouljamal
7
Voir le lien [[Utilisation_de_Drupal_multi-site]]
8 9 Julien Enselme
9 41 Julien Enselme
h1. Présentation de la forge
10
11
La forge peut vous aider dans tous vos projets logiciels. Elle dispose :
12
13
* D’une page _Activité_ résumant les dernières actions effectuées. Vous pouvez vous abonner à son flux RSS. Vous pouvez également choisir la quantité d’informations à afficher et à recevoir par mail.
14
* D’un système de _Demandes_ pour répartir les tâches dans le groupe, garder une trace de ce qui a été fait, planifier en mettant une date d’échéance.
15
* D’un _Gantt_ qui se complète automatiquement à partir du système de tâche. Il est exportable en pdf.
16
* D’un calendrier qui se complète automatiquement à partir du système de tâche.
17
* D’un système d’ _Annonces_ pour communiquer avec l’extérieur.
18
* D’un moyen de déposer des _Documents_. Vous pouvez donner un titre à ce document et une description longue. Très utile pour rassembler les documents les plus importants à transmettre.
19
* D’un _Wiki_, pour garder une trace de votre documentation avec un bel historique. Très utile si vous devez la passer à une future équipe. Vous pouvez également attacher un fichier à une page.
20
* D’un _Dépôt_ pour garder une trace de votre code, pouvoir revenir à une version antérieure qui fonctionne, garder une trace de qui à fait quoi, de comparer des versions,…
21
22
Bonne utilisation !
23
24 3 Julien Enselme
h1. Wiki
25
26
Pour créer une nouvelle page, il suffit de se rendre à l’adresse de la page que l’on veut créer.
27
28 8 Julien Enselme
Pour créer une sous-page (ce qui permet d’avoir une relation parent/enfant entre les pages et de voir la relation dans _Index par titre_), créez les deux pages séparément. Ensuite, allez sur la page fille et cliquez sur renommer. Sélectionnez le nom de la page parent et sauvegardez.
29 9 Julien Enselme
30 1 Julien Enselme
Pour ajouter une table des matières, entrez <pre>{{toc}}</pre>
31 43 Florent Torregrosa
32
Pour ajouter une table des matières décalée sur la droite, entrez <pre>{{>toc}}</pre>
33 3 Julien Enselme
34 22 Julien Enselme
Vous pouvez aussi recevoir des notifications par mails en cliquant sur _watch_ ou _surveiller_.
35 1 Julien Enselme
36 22 Julien Enselme
Pour ajouter des notes, utilisez les balises suivantes :
37
38
<pre>
39
    {{note(text)}}
40
    {{tip(text)}}
41
    {{important(text)}}
42 1 Julien Enselme
    {{warning(text)}}
43 22 Julien Enselme
</pre>
44 1 Julien Enselme
45 22 Julien Enselme
h1. Dépôt git
46
47 24 Julien Enselme
Adresse du dépôt git : LOGIN@scm.centrale-marseille.fr:/srv/git/PROJET/default.git
48 2 Julien Enselme
49 24 Julien Enselme
Pour ajouter des utilisateurs au projet : il faut se rapprocher du CRI. Pour deux raisons :
50 1 Julien Enselme
* Les utilisateurs doivent être connus de Redmine
51
* Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix.
52
53 24 Julien Enselme
{{important(L’encodage par défaut du dépôt est UTF-8. Faîtes-y attention surtout si l’encodage de votre système est différent (Vous êtes sous Windows ou linux > 10 ans).)}}
54 1 Julien Enselme
55 42 Julien Enselme
Pour avoir une présentation de git et quelques commandes de base : http://www.llaumgui.com/public/slides/git-github-social-codding/#/
56
57 1 Julien Enselme
h2. Les clés ssh
58
59 24 Julien Enselme
h3. Sous linux
60 1 Julien Enselme
61 24 Julien Enselme
L'accès au dépôt se fait par les clés ssh autorisées dans vos comptes de l'école. Vous pouvez également procéder de même pour vous connecter en ssh à vos comptes personnels ou d’association. Il faut juste adapter les dossiers et les machines.
62
63 36 Julien Enselme
Pour créer une paire de clé ssh, lancez la commande : <code>ssh-keygen</code>. Ceci crée deux fichiers dans votre ~/.ssh :
64
* id_rsa (votre clé privée à conserver précieusement)
65
* id_rsa.pub (votre clé publique à transmettre).
66 1 Julien Enselme
67 36 Julien Enselme
Pour pouvoir utiliser votre clé publique ssh (~/.ssh/id_rsa.pub) dans le fichier authorized_keys dans votre compte de l'école (eg : sur le sas) :
68 1 Julien Enselme
69 24 Julien Enselme
* si la clé est dans votre compte:
70 1 Julien Enselme
71 8 Julien Enselme
 * <code>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key</code>
72 15 Geoffroy Desvernay
73 24 Julien Enselme
* si elle est sur votre machine perso, *au choix* :
74 1 Julien Enselme
75
 * <code>ssh-copy-id login@sas1.ec-m.fr</code>
76 24 Julien Enselme
 * <code>cat ~/.ssh/id_rsa.pub | ssh LOGIN@sas1.ec-m.fr 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'</code>
77 1 Julien Enselme
78 24 Julien Enselme
h3. Sous windows
79
80 37 Julien Enselme
Installez un client ssh. Par exemple "ppty":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Allez sur "ce tuto":http://assos.centrale-marseille.fr/ginfo/content/utiliser-un-terminal-unix-comme-si-vous-%C3%A9tiez-au-cri pour plus de détails.
81 24 Julien Enselme
82 25 Julien Enselme
Ceci vous permet d’avoir une console. Le programme puttygen (disponible "ici":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) vous permet de générer une paire de clé.
83
# Exécutez-le
84
# Cliquez sur _Generate_.
85
# Bouger la souris dans tous les sens.
86 37 Julien Enselme
# Sauvegardez votre clé publique et votre clé privée là où vous saurez les retrouver. Pensez à remplir le champ _comment_ avec quelque chose qui vous identifie. Cela permettra de distinguer les clés ssh sur le serveur. {{note(Donnez leur un nom qui vous permette de les distinguer. Par exemple, key pour votre clé privé et key.pub pour votre clé publique.)}}
87 25 Julien Enselme
{{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}}
88
89
Maintenant, vous devez placer ces clés sur le serveur. Pour cela :
90
# Connecter vous au serveur avec putty
91
# Créer un dossier .ssh (s’il n’existe pas) <code>mkdir ~/.ssh</code>
92
# Ouvrez le fichier authorized_keys (ou créez le) : <code>nano -w ~/.ssh/authorized_keys</code>
93 28 Julien Enselme
# Copiez/Collez votre clé publique dedans *sur une seule ligne*
94 25 Julien Enselme
# Sauvegardez
95
96
Ensuite, pour vous connecter au serveur à l’aide de ces clés avec le client putty :
97 37 Julien Enselme
# Ouvrez putty
98 25 Julien Enselme
# Dans Connexion > SSH > Auth, renseignez votre clé privée.
99 37 Julien Enselme
# Connectez vous au serveur comme d’habitude.
100 25 Julien Enselme
101
h2. Installer git
102
103
h3. Sous Linux
104
105
Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel.
106
107
h3. Sous Windows
108
109 38 Julien Enselme
Il faut tout d’abord installer git. Téléchargez msysgit par "ici":http://code.google.com/p/msysgit/. Installez le avec les paramètres par défaut.
110 29 Julien Enselme
111 38 Julien Enselme
Afin de vous faciliter la vie, installez également TortoiseGit. C’est une interface à git grâce à laquelle vous pourrez utiliser vos clés ssh plus facilement. Téléchargez le logiciel "ici":http://code.google.com/p/tortoisegit/ et installez-le avec les options par défaut. Pour le configurer, faîtes un clic droit dans un dossier ou sur votre bureau, puis allez dans _TortoiseGit > Settings_. Entrez le chemin vers msysgit comme demander puis sauvegardez.
112 29 Julien Enselme
113
Pour cloner un dépôt :
114
# Allez là où vous désirez le cloner
115
# Clique droit, puis clone
116
# Entrez le chemin du dépôt
117 38 Julien Enselme
# Cochez _Load Putty key_ et entrez le chemin de votre clé privé dans ce champ.
118 29 Julien Enselme
# Vous êtes opérationnel.
119
120
Liens complémentaires :
121
* http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/installer-et-configurer-git
122
* http://melusine.eu.org/syracuse/G/git-windows/
123 24 Julien Enselme
124 1 Julien Enselme
h2. Pour cloner le dépôt
125 3 Julien Enselme
126 39 Julien Enselme
# Placez-vous là où vous voullez cloner le dépôt
127 24 Julien Enselme
# Tapez : <code>git clone ssh://LOGIN@scm.centrale-marseille.fr/srv/git/PROJET/default.git .</code>
128
129 32 Julien Enselme
h2. Commandes basiques de git
130
131
* Pour récupérer les "nouveautés" : <code>git pull</code>
132
* Pour envoyer ses modifications : <code>git push</code>
133 33 Julien Enselme
{{important(*TOUJOURS* faire un pull et régler les éventuels conflits en local avant de faire un push)}}
134 32 Julien Enselme
* Pour ajouter un fichier au projet : <code>git add <le_fichier></code>
135
* Pour enregistrer les modifications : <code>git commit <le_fichier></code>
136
* Pour plus de détails : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git
137
138 40 Julien Enselme
h2. Fonctionnalités à connaître et exemples d’utilisation
139 24 Julien Enselme
140 30 Julien Enselme
h3. Les branches
141
142 31 Julien Enselme
Les branches représentent l’une des fonctionnalités les plus puissantes de git. Par défaut toutes les modifications sont faites dans la branche _master_. C’est la branche principale de votre projet.
143
144
L’intérêt des branches est de pouvoir faire de grosses modifications en parallèle sans modifier le code principal. Par exemple, vous voulez implémenter une _super idée_. Mais _super idée_ va vous demander du temps de développement et de nombreuses modifications dans votre code. Il serait dommage de paralyser la correction de bug et les petites modifications le temps que _super idée_ soit terminée. C’est là que les branches interviennent : vous créez une nouvelle branche et tous les fichiers seront temporairement remplacés par ceux de cette branche.
145
146
Vous pouvez à tous moment réintégrer les modifications d’une branche dans _master_. Vous pouvez également abandonner une branche.
147
148
En somme, il devient intéressant de créer une nouvelle branche lorsque :
149
# La modification est longue
150
# La modification est compliquée
151
# L’implémentation de la modification reste un peu floue
152
153
Voici les commandes principales associées aux branches :
154
* Pour voir toutes vos branches locales, utilisez : <code>git branch</code>. La branche marquée d’une étoile est la branche courante.
155
* Pour créer une nouvelle branche : <code>git branch LE_NOM_DE_MA_BRANCHE</code>.
156
* Pour changer de branche : <code>git checkout LE_NOM_DE_MA_BRANCHE</code>
157 34 Julien Enselme
{{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}}
158 31 Julien Enselme
* Pour ajouter les changements dans _master_ : <code>git checkout master ; git merge LE_NOM_DE_MA_BRANCHE</code>
159
* Pour supprimer une branche : <code>git branch -d LE_NOM_DE_MA_BRANCHE</code>
160
{{note(Cette commande vérifie avant la suppression que les changements ont bien été ajoutés dans _master_. Pour supprimer une branche sans cette vérification, utilisez _git branch -D LE_NOM_DE_MA_BRANCHE_)}}
161
162
Il est évidemment possible de travailler à plusieurs sur une branche autre que master. Pour avoir la liste des branches connues par le serveur, utilisez <code>git branch -r</code>. Pour récupérer cette branche en local : <code>git branch --track NOM_BRANCHE_LOCAL origin/NOM_BRANCHE_SERVEUR</code>.
163
{{note(Lorsque vous faîtes un pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur)}}
164
165 35 Julien Enselme
Pour ajouter une nouvelle branche sur le serveur, utilisez : <code>git push origin origin:refs/heads/NOM_NOUVELLE_BRANCHE</code>. Vous pouvez ensuite suivre cette branche avec la commande précédente. Si vous avez tout d’abord créé votre branche en local et que vous désirez l’envoyer sur le serveur :
166 31 Julien Enselme
# Créez la branche sur le serveur
167
# Ouvrez .git/config
168
# Copiez la partie [branch "master"]
169
# Remplacez toutes les occurences de "master" par le nom de votre branche
170
# <code>git pull</code>
171
# <code>git push</code>
172
# Normalement, tout est à jour.
173
174
Pour supprimer une branche sur le serveur : <code>git push origin :heads/NOM_BRANCHE_A_SUPPRIMER</code>, puis <code>git branch -r -d origin/NOM_BRANCHE_A_SUPPRIMER</code> pour que la branche ne soit plus listée.
175
Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches
176 30 Julien Enselme
177
h3. Les tags
178
179
Pour recherche une version plus facilement, vous pouvez tagger un commit avec <code>git tag NOMTAG IDCOMMIT</code>. Vous pourrez ensuite vous référer à ce commit à l’aide de NOMTAG.
180
181
{{note(Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez _git push --tag_)}}
182 1 Julien Enselme
183
h3. La recherche
184 4 Julien Enselme
185
Grâce à la commande <code>git grep "PATTERN"</code>, vous pouvez recherche dans vos fichiers sources.
186 8 Julien Enselme
187
h3. Ignorer des fichiers
188 10 Julien Enselme
189
Si vous désirez que certains fichiers ne soient pas pris en compte par git (fichier de sauvegarde de votre éditeur de texte par exemple), créez un fichier .gitignore dans le dossier de votre dépôt. Ajoutez dans ce fichier le nom des fichiers à ignorer (1 par ligne).