Projet

Général

Profil

Utilisation de Redmine » Historique » Révision 47

Révision 46 (Florent Torregrosa, 31/05/2013 11:37) → Révision 47/54 (Florent Torregrosa, 07/06/2013 22:47)

h1. Wiki d'utilisation du projet multi-assos 

 {{>toc}} 

 Voir le lien [[Utilisation_de_Drupal_multi-site]] 

 h1. Présentation de la forge 

 La forge peut vous aider dans tous vos projets logiciels. Elle dispose : 

 * 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. 
 * 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. 
 * D’un _Gantt_ qui se complète automatiquement à partir du système de tâche. Il est exportable en pdf. 
 * D’un calendrier qui se complète automatiquement à partir du système de tâche. 
 * D’un système d’ _Annonces_ pour communiquer avec l’extérieur. 
 * 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. 
 * 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. 
 * 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,… 

 Bonne utilisation ! 

 h1. Utilisation du Wiki 

 Pour créer une nouvelle page, il suffit de se rendre à l’adresse de la page que l’on veut créer. 

 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. 

 Pour ajouter une table des matières, entrez <pre>{{toc}}</pre> 

 Pour ajouter une table des matières décalée sur la droite, entrez après le premier lien h1 de la page, sinon la table des matières se heurte aux boutons de modification, suivi, etc. <pre>{{>toc}}</pre> 

 Vous pouvez aussi recevoir des notifications par mails en cliquant sur _watch_ ou _surveiller_. 

 Pour ajouter des notes, utilisez les balises suivantes : 

 <pre> 
     {{note(text)}} 
     {{tip(text)}} 
     {{important(text)}} 
     {{warning(text)}} 
 </pre> 

 h1. Fonctionnement des demandes Dépôt git 

 Les demandes ont les champs suivant Adresse du dépôt git : 
 * Tracker LOGIN@scm.centrale-marseille.fr:/srv/git/PROJET/default.git 

 Pour ajouter des utilisateurs au projet :                    voir la partie sur les tracker 
 * Sujet il faut se rapprocher du CRI. Pour deux raisons : 
 * Description : Les utilisateurs doivent être connus de Redmine 
 * Status Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix. 

 {{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).)}} 

 Pour avoir une présentation de git et quelques commandes de base : http://www.llaumgui.com/public/slides/git-github-social-codding/#/ 

 h2. Les clés ssh 

 h3. Sous linux 

 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. 

 Pour créer une paire de clé ssh, lancez la commande : <code>ssh-keygen</code>. Ceci crée deux fichiers dans votre ~/.ssh : 
 * Priorité : id_rsa (votre clé privée à conserver précieusement) 
 * Assignée id_rsa.pub (votre clé publique à transmettre). 

 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) : 

 * Version cible :              si la version de Drupal concernée par cette tâche. 
 clé est dans votre compte: 

  * Tâche parente <code>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key</code> 

 * si elle est sur votre machine perso, *au choix* :              

  * <code>ssh-copy-id login@sas1.ec-m.fr</code> 
  * <code>cat ~/.ssh/id_rsa.pub | ssh LOGIN@sas1.ec-m.fr 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'</code> 

 h3. Sous windows 

 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 pouvoir faire des sous-tâches plus de détails. 

 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é. 
 * Temps estimé : # Exécutez-le 
 * % réalisé :                  voir # Cliquez sur _Generate_. 
 # Bouger la partie souris dans tous les sens. 
 # 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 %réalisés distinguer. Par exemple, key pour votre clé privé et key.pub pour votre clé publique.)}} 
 * l'ajout de {{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}} 

 Maintenant, vous devez placer ces clés sur le serveur. Pour cela : 
 # Connecter vous au serveur avec putty 
 # Créer un dossier .ssh (s’il n’existe pas) <code>mkdir ~/.ssh</code> 
 # Ouvrez le fichier authorized_keys (ou créez le) : <code>nano -w ~/.ssh/authorized_keys</code> 
 * Date # Copiez/Collez votre clé publique dedans *sur une seule ligne* 
 # Sauvegardez 

 Ensuite, pour vous connecter au serveur à l’aide de début/de fin ces clés avec le client putty :       cela va générer 
 # Ouvrez putty 
 # Dans Connexion > SSH > Auth, renseignez votre clé privée. 
 # Connectez vous au serveur comme d’habitude. 

 h2. Installer git 

 h3. Sous Linux 

 Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel. 

 h3. Sous Windows 

 Il faut tout d’abord installer git. Téléchargez msysgit par "ici":http://code.google.com/p/msysgit/. Installez le diagramme avec les paramètres par défaut. 

 Afin de Gantt automatiquement, a priori vous faciliter la vie, installez également TortoiseGit. C’est une interface à ne pas git grâce à laquelle vous pourrez utiliser car ça reste 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. 

 Pour cloner un dépôt : 
 # Allez là où vous désirez le cloner 
 # Clique droit, puis clone 
 # Entrez le chemin du dépôt 
 # Cochez _Load Putty key_ et entrez le chemin de l'associatif votre clé privé dans ce champ. 
 # Vous êtes opérationnel. 

 Liens complémentaires : 
 * privé :                      a priori on a rien à se cacher entre nous donc à ne pas cocher http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/installer-et-configurer-git 
 * http://melusine.eu.org/syracuse/G/git-windows/ 

 h2. Les trackers Pour cloner le dépôt 

 Fonctionnalité # Placez-vous là où vous voullez cloner le dépôt 
 # Tapez : Une fonctionnalité correspond à quelque chose d'assez global. <code>git clone ssh://LOGIN@scm.centrale-marseille.fr/srv/git/PROJET/default.git .</code> 

 Tâche h2. Commandes basiques de git 

 * Pour récupérer les "nouveautés" : Sa description doit comprendre tout ce qui est à faire. Une tâche peut être élémentaire (un truc vraiment simple) comme compliquée. Mais tout, ou <code>git pull</code> 
 * Pour envoyer ses modifications : <code>git push</code> 
 {{important(*TOUJOURS* faire un maximum pull et régler les éventuels conflits en local avant de faire un push)}} 
 * Pour ajouter un fichier au projet : <code>git add <le_fichier></code> 
 * Pour enregistrer les modifications : <code>git commit <le_fichier></code> 
 * Pour plus de détails doivent y être. Les tâches sont liées : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git 

 h2. Fonctionnalités à une fonctionnalité. connaître et exemples d’utilisation 

 Anomalie : quelque chose h3. Les branches 

 Les branches représentent l’une des fonctionnalités les plus puissantes de non prévu => git. Par défaut toutes les bugs. On peut lier l'anomalie à modifications sont faites dans la fonctionnalité ou à branche _master_. C’est la tâche (mais bon c'est rare branche principale de votre projet. 

 L’intérêt des branches est de pouvoir faire de grosses modifications en parallèle sans modifier le faire, à voir, en tout cas ne pas passer son code principal. Par exemple, vous voulez implémenter une _super idée_. Mais _super idée_ va vous demander du temps à chercher de développement et de nombreuses modifications dans votre code. Il serait dommage de paralyser la fonctionnalité qui va avec. Si on ne la trouve pas, c'est pas grave) 

 Assistance correction de bug et les petites modifications le temps que _super idée_ soit terminée. C’est là que les branches interviennent : quelqu'un qui pose vous créez une question nouvelle branche et tous les fichiers seront temporairement remplacés par exemple. On peut lier l'assistance.....(idem anomalie) 

 Évolution : idem fonctionnalité, mais avec la connotation ceux de quelque chose de nouveau. cette branche. 

 h3. Exemple Vous pouvez à tous moment réintégrer les modifications d’une branche dans _master_. Vous pouvez également abandonner une branche. 

 Fonctionnalité/Évolution En somme, il devient intéressant de créer une nouvelle branche lorsque : Faire en sorte qu'on l'on ait des thèmes responsives sur assos 
 # La modification est longue 
 # La modification est compliquée 
 # L’implémentation de la modification reste un peu floue 

 tâche Voici les commandes principales associées aux branches : identifier des thèmes responsive 
 tâche * Pour voir toutes vos branches locales, utilisez : installer <code>git branch</code>. La branche marquée d’une étoile est la branche courante. 
 * Pour créer une nouvelle branche : <code>git branch LE_NOM_DE_MA_BRANCHE</code>. 
 * Pour changer de branche : <code>git checkout LE_NOM_DE_MA_BRANCHE</code> 
 {{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}} 
 * Pour ajouter les thème responsive sur assos changements dans _master_ : <code>git checkout master ; git merge LE_NOM_DE_MA_BRANCHE</code> 
 tâche * Pour supprimer une branche : écrire un tuto pour <code>git branch -d LE_NOM_DE_MA_BRANCHE</code> 
 {{note(Cette commande vérifie avant la suppression que les webmasters s'en servent 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_)}} 

 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>. 
 tâche : envoyer {{note(Lorsque vous faîtes un mail pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur)}} 

 Pour ajouter une nouvelle branche sur liste webmasters 

 Anomalie le serveur, utilisez : un theme testé comme étant responsive <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 ou ailleurs, n'est pas responsive et que vous désirez l’envoyer sur assos 

 Assistance le serveur : Le webmaster du BDE n'arrive pas à avoir un thème adaptatif 

 *Autre organisation possible pour 
 # Créez la branche sur le serveur 
 # Ouvrez .git/config 
 # Copiez la partie [branch "master"] 
 # Remplacez toutes les tâches :* 

 tâche 1 : réalisation occurences de "master" par le nom de votre branche 
 identifier des thèmes responsives # <code>git pull</code> 
 installer les thème responsives # <code>git push</code> 
 # Normalement, tout est à jour. 

 Pour supprimer une branche sur assos 

 tâche 2 le serveur : communication 
 écrire un tuto <code>git push origin :heads/NOM_BRANCHE_A_SUPPRIMER</code>, puis <code>git branch -r -d origin/NOM_BRANCHE_A_SUPPRIMER</code> pour que les webmasters s'en servent la branche ne soit plus listée. 
 envoyer Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches 

 h3. Les tags 

 Pour recherche une version plus facilement, vous pouvez tagger un mail sur liste webmasters commit avec <code>git tag NOMTAG IDCOMMIT</code>. Vous pourrez ensuite vous référer à ce commit à l’aide de NOMTAG. 

 h2. %Réalisé 



 h2. {{note(Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez _git push --tag_)}} 

 h3. La gestion du temps 


 recherche 

 Grâce à la commande <code>git grep "PATTERN"</code>, vous pouvez recherche dans vos fichiers sources. 

 h3. Ignorer des fichiers 

 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).