IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Lister des répertoires numérotés et incrémenter


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Lister des répertoires numérotés et incrémenter
    Bonjour à tous,

    je voudrais savoir comment faire pour incrémenter un répertoire de +1
    ex:

    /home/x/rep1/
    /rep2/
    /rep3/
    /rep4/

    et créer automatiquement un rep5 s'il n'existe pas (mais qu'un seul rep5, pas plus).

    +

    dans chaque rep il y a un fichier existant, il faudrait créer le même fichier incrémenté de 1 -> je m'explique :

    /home/x/rep1/fichier1
    /rep2/fichier2
    /rep3/fichier3
    /rep4/fichier4
    /rep5/fichier5 # $rep5 créé par la fonction ci dessus, et $fichier5 créé si rep5 vient d'être créé par la fonction ci dessus.



    Pour la première fonction, j'arrive à faire en sorte de lister les répertoires mais je n'arrive pas à dire à mon script que s'il y a déjà 4 répertoire, d'en créer un cinquième. Je cherche à dissocier les "rep" et le "chiffre" mais je pense faire fausse route.

    Si quelqu'un peut m'aider svpppppp,

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    Bonjour,
    j'arrive à faire en sorte de lister les répertoires mais je n'arrive pas à dire à mon script que s'il y a déjà 4 répertoire, d'en créer un cinquième
    mais si le quatrième répertoire est déjà rep5 ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Nouveau membre du Club Avatar de wh6b.
    Homme Profil pro
    Nicolas Vergnes
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Nicolas Vergnes
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    Si j'ai bien compris il faut detecter le rep le plus élevé et faire un repertoire à +1 avec un fichier de meme valeur ?
    Dans ce cas prenons l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ ls -1d rep*                                                                                                                                                                                                                               
    rep1
    rep10
    rep11
    rep12
    rep13     #<-- c'est lui le plus élevé
    rep02
    rep3
    reppouet333
    rep45superpouet
    On recup les bout de noms des repertoires qui nous interesse (ls et sed ), il ne faudra que des nombres (egrep), on les trie convenablement (sort) , on ne garde que le plus elevé (tail)
    On incrémente puis on crée le repertoire et le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ last=`ls -1d rep* | sed 's/rep//g' | egrep "^[0-9]+$" | sort -h | tail -1`
    $ new=$((last + 1))
    $ mkdir rep$new
    $ touch rep$new/fichier$new
    On vérifie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ls -l rep14
    total 0
    -rw-rw-r-- 1 nico nico 0 sept.  9 10:10 fichier14

  4. #4
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    Bonjour,

    Actuellement, d'après ton dernier exemple, le plus grand répertoire est désormais rep14, si tu crées à la main le répertoire rep015 (le 0 avant le 15 est important) , tu rencontreras un petit souci avec ton script.

    En version built-in bash pour le calcul de l'indice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    j=0;for i in rep*/; do i=${i:3:-1} ;[[ "$i" =~ [^0-9] ]] || { [ $i -gt $j ] && j=$i ; } ; done
    while [ "${j/#0/}" != "$j" ] ; do t="${j/#0/}" ; done
    new=$((j + 1))
    La boucle while est là pour éviter le problème expliqué au début...
    Cordialement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Points : 539
    Points
    539
    Par défaut
    Bonjour,
    Je pense que ça doit aussi le faire comme ça pour l'indice.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var=$(ls -1d rep[0-9]* | sort -V);var=$(("${var##*[^1-9]}"+1));echo $var
    Cordialement.

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    non, pas aussi simple, essaye avec par exemple rep301, là, on obtient 2.
    Cordialement.

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    si vous vous demandez pourquoi vous avez été moinssé, c'est parce que
    ON N'UTILISE PAS ls DANS UN SCRIPT !!!

    et -1 quand on redirige la sortie de ls vers un pipe est superfétatoire.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Nouveau membre du Club Avatar de wh6b.
    Homme Profil pro
    Nicolas Vergnes
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Nicolas Vergnes
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    si vous vous demandez pourquoi vous avez été moinssé, c'est parce que
    ON N'UTILISE PAS ls DANS UN SCRIPT !!!

    et -1 quand on redirige la sortie de ls vers un pipe est superfétatoire.
    OK merci pour cet axiome, je m'abstiendrai dorénavant


    Citation Envoyé par disedorgue Voir le message
    [..]Actuellement, d'après ton dernier exemple, le plus grand répertoire est désormais rep14, si tu crées à la main le répertoire rep015 (le 0 avant le 15 est important) , tu rencontreras un petit souci avec ton script.
    [..]
    Merci pour ta remarque, je l'ai prise en compte


    Au risque de prendre encore un mauvais point de la maîtresse, je vais mettre les cmdes exécutables en chemin absolu pour plus de sécurité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    last=`for r in rep*/;do /bin/sed -n 's/^rep//g;s/.$//g;s/^0//g;s/^0//g;s/\(^[0-9]\+$\)/\1/p' <<< "$r" ;done | /usr/bin/sort -h | /usr/bin/tail -1`
    new=$((last+1))
    le sed fait ca
    ^rep//g : supprime ce qui commence par rep
    s/.$//g : supprime le dernier char qui est /
    s/^0//g : supprime le premier chiffre si c'est un 0
    s/\(^[0-9]\+$\)/\1/p : n'affiche que les lignes qui matchent à la regexp ^[0-9]+$ , on sort les repertoires qui ne sont pas en repNNNN (sed -n necessaire)

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Points : 539
    Points
    539
    Par défaut
    Il me semble qu'il y a une petite coquille dans la proposition de disedorgue.
    On boucle sur j qui n'est jamais modifié.
    je propose ceci comme modif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j=0;for i in rep*/;do i=${i:3:-1};[[ "$i" =~ [^0-9] ]]||{ [ $i -gt $j ]&&j=$i;};done;t="${j#0}";while [ "${t#0}" != "$t" ];do t="${t#0}";done;echo $((t+1))
    ou bien ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j=0;for i in rep*/;do i=${i:3:-1};[[ "$i" =~ [^0-9] ]]||{ [ $i -gt $j ]&&j=$i;};done;t=${j%%[1-9]*};echo $((${j#$t}+1))
    Cordialement.

  10. #10
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    @ctac_: exact, dans la boucle while, lors de mes tests, j'utilisais une variable 't', d'où la coquille , fallait comprendre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while [ "${j/#0/}" != "$j" ] ; do j="${j/#0/}" ; done
    @wh6b. : le sed ne te rends pas le service que tu désires ( et tu pourrais d'ailleurs te passer du egrep en faisant la même chose avec ton sed )...
    exemple qui ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '000005' | sed 's/^0//g'
    00005
    Et oui, ici, le sed ne supprime qu'un seul '0' même avec le connecteur 'g'.
    Ce n'est pas un bug, c'est juste que le sed fait son replace puis continu pour voir s'il y a d'autre cas dans la chaine mais le problème, c'est qu'une chaine n'a qu'un et un seul début.
    une version qui fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo '000005' | sed 's/^0\+//g'
    5
    pour te passer du egrep (pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/sed -n 's/^rep//g;s/.$//g;s/^0\+//g;/^[0-9]\+$/p'
    Cordialement.

  11. #11
    Nouveau membre du Club Avatar de wh6b.
    Homme Profil pro
    Nicolas Vergnes
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Nicolas Vergnes
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 33
    Points
    33
    Par défaut
    J'étais justement en train d'éditer mon précédent message pour sortir le egrep mais je n'avais pas pensé aux multiples 0
    ta fin de sed est mieux que la mienne (la mienne a une action superflue )


    ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    last=`for r in rep*/;do /bin/sed -n 's/^rep//g;s/.$//g;s/^0//g;s/^0\+//g;/^[0-9]\+$/p' <<< "$r" ;done | /usr/bin/sort -h | /usr/bin/tail -1`
    new=$((last+1))
    et qui a été testé

  12. #12
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    En fait, si tu gardes ta version avec sed | sort | ..., le for est inutile et peut être remplacé par printf (cette fois testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf "%s\n" rep*/ | /bin/sed -n 's/^rep//g;s/.$//g;s/^0\+//g;/^[0-9]\+$/p'  | /usr/bin/sort -h | /usr/bin/tail -1
    Par contre, je ne comprend pas pourquoi tu utilises le '-h' de sort et non pas le '-n', le -h permet de comparer par exemple 2k et 1G (2kilo avec 1Giga)...
    Cordialement.

  13. #13
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    Fatigué aujourd'hui, le sed est simplifiable en un seul replace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/sed -n 's/^rep0*\([0-9]\+\).$/\1/p'
    Cordialement.

  14. #14
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Wahou génial merci à tous maintenant je vais mettre 2 bonne heures pour tenter de capter le truc !
    mais je vais prendre plaisir à apprendre tout en décryptant vos diverses solutions (et monter en compétence!)


    En tout cas je ne pensais pas que ma demande "simple" en apparence pouvait autant apporter matière à discution.
    C'est génial cette communauté d'entraide (entre passionnés j'apprendrais bien j'en suis sur).
    encore merci à tous !!


    ps : le sed à encore beaucoup de mystère pour moi mais j'apprendrais !

  15. #15
    Nouveau membre du Club Avatar de wh6b.
    Homme Profil pro
    Nicolas Vergnes
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Nicolas Vergnes
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 33
    Points
    33
    Par défaut
    Grace à la super optimisation de disedorgue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    last=`printf "%s\n" rep*/ | /bin/sed -n 's/^rep0*\([0-9]\+\).$/\1/p'  | /usr/bin/sort -n | /usr/bin/tail -1`
    new=$((last+1))
    Pour parler de sa commande sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /bin/sed -n 's/^rep0*\([0-9]\+\).$/\1/p'
    .....^rep0*......$..... sert a filtrer les noms des rep qu'on veut prendre en compte, comme par exemple : rep7 rep08 rep009 rep010 rep00000000011 . Ne seront pas pris en compte : rep6b rep15.backup repA017 superrep45

    .....[0-9]\+...... filtre aussi sur la ligne en entrée (on ne veut que 1 ou plusieurs chiffres après "rep0*")

    sed -n 's/.........\(.........\)......./\1/p' et n'affiche en résultat que le contenu de ce qu'il y a dans la première (et seule ici) parenthèse

  16. #16
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    Voici tout de même une version plus rapide avec un awk de type gnu awk ou mawk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf "%s\n" rep*/ | awk -F[/p] '/^rep[0-9]+.$/ {X=X<($2+0) ? ($2+0) : X}END{print X+1}'
    Cordialement.

  17. #17
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    si on considère des cas un peu pervers du genre rep 082 (avec un espace) certaines solutions vautrent ;P

    j'y vais de la mienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shopt -s extglob
    ls -1dv rep* | tail -1 | { read x; echo $((${x##+([^123456789])}+1)); }

  18. #18
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    si on considère des cas un peu pervers du genre rep 082 (avec un espace) certaines solutions vautrent ;P

    j'y vais de la mienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shopt -s extglob
    ls -1dv rep* | tail -1 | { read x; echo $((${x##+([^123456789])}+1)); }
    Ne fonctionne pas avec par exemple rep123tt ou rep 082
    Cordialement.

  19. #19
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 721
    Points
    12 721
    Par défaut
    Pour faire suite à l'idée de BufferBob, si on utilise les glob de bash, on pourrait faire une version builtin plus courte que celle que j'avais proposée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    shopt -s extglob globstar
    j=0;for i in rep*([0-9])/; do [[ $i =~ ([1-9][0-9]*) ]] ; [ $((${BASH_REMATCH[0]}+0)) -gt $(($j+0)) ] && j=$((${BASH_REMATCH[0]}+1)); done
    echo $j
    Perso, je ne connaissais pas ce style de regex où l'on met *([0-9]) pour dire [0-9]*...
    Cordialement.

  20. #20
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Ne fonctionne pas avec par exemple rep123tt ou rep 082
    le premier me parait un peu tordu quand même, on doit partir du principe que le nom du répertoire termine par un ou plusieurs chiffres sinon à mon sens on sort complètement du cadre, on pourrait aussi envisager rep10.5rev38 à ce moment là on a pas fini ^^

    le deuxième en revanche je te confirme que ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ shopt -s extglob globstar
    $ ls -Q
    "rep003"  "rep08"  "rep 082"  "rep20"  "rep 32"  "rep5"  "rep6"
     
    $ ls -1dv rep* | tail -1 | { read x; echo $((${x##+([^123456789])}+1)); }
    83
     
    $ j=0;for i in rep*([0-9])/; do [[ $i =~ ([1-9][0-9]*) ]] ; [ $((${BASH_REMATCH[0]}+0)) -gt $(($j+0)) ] && j=$((${BASH_REMATCH[0]}+1)); done
    $ echo $j
    21
    Perso, je ne connaissais pas ce style de regex où l'on met *([0-9]) pour dire [0-9]*...
    moi non plus, c'est juste horrible

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/08/2017, 10h38
  2. [sh] Lister des répertoires écrits "en dur" dans des fichiers
    Par melouze dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 02/06/2014, 17h14
  3. [XML] Lister des fichiers dans des répertoires
    Par voxiz dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 16/02/2010, 16h25
  4. Lister des Répertoires d'un répertoire source
    Par Freud44 dans le forum C++Builder
    Réponses: 12
    Dernier message: 15/10/2008, 19h21
  5. Lister des fichiers contenus dans un répertoire
    Par mithrendil dans le forum Langage
    Réponses: 5
    Dernier message: 01/05/2007, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo