« INFO424 : Projet en informatique » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 61 : Ligne 61 :
== Lister les fichiers présents dans un dossier ==
== Lister les fichiers présents dans un dossier ==


En entête du fichier, ajoutez la ligne :
En entête du fichier, ajoutez la ligne :

<code>
<code>
import java.io.File;
import java.io.File;
</code>
</code>


La fonction suivante, affiche la liste des fichiers et dossiers présents dans le dossier ``chemin``.

<code>
<code>
static void listeFichiersDansDossier( String name )
static void listeFichiersDansDossier( String chemin )
{
{
File dossier = new File(name);
File dossier = new File( chemin );
File[] listeDesFichiers = dossier.listFiles();
File[] listeDesFichiers = dossier.listFiles();
for ( File f : listeDesFichiers ) {
for ( File f : listeDesFichiers ) {

Version du 4 mars 2017 à 18:30

Responsable pour 2016--2017: Xavier Provençal

Présentation du projet

Serveur SVN

Premier checkout du dépôt SVN

Cette manipulation n'est à effectuer une seule fois par chacun des membres de l'équipe. Le résultat sera la création d'un dossier qui sera synchronisé entre les membres de l'équipe par un gestionnaire de versions.

  • Avec un éditeur de texte, ouvrir le fichier ~/.ssh/config et y ajouter les lignes suivantes (VOTRENOM doit être remplacé par votre nom d'utilisateur) :
Host serveursvn
Hostname os-vps418.infomaniak.ch
User VOTRENOM
Port 622
  • Ouvrir un terminal et entrer la commande :
ssh serveursvn
  • Une fois connecté, entrez la commande :
hostname
  • Si la réponse n'est pas "depots", c'est que la connexion a échouée... vérifiez les étapes précédentes. Si la réponse est "depots" alors changez votre mot de passe en entrant la commande :
passwd
  • Changer votre mot de passe n'est pas optionnel. D'ici quelques jours un script tentera de se connecter en utilisant votre ancien mot de passe. S'il réussi, il supprimera tout vos fichiers !
  • Déconnectez vous en faisant CTRL-D.
  • Dans le terminal, positionnez vous dans un dossier approprié pour effectuer le "checkout". Le "checkout" va créer un dossier du même nom que votre équipe de projet. Pour effectuer le "checkout" faites (EQUIPE doit être remplacé par votre nom d'équipe tel qu'écrit au champs GROUP sur la feuille qui vous a été distribuée) :
svn checkout svn+ssh://serveursvn/var/svn/EQUIPE
  • C'est fini ! Un des membres de l'équipe va maintenant ajouter au dépôt les guides et les fichiers java réalisés lors de la première séance.



Ne plus entre son mot de passe à chaque connexion

Lorsque vous interragissez avec votre dépôt svn vous établissez d'avord une connexion ssh. Il existe deux façons de s'identifier lorsqu'on établie une connexion ssh :

  • Entrer un mot de passe.
  • Échanger des clés.

Pour s'identifier par échange de clé, il faut posséder une paire clé publique / clé privée. Tout d'abord, vérifiez si vous possédez déjà des clés, entrez la commande :

ls ~/.ssh/id_rsa*

Si les deux fichiers id_rsa et id_rsa.pub sont listés alors vous possédez déjà des clés. Sinon, entrez la commande :

ssh-keygen

Acceptez les valeurs pas défaut et n'entre rien comme passphrase. Voilà, vos clés ont été générées.

Activez l'identification par échange de clés. Entrez la commande :

ssh-copy-id serveursvn

Vous entrez alors votre mot de passe pour la dernière fois. À partir de ce moment vous serez identifier pas échange de clés.

Aide à la programmation

Lister les fichiers présents dans un dossier

En entête du fichier, ajoutez la ligne :

 
   import java.io.File;
 

La fonction suivante, affiche la liste des fichiers et dossiers présents dans le dossier ``chemin``.

 
   static void listeFichiersDansDossier( String chemin )
   {
       File dossier = new File( chemin );
       File[] listeDesFichiers = dossier.listFiles();
       for ( File f : listeDesFichiers ) {
           if ( f.isFile() ) {
               System.out.println("Fichier : " + f.getName());
           } else if ( f.isDirectory() ) {
               System.out.println("Dossier " + f.getName());
           }
       }
   }