logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [05/08/2014 18:41]
Hypathie [sort]
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [06/11/2015 17:57] (Version actuelle)
paskal [D'autres commandes pour la gestion des fichiers-texte]
Ligne 2: Ligne 2:
  
   * Objet : Voici d'​autres commandes pour la gestion de fichiers texte   * Objet : Voici d'​autres commandes pour la gestion de fichiers texte
-  * Niveau requis : {{tag>grand-débutant }} +  * Niveau requis : {{tag>​débutant ​avisé}} 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
-  * Suivi : {{tag>​à-placer}} +  * Suivi : {{tag>​à-tester}} 
-    * Création par [[user>​Hypathie]] 07/​06/​2014 +    * Création par [[user>​Hypathie]] ​le 07/​06/​2014 
-    * Testé par <...> le <​...> ​FIXME+    * Testé par <...> le <​...> ​
   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=92369#​p92369 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=92369#​p92369 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota : Voici des commandes très simples d'​utilisation. ** 
- 
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
  
 ===== Introduction ===== ===== Introduction =====
Ligne 47: Ligne 44:
 cat ~/​Essai-text-processing/​essai-fmt cat ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile c'est facile ... très facile ... très très facile ... très tr chez debian-facile c'est facile ... très facile ... très très facile ... très tr
 ès très très très très facile ... facile et encore facile ! ès très très très très facile ... facile et encore facile !
-</code>+</file>
  
 >​L'​affichage avec la commande ''​cat''​ peut être difficile à lire. >​L'​affichage avec la commande ''​cat''​ peut être difficile à lire.
Ligne 58: Ligne 55:
 fmt ~/​Essai-text-processing/​essai-fmt fmt ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile c'est facile ... très facile ... très très facile chez debian-facile c'est facile ... très facile ... très très facile
 ... très très très très très très facile ... facile et encore ... très très très très très très facile ... facile et encore
 facile ! facile !
-</code>+</file>
 <​note>​ <​note>​
   * Par défaut, la commande ''​fmt''​ affiche le contenu d'un fichier par ligne de 75 caractères maximum.   * Par défaut, la commande ''​fmt''​ affiche le contenu d'un fichier par ligne de 75 caractères maximum.
 +
   * L'​option ''​-w''​ : pour indiquer le nombre de caractère par ligne   * L'​option ''​-w''​ : pour indiquer le nombre de caractère par ligne
 <code user> <code user>
 fmt -w 20 ~/​Essai-text-processing/​essai-fmt fmt -w 20 ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile chez debian-facile
 c'est facile c'est facile
Ligne 79: Ligne 77:
 ... facile et ... facile et
 encore facile ! encore facile !
-</code>+</file>
 </​note>​ </​note>​
  
Ligne 86: Ligne 84:
 fmt -w 20 ~/​Essai-text-processing/​essai-fmt | less fmt -w 20 ~/​Essai-text-processing/​essai-fmt | less
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile chez debian-facile
 c'est facile c'est facile
Ligne 97: Ligne 95:
 encore facile ! encore facile !
 (END) (END)
-</code>+</file>
   * Voir [[doc:​editeurs:​less| la commande less]]   * Voir [[doc:​editeurs:​less| la commande less]]
  
Ligne 118: Ligne 116:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 # ~/.bashrc: executed by bash(1) for non-login shells. # ~/.bashrc: executed by bash(1) for non-login shells.
 # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc)
Ligne 128: Ligne 126:
       *) return;;       *) return;;
 esac esac
-</code>+</file>
 >​Premières lignes du retour. >​Premières lignes du retour.
    
 ===Affichage numéroté === ===Affichage numéroté ===
-<​code>​+<​code ​user>
 nl ~/​Essai-text-processing/​bashrc-bis nl ~/​Essai-text-processing/​bashrc-bis
-</​code ​user>+</​code>​
  
-<code+<file config retour de la commande
-     ​1 # ~/.bashrc: executed by bash(1) for non-login shells. +1 # ~/.bashrc: executed by bash(1) for non-login shells. 
-     ​2 # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) +2 # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) 
-     ​3 # for examples +3 # for examples 
-       ​ +  
-     ​4 # If not running interactively,​ don't do anything +4 # If not running interactively,​ don't do anything 
-     ​5 case $- in +5 case $- in 
-     ​6     *i*) ;; +6     *i*) ;; 
-     ​7       *) return;; +7       *) return;; 
-     ​8 esac +8 esac 
- +</file>
-</code>+
  
 >​Premières lignes du retour >​Premières lignes du retour
Ligne 156: Ligne 153:
 fmt -w 65 ~/​Essai-text-processing/​bashrc-bis | nl ~/​Essai-text-processing/​bashrc-bis | less fmt -w 65 ~/​Essai-text-processing/​bashrc-bis | nl ~/​Essai-text-processing/​bashrc-bis | less
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
      ​1 ​ # ~/.bashrc: executed by bash(1) for non-login shells.      ​1 ​ # ~/.bashrc: executed by bash(1) for non-login shells.
      ​2 ​ # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc)      ​2 ​ # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc)
Ligne 167: Ligne 164:
      ​8 ​ esac      ​8 ​ esac
  
-</code>+</file>
  
 >​Premières lignes du retour >​Premières lignes du retour
Ligne 183: Ligne 180:
 =====La commande join ===== =====La commande join =====
 ===Syntaxe de la commande join === ===Syntaxe de la commande join ===
-<​code ​user>+<​code>​
 join [options]... fichier1 fichier2 join [options]... fichier1 fichier2
 </​code>​ </​code>​
Ligne 192: Ligne 189:
 cat ~/​Essai-text-processing/​users cat ~/​Essai-text-processing/​users
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 01 Toto 01 Toto
 02 Titi 02 Titi
 03 Lili 03 Lili
-</code>+</file>
  
 <code user> <code user>
Ligne 202: Ligne 199:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 toto@gmail.com 01 toto@gmail.com 01
 titi@gmx.fr 02 titi@gmx.fr 02
 lili@hotmail.com 03 lili@hotmail.com 03
-</code>+</file>
  
 ===Fusion de ces deux fichiers === ===Fusion de ces deux fichiers ===
  
-<​code>​+<​code ​user>
 join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 01 Toto toto@gmail.com 01 Toto toto@gmail.com
 02 Titi titi@gmx.fr 02 Titi titi@gmx.fr
 03 Lili lili@hotmail.com 03 Lili lili@hotmail.com
-</code>+</file>
   * Explications :   * Explications :
     * l'​option ''​-1''​ : donne le n° de colonne du champ commun, pour le premier document     * l'​option ''​-1''​ : donne le n° de colonne du champ commun, pour le premier document
Ligne 230: Ligne 227:
 <​note>​ <​note>​
 Pour fusionner des fichiers qui ont en commun '':''​\\ ​ Pour fusionner des fichiers qui ont en commun '':''​\\ ​
 +
 ''​join -t':'​ -2 1 -2 2 fichier1 fichier2''​ ''​join -t':'​ -2 1 -2 2 fichier1 fichier2''​
 </​note>​ </​note>​
Ligne 242: Ligne 240:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 01 Toto toto@gmail.com 01 Toto toto@gmail.com
 02 Titi titi@gmx.fr 02 Titi titi@gmx.fr
 03 Lili lili@hotmail.com 03 Lili lili@hotmail.com
-</code>+</file>
 =====La commande paste ===== =====La commande paste =====
 ===Syntaxe de la commande paste === ===Syntaxe de la commande paste ===
Ligne 258: Ligne 256:
 cat ~/​Essai-text-processing/​users cat ~/​Essai-text-processing/​users
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 01 Toto 01 Toto
 02 Titi 02 Titi
 03 Lili 03 Lili
-</code>+</file>
 <code user> <code user>
 cat ~/​Essai-text-processing/​infos-users cat ~/​Essai-text-processing/​infos-users
 </​code>​ </​code>​
-<code+<file config retour de la commande>
 toto@gmail.com 01 toto@gmail.com 01
 titi@gmx.fr 02 titi@gmx.fr 02
 lili@hotmail.com 03 lili@hotmail.com 03
-</code>+</file>
  
 ===Regroupement des lignes des deux fichiers === ===Regroupement des lignes des deux fichiers ===
Ligne 278: Ligne 276:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 01 Toto toto@gmail.com 01 01 Toto toto@gmail.com 01
 02 Titi titi@gmx.fr 02 02 Titi titi@gmx.fr 02
 03 Lili lili@hotmail.com 03 03 Lili lili@hotmail.com 03
-</code>+</file>
 ===Concaténation du retour dans un fichier "​paste-users-infos"​ qui sera créé=== ===Concaténation du retour dans un fichier "​paste-users-infos"​ qui sera créé===
  
Ligne 290: Ligne 288:
  
 === Vérification === === Vérification ===
-<code user>+<file config retour de la commande>
 01 Toto toto@gmail.com 01 01 Toto toto@gmail.com 01
 02 Titi titi@gmx.fr 02 02 Titi titi@gmx.fr 02
 03 Lili lili@hotmail.com 03 03 Lili lili@hotmail.com 03
-</code>+</file>
  
-===== sort ===== 
-===Syntaxe=== 
- 
-  sort [options [+POS1] [-POS2]] [fichier...] 
- 
-<note tip> 
-Les options utiles: 
-  * ''​-t''​ : pour spécifier le séparateur (par défaut ce sont les espaces ou les tabulations qui délimitent les colonnes) 
-  * ''​-k''​ : pour spécifier la colonne 
-  * ''​-2''​ : n° de colonne 
-  * ''​-n''​ : pour spécifier qu'il s'agit d'un tri numérique ​ 
-  * ''​-d''​ : pour tri dictionnaire 
-  * ''​-r''​ : pour un tri inverse (-rn ou -rd) 
-  * ''​-M''​ : ordre chronologique 
-</​note>​ 
- 
-===Préparation=== 
- 
-Soit le fichier "​sort.txt"​ 
-<code user> 
-cat sort.txt 
-</​code>​ 
-<​code>​ 
-5 Papi 
-1 Toto 
-3 Lili 
-2 Titi 
-4 Mami 
-003 Zaza 
-01 Nani 
-</​code>​ 
-=== Tri par défaut=== 
-<code user> 
-sort ~/​Essai-text-processing/​users.sort 
-</​code>​ 
-<​code>​ 
-003 Zaza 
-01 Nani 
-1 Toto 
-2 Titi 
-3 Lili 
-4 Mami 
-5 Papi 
-</​code>​ 
- 
-===Tri avec choix de colonne === 
- 
-<code user> 
-sort -t':'​ -k 2n sort.txt 
-</​code>​ 
-<​code>​ 
-003 Zaza 
-01 Nan 
-1 Toto 
-2 Titi 
-3 Lili 
-4 Mami 
-5 Papi 
-</​code>​ 
  
 =====la commande tr ===== =====la commande tr =====
Ligne 366: Ligne 305:
 cat ~/​Essai-text-processing/​tr-essai cat ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Pierre Paul Jacques Pierre Paul Jacques
-</code>+</file>
  
 <code user> <code user>
 tr P p  < ~/​Essai-text-processing/​tr-essai tr P p  < ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 pierre paul Jacques pierre paul Jacques
-</code>+</file>
  
 <code user> <code user>
 cat ~/​Essai-text-processing/​tr-essai cat ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Pierre Paul Jacques Pierre Paul Jacques
-</code>+</file>
  
 <code user> <code user>
 tr P X  < ~/​Essai-text-processing/​tr-essai tr P X  < ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Xierre Xaul Jacques Xierre Xaul Jacques
-</code>+</file>
  
 <code user> <code user>
 cat ~/​Essai-text-processing/​tr-essai cat ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Pierre Paul Jacques Pierre Paul Jacques
-</code>+</file>
  
 <code user> <code user>
 tr PJ pj < ~/​Essai-text-processing/​tr-essai tr PJ pj < ~/​Essai-text-processing/​tr-essai
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 pierre paul jacques pierre paul jacques
-</code>+</file>
  
  
Ligne 417: Ligne 356:
 cat ~/​Essai-text-processing/​users-uniq cat ~/​Essai-text-processing/​users-uniq
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Papi Papi
 1 Toto 1 Toto
Ligne 425: Ligne 364:
 003 Zaza 003 Zaza
 01 Nani 01 Nani
-</code>+</file>
 ===Ajouter une ligne=== ===Ajouter une ligne===
 <code user> <code user>
Ligne 435: Ligne 374:
 cat ~/​Essai-text-processing/​users-uniq cat ~/​Essai-text-processing/​users-uniq
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 5 Papi 5 Papi
 1 Toto 1 Toto
Ligne 444: Ligne 383:
 01 Nani 01 Nani
 01 Nani 01 Nani
-</code>+</file>
 <​note>​ <​note>​
 Il faut que les doublons soient consécutifs,​ et que le fichier soit "​trié"​ Il faut que les doublons soient consécutifs,​ et que le fichier soit "​trié"​
Ligne 455: Ligne 394:
 cat ~/​Essai-text-processing/​users-sort-uniq cat ~/​Essai-text-processing/​users-sort-uniq
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 003 Zaza 003 Zaza
 01 Nani 01 Nani
Ligne 463: Ligne 402:
 4 Mami 4 Mami
 5 Papi 5 Papi
-</code>+</file>
  
 =====La commande split ===== =====La commande split =====
Ligne 486: Ligne 425:
 cat ~/​Essai-text-processing/​liste-fruits cat ~/​Essai-text-processing/​liste-fruits
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 1 fraise 1 fraise
 2 abricot 2 abricot
 3 pomme 3 pomme
-</code>+</file>
 ====Découpage par taille et répartition en autant de fichiers ==== ====Découpage par taille et répartition en autant de fichiers ====
 <​note>​ <​note>​
Ligne 521: Ligne 460:
 ls fruit1b* ls fruit1b*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 fruit1baa fruit1baa
-</code>+</file>
  
 >Un seul fichier a été créé. ​ >Un seul fichier a été créé. ​
Ligne 530: Ligne 469:
 cat fruit1b* cat fruit1b*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 1 fraise 1 fraise
 2 abricot 2 abricot
 3 pomme 3 pomme
-</code>+</file>
  
 >Le fichier est créé dans le répertoire dans lequel le terminal est ouvert.\\ >Le fichier est créé dans le répertoire dans lequel le terminal est ouvert.\\
Ligne 542: Ligne 481:
 split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b && mv fruit1b* ~/​Essai-text-processing/​ split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b && mv fruit1b* ~/​Essai-text-processing/​
 </​code>​ </​code>​
-<​code> ​+<​code ​user
 ls ~/​Essai-text-processing/​fruit1b* ls ~/​Essai-text-processing/​fruit1b*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 /​home/​hypathie/​Essai-text-processing/​fruit1baa /​home/​hypathie/​Essai-text-processing/​fruit1baa
-</code>+</file>
   * Ou encore :   * Ou encore :
 <code user> <code user>
Ligne 558: Ligne 497:
 ls fruit1b* ls fruit1b*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 fruit1baa fruit1baa
-</code>+</file>
  
 ====Découpage par ligne ==== ====Découpage par ligne ====
Ligne 580: Ligne 519:
  ls x*  ls x*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 xaa  xab  xac xaa  xab  xac
-</code>+</file>
 <code user> <code user>
  cat x*  cat x*
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 1 fraise 1 fraise
 2 abricot 2 abricot
 3 pomme 3 pomme
-</code>+</file>
  
 =====La commande unexpand ===== =====La commande unexpand =====
Ligne 617: Ligne 556:
 ===Affichage avec cat : ce sont des espaces === ===Affichage avec cat : ce sont des espaces ===
 <code user> <code user>
-cat ~/​Essai-text-processing/​users-infos-espaces +cat ~/​Essai-text-processing/​users-infos-espaces</​code>​ 
-# Retour :+<file config retour de la commande>​
         01        Toto        toto@gmx.fr ​       modo         01        Toto        toto@gmx.fr ​       modo
        ​02 ​      ​Titi ​      ​titi@gmail.com ​      ​membre        ​02 ​      ​Titi ​      ​titi@gmail.com ​      ​membre
-         ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre +         ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre</​file> 
-</code>+
 ===Conversion des espaces en tabulation === ===Conversion des espaces en tabulation ===
 <code user> <code user>
 unexpand -a ~/​Essai-text-processing/​users-infos-espaces unexpand -a ~/​Essai-text-processing/​users-infos-espaces
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
  01   Toto       toto@gmx.fr modo  01   Toto       toto@gmx.fr modo
        ​02 Titi  ​  ​titi@gmail.com membre        ​02 Titi  ​  ​titi@gmail.com membre
  03     Lili lili@hotmail.com  ​ membre  03     Lili lili@hotmail.com  ​ membre
  
-</code>+</file>
 <​note>​ <​note>​
-  * Option ''​-a''​ pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces ​constituants ​la première ​colonnes ​de droite.+  * Option ''​-a''​ pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces ​constituant ​la première ​colonne ​de droite.
   * Les groupes de moins de sept espaces consécutifs n'ont pas été convertis en tabulation. ​   * Les groupes de moins de sept espaces consécutifs n'ont pas été convertis en tabulation. ​
 </​note>​ </​note>​
Ligne 653: Ligne 592:
  
 <code user> <code user>
-cat ~/​Essai-text-processing/​users-infos-tabul +cat ~/​Essai-text-processing/​users-infos-tabul</​code>​ 
-# Retour :+<file config retour de la commande>​
  01   Toto       toto@gmx.fr modo  01   Toto       toto@gmx.fr modo
        ​02 Titi  ​  ​titi@gmail.com membre        ​02 Titi  ​  ​titi@gmail.com membre
  03     Lili lili@hotmail.com  ​ membre  03     Lili lili@hotmail.com  ​ membre
  
-</code>+</file>
 ====Convertion des tabulations en espaces==== ====Convertion des tabulations en espaces====
  
 <code user> <code user>
-expand ~/​Essai-text-processing/​users-infos-tabul +expand ~/​Essai-text-processing/​users-infos-tabul</​code>​ 
-# Retour :+<file config retour de la commande>​
         01        Toto        toto@gmx.fr ​       modo         01        Toto        toto@gmx.fr ​       modo
        ​02 ​      ​Titi ​      ​titi@gmail.com ​      ​membre        ​02 ​      ​Titi ​      ​titi@gmail.com ​      ​membre
          ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre          ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre
  
-</code>+</file>
 ==== Déterminer le nombre d'​espaces qui remplaceront chaque tabulation==== ==== Déterminer le nombre d'​espaces qui remplaceront chaque tabulation====
   * option ''​-t''​ nombre   * option ''​-t''​ nombre
 <code user> <code user>
-expand -t 1 ~/​Essai-text-processing/​users-infos-tabul +expand -t 1 ~/​Essai-text-processing/​users-infos-tabul</​code>​ 
-# Retour :+<file config retour de la commande>​
  ​01 ​  ​Toto ​      ​toto@gmx.fr ​ modo  ​01 ​  ​Toto ​      ​toto@gmx.fr ​ modo
        02 Titi    titi@gmail.com membre        02 Titi    titi@gmail.com membre
   03     ​Lili ​ lili@hotmail.com ​  ​membre   03     ​Lili ​ lili@hotmail.com ​  ​membre
-</code>+</file>
  
 ====Aller plus loin avec les commandes expand et unexpand ==== ====Aller plus loin avec les commandes expand et unexpand ====
 Voir : [[doc:​systeme:​expand |expand]] Voir : [[doc:​systeme:​expand |expand]]
  
doc/systeme/commandes/les-commandes-join-paste-split-et-nl.1407256884.txt.gz · Dernière modification: 05/08/2014 18:41 par Hypathie

Pied de page des forums

Propulsé par FluxBB