Les formats de fichiers

Le principe de base consiste à coder un premier élément donnant le nombre de répétitions d’une valeur puis le compléter par la valeur à répéter. Ainsi selon ce principe la chaîne « AAAAAHHHHHHHHHHHHHH » compressée donne « 5A14H ». Le gain de compression est ainsi de (19-5)/19 soit environ 73,7%. En contrepartie pour la chaîne « REELLEMENT », dans lequel la redondance des caractères est faible, le résultat de la compression donne « 1R2E2L1E1M1E1N1T »; la compression s’avère ici très coûteuse, avec un gain négatif valant (10-16)/10 soit -60%!

Le codage de Huffman

David Huffman a proposé en 1952 une méthode statistique qui permet d’attribuer un mot de code binaire aux différents symboles à compresser (pixels ou caractères par exemple). La longueur de chaque mot de code n’est pas identique pour tous les symboles: les symboles les plus fréquents (qui apparaissent le plus souvent) sont codés avec de petits mots de code, tandis que les symboles les plus rares reçoivent de plus longs codes binaires. On parle de codage à longueur variable (en anglais VLC pour variable code length) préfixé pour désigner ce type de codage car aucun code n’est le préfixe d’un autre. Ainsi la suite finale de mots codés à longueurs variables sera en moyenne plus petite qu’avec un codage de taille constante.

Le codeur de Huffman crée un arbre ordonné à partir de tous les symboles et de leur fréquence d’apparition. Les branches sont construites récursivement en partant des symboles les moins fréquents. La construction de l’arbre se fait en ordonnant dans un premier temps les symboles par fréquence d’apparition. successivement les deux symboles de plus faible fréquence d’apparition sont retirés de la liste et rattachés à un noeud dont le poids vaut la somme des fréquences des deux symboles. Le symbole de plus faible poids est affecté à la branche 1, l’autre à la branche 0 et ainsi de suite en considérant chaque noeud formé comme un nouveau symbole, jusqu’à obtenir un seul noeud parent appelé racine.
Le code de chaque chaque symbole correspond à la suite des codes le long du chemin allant de ce caractère à la racine. Ainsi, plus le symbole est « profond » dans l’arbre, plus le mot de code sera long.

Soit la phrase suivante : « COMMENT_CA_MARCHE ». Voici les fréquences d’apparitions des lettres

M A C E _ H O N T R
3 2 2 2 2 1 1 1 1 1

Voici l’arbre correspondant :

Les codes correspondants à chaque caractère sont tels que les codes des caractères les plus fréquents sont courts et ceux correspondant aux symboles les moins fréquents sont longs :

M A C E _ H O N T R
00 100 110 010 011 1110 1111 1010 10110 10111

Les compressions basées sur ce type de codage donnent de bons taux de compressions, en particulier pour les images monochromes (les fax par exemple). Il est notamment utilisé dans les recommandations T4 et T5 de l’ITU-T

La compression LZW

Abraham Lempel et Jakob Ziv sont les créateurs du compresseur LZ77, inventé en 1977 (d’où son nom). Ce compresseur était alors utilisé pour l’archivage (les formats ZIP, ARJ et LHA l’utilisent).

En 1978 ils créent le compresseur LZ78 spécialisé dans la compression d’images (ou tout type de fichier de type binaire).

En 1984, Terry Welch de la société Unisys le modifia pour l’utiliser dans des contrôleurs de disques durs, son initiale vint donc se rajouter à l’abréviation LZ pour donner LZW.
LZW est un algorithme très rapide aussi bien en compression qu’en décompression, basé sur la multiplicité des occurences de séquences de caractères dans la chaîne à encoder. Son principe consiste à substituer des motifs par un code d’affectation (indice) en construisant au fur et à mesure un dictionnaire. De plus, il travaille sur des bits et non sur des octets, il ne dépend donc pas de la manière de laquelle le processeur code les informations. C’est un des algorithmes les plus populaires, il est notamment utilisé dans les formats TIFF et GIF. La méthode de compression LZW ayant été brevetée par la société Unisys, c’est l’algorithme LZ77, libre de droit, qui est utilisé dans les images PNG.

Construction du dictionnaire

Le dictionnaire est initialisé avec les 256 valeurs de la table ASCII. Le fichier à compresser est découpé en chaînes d’octets (ainsi pour des images monochromes – codées sur 1 bit – cette compression est peu efficace), chacune de ces chaînes est comparée au dictionnaire et est ajoutée si jamais elle n’y est pas présente.

La compression

L’algorithme parcourt le flot d’informations en le codant; si jamais une chaîne est plus petite que le plus grand mot du dictionnaire alors elle est transmise.

La décompression

Lors de la décompression, l’algorithme reconstruit le dictionnaire dans le sens inverse, ce dernier n’a donc pas besoin d’être stocké.

PSD

Il est reconnu par plusieurs logiciels de traitement d’image, du fait de la grande diffusion des produits Adobe dans le domaine de l’image. Ce format peut coder la couleur sur 8, 16, 24, 32 bits dont le noir et le blanc, la couleur RVB et CMJN, le HSB, ou encore les couleurs LAB (très adaptées à la retouche d’image photographique). Le format PSD est un métafichier qui peut contenir des informations Bitmap de plusieurs couches, des masques, des tracés vectoriels.

Ses avantages sont :

  • Une vraie gestion de la transparence, avec 256 niveau de transparence.
  • Une gestion des calques.
  • Une gestion des masques.
  • Une bonne compression (une image de 25 Mo avec un fond uni descend à 4 Mo une fois enregistrée en PSD).
  • La gestion de la typographie par le calque (dans les dernières versions).
  • Ses exportations de sélections.

Le mode de compression peut être le RLE (Run Length Encoding) ou aucun mode de compression.
Le suffixe est PSD.

BMP

Le format BMP est un des formats les plus simples développé conjointement par Microsoft et IBM, ce qui explique qu’il soit particulièrement répandu sur les plates formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c’est-à-dire un fichier d’image graphique stockant les pixels sous forme de tableau de points et gérant les couleurs soit en couleur vraie soit grâce à une palette indexée. Le format BMP a été étudié de telle manière à obtenir un bitmap indépendant du périphérique d’affichage (DIB, Device independent bitmap).

La structure d’un fichier bitmap est la suivante :

  • En-tête du fichier (en anglais file header)
  • En-tête du bitmap (en anglais bitmap information header, appelé aussi information Header)
  • Palette (optionnellement)
  • Corps de l’image

Entête du fichier

L’entête du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et indique où commencent les informations concernant l’image à proprement parler.

L’entête est composé de quatre champs :

  • La signature (sur 2 octets), indiquant qu’il s’agit d’un fichier BMP à l’aide des deux caractères.
  • BM, 424D en hexadécimal, indique qu’il s’agit d’un Bitmap Windows.
  • BA indique qu’il s’agit d’un Bitmap OS/2.
  • CI indique qu’il s’agit d’une icone couleur OS/2.
  • CP indique qu’il s’agit d’un pointeur de couleur OS/2.
  • IC indique qu’il s’agit d’une icone OS/2.
  • PT indique qu’il s’agit d’un pointeur OS/2.
  • La taille totale du fichier en octets (codée sur 4 octets)
  • Un champ réservé (sur 4 octets)
  • L’offset de l’image (sur 4 octets), en français décalage, c’est-à-dire l’adresse relative du début des informations concernant l’image par rapport au début du fichier
  • Entête de l’image
  • L’entête de l’image fournit des informations sur l’image, notamment ses dimensions et ses couleurs.

L’entête de l’image est composé de quatre champs :

  • La taille de l’entête de l’image en octets (codée sur 4 octets). Les valeurs hexadécimales suivantes sont possibles suivant le type de format BMP :
  • 28 pour Windows 3.1x, 95, NT, …
  • OC pour OS/2 1.x
  • F0 pour OS/2 2.x
  • La largeur de l’image (sur 4 octets), c’est-à-dire le nombre de pixels horizontalement (en anglais width)
  • La hauteur de l’image (sur 4 octets), c’est-à-dire le nombre de pixels verticalement (en anglais height)
  • Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 1
  • La profondeur de codage de la couleur(sur 2 octets), c’est-à-dire le nombre de bits utilisés pour coder la couleur. Cette valeur peut-être égale à 1, 4, 8, 16, 24 ou 32
  • La méthode de compression (sur 4 octets). Cette valeur vaut 0 lorsque l’image n’est pas compressée, ou bien 1, 2 ou 3 suivant le type de compression utilisé :
  • 1 pour un codage RLE de 8 bits par pixel
  • 2 pour un codage RLE de 4 bits par pixel
  • 3 pour un codage bitfields, signifiant que la couleur est codé par un triple masque représenté par la palette
  • La taille totale de l’image en octets (sur 4 octets).
  • La résolution horizontale (sur 4 octets), c’est-à-dire le nombre de pixels par mètre horizontalement
  • La résolution verticale (sur 4 octets), c’est-à-dire le nombre de pixels par mètre verticalement
  • Le nombre de couleurs de la palette (sur 4 octets)
  • Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut être égal à 0 lorsque chaque couleur a son importance.

Palette de l’image

La palette est optionnelle. Lorsqu’une palette est définie, elle contient successivement 4 octets pour chacune de ses entrées représentant :

  • La composante bleue (sur un octet)
  • La composante verte (sur un octet)
  • La composante rouge (sur un octet)
  • Un champ réservé (sur un octet)

Codage de l’image

Le codage de l’image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne en commençant par le pixel en bas à gauche.

  • Les images en 2 couleurs utilisent 1 bit par pixel, ce qui signifie qu’un octet permet de coder 8 pixels
  • Les images en 16 couleurs utilisent 4 bits par pixel, ce qui signifie qu’un octet permet de coder 2 pixels
  • Les images en 256 couleurs utilisent 8 bits par pixel, ce qui signifie qu’un octet code chaque pixel
  • Les images en couleurs réelles utilisent 24 bits par pixel, ce qui signifie qu’il faut 3 octets pour coder chaque pixel, en prenant soin de respecter l’ordre de l’alternance bleu, vert et rouge.

Chaque ligne de l’image doit comporter un nombre total d’octets qui soit un multiple de 4; si ce n’est pas le cas, la ligne doit être complétée par des 0 de telle manière à respecter ce critère.

JPEG

L’acronyme JPEG (Joint Photographic Expert Group prononcez jipègue ou en anglais djaypègue) provient de la réunion en 1982 d’un groupe d’experts de la photographie, dont le principal souci était de travailler sur les façons de transmettre des informations (images fixes ou animées). En 1986, l’ITU-T mit au point des méthodes de compression destinées à l’envoi de fax. Ces deux groupes se rassemblèrent pour créer un comité conjoint d’experts de la photographie (JPEG).

Contrairement à la compression LZW, la compression JPEG est une compression avec pertes, ce qui lui permet, en dépit d’une perte de qualité, un des meilleurs taux de compression (20:1 à 25:1 sans perte notable de qualité).
Cette méthode de compression est beaucoup plus efficace sur les images photographiques (comportant de nombreux pixels de couleurs différentes) et non sur des images géométriques (à la différence de la compression LZW) car sur ces dernières les différences de nuances dûes à la compression sont très visibles.

Les étapes de la compression JPEG sont les suivantes :

  • Rééchantillonnage de la chrominance, car l’oeil ne peut discerner de différences de chrominance au sein d’un carré de 2×2 points
  • Découpage de l’image en blocs de 8×8 points, puis l’application de la fonction DCT (Discrete Cosinus Transform, transformation discrète en cosinus) qui décompose l’image en somme de fréquences
  • Quantification de chaque bloc, c’est-à-dire qu’il applique un coefficient de perte (qui permet de déterminer le ratio taille/qualité) « annulera » ou diminuera des valeurs de hautes fréquences, afin d’atténuer les détails en parcourant le bloc intelligemment avec un codage RLE (en zig-zag pour enlever un maximum de valeurs nulles).
  • Encodage de l’image puis compression avec la méthode d’Huffman

Le format de fichier embarquant un flux codé en JPEG est en réalité appelés JFIF (JPEG File Interchange Format, soit en français Format d’échange de fichiers JPEG), mais par déformation le terme de « fichier JPEG » est couramment utilisé.

Il est à noter qu’il existe une forme de codage JPEG sans perte (appelé lossless). Bien que peu utilisé par la communauté informatique en général, il sert surtout pour la transmission d’images médicales pour éviter de confondre des artefacts (purement liés à l’image et à sa numérisation) avec de réels signes pathologiques. La compression est alors beaucoup moins efficace (facteur 2 seulement).

GIF

Le format GIF (Graphic Interchange Format) est un format de fichier graphique bitmap (raster) par la société Compuserve.

Il existe deux versions de ce format de fichier développées respectivement en 1987 et 1989 :

  • GIF 87a supportant la compression LZW, l’entrelacement (permettant un affichage progressif), une palette de 256 couleurs et la possibilité d’avoir des images animées (appelées GIFs animés) en stockant plusieurs images au sein du même fichier.
  • GIF 89a ajoutant la possibilité de définir une couleur transparente dans la palette et de préciser le délai pour les animations.

Caractéristiques du format GIF

Une image GIF peut contenir de 2 à 256 couleurs (2, 4, 8, 16, 32, 64, 128 ou 256) parmi 16.8 millions dans sa palette. Ainsi grâce à cette palette limitée en nombre de couleurs (et non limité en couleurs différentes), les images obtenues par ce format ont une taille généralement très faible.

Toutefois, étant donné le caractère propriétaire de l’algorithme de compression LZW, tous les éditeurs de logiciel manipulant des images GIF doivent payer une redevance à la société détentrice des droits, Unisys. C’est une des raisons pour lesquelles le format PNG est de plus en plus plébiscité, au détriment du format GIF.

Plus d’informations

- Spécifications du format GIF (version 87a)
- Spécifications du format GIF (version 89a)

PCX

Le format PCX a été mis au point par la société ZSoft, éditant le logiciel PaintBrush équipant en standard les systèmes d’exploitation Microsoft Windows à partir des années 80.

Le format PCX est un format bitmap permettant d’encoder des images dont la dimension peut aller jusqu’à 65536 par 65536 et codées sur 1 bit, 4 bit, 8 bit ou 24 bit (correspondant respectivement à 2, 16, 256 ou 16 millions de couleurs).

La structure d’un fichier PCX est la suivante :

  • En-tête de l’image (en anglais bitmap information header) d’une longueur de 128 octets
  • Corps de l’image
  • Informations
  • Palette des couleurs (optionnelle). Il s’agit d’un champ de 768 octets permettant de stocker les différentes valeurs de rouge, de vert et de bleu (RVB) de chaque élément de la palette

Entête de l’image

L’entête de l’image fournit des informations sur l’image, notamment ses dimensions et ses couleurs.

L’entête de l’image est composé des champs suivants :

  • La signature du fichier (sur un octet), permettant d’identifier le type du fichier. La valeur hexadécimale 0A désigne un fichier PCX.
  • La version (sur un octet) :
  • 0= Version 2.5
  • 2= Version 2.8 avec palette
  • 3= Version 2.8 sans palette
  • 5= Version 3.0
  • Le format (sur un octet), c’est-à-dire la méthode d’encodage utilisée. La valeur 1 désigne un encodage RLE.
  • Le nombre de bits par pixel par plan (sur un octet)
  • Xmin (sur deux octets), abscisse de l’angle supérieur gauche
  • Ymin (sur deux octets), ordonnée de l’angle supérieur gauche
  • Xmax (sur deux octets), abscisse de l’angle inférieur droit
  • Ymax (sur deux octets), ordonnée de l’angle inférieur droit
  • Résolution horizontale (sur deux octets)
  • Résolution verticale (sur deux octets)
  • Palette (sur 48 octets)
  • Réservé (sur un octet)
  • Nombre de plans de couleur (sur un octet)
  • Nombre de bits par ligne (sur 2 octets)
  • Type de palette (sur 2 octets)
  • Remplissage (58 octets)

Il est intéressant de noter que «Xmax – Xmin + 1» représente la largeur de l’image et que «Ymax – Ymin + 1» représente la hauteur de celle-ci.

Codage de l’image

Le codage de l’image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne en commençant par le pixel en haut à gauche, puis en parcourant de gauche à droite et de haut en bas.

PNG

Le format PNG (Portable Network Graphics, ou format Ping) est un format de fichier graphique bitmap (raster). Il a été mis au point en 1995 afin de fournir une alternative libre au format GIF, format propriétaire dont les droits sont détenus par la société Unisys (propriétaire de l’algorithme de compression LZW), ce qui oblige chaque éditeur de logiciel manipulant ce type de format à leur verser des royalties. Ainsi PNG est également un acronyme récursif pour PNG’s Not Gif.

Caractéristiques du format PNG

Le format PNG permet de stocker des images en noir et blanc (jusqu’à 16 bits par pixels de profondeur de codage), en couleurs réelles (True color, jusqu’à 48 bits par pixels de profondeur de codage) ainsi que des images indexées, faisant usage d’une palette de 256 couleurs.

De plus il supporte la transparence par couche alpha, c’est-à-dire la possibilité de définir 256 niveaux de transparence, tandis que le format GIF ne permet de définir qu’une seule couleur de la palette comme transparente. Il possède également une fonction d’entrelacement permettant d’afficher l’image progressivement.

La compression proposé par ce format est une compression sans perte (lossless compression) 5 à 25% meilleure que la compression GIF.

Enfin PNG embarque des informations sur le gamma de l’image, ce qui rend possible une correction gamma et permet une indépendance vis-à-vis des périphériques d’affichage. Des mécanismes de correction d’erreurs sont également embarquées dans le fichier afin de garantir son intégrité.

Structure d’un fichier PNG

Un fichier PNG est constité d’une signature, permettant de signaler qu’il s’agit d’un fichier PNG, puis d’une série d’éléments appelés chunks (le terme « segments » sera utilisé par la suite). La signature d’un fichier PNG (en notation décimale) est la suivante :

137 80 78 71 13 10 26 10

La même signature en notation hexadécimale est :

89 50 4E 47 0D 0A 1A 0A

Chaque segment (chunk) est composé de 4 parties :

  • La taille, un entier non signé de 4 octets, décrivant la taille du segment
  • Le type de segment (chunk type) : un code de 4 caractères (4 octets) composés de caractères ASCII alphanumériques (A-Z, a-z, 65 à 90 et 97 à 122) permettant de qualifier la nature du segment
  • Les données du segment (chunk data)
  • Le CRC (cyclic redundancy check), un code correcteur de 4 octets permettant de vérifier l’intégrité du segment

Les segments peuvent être présents dans n’importe quel ordre si ce n’est qu’ils doivent commencer par le segment d’en-tête (IHDR chunk) et finir par le segment de fin (IEND chunk)

Les principaux segments (appelés critical chunks) sont :

  • IHDR Image header
  • PLTE Palette
  • IDAT Image data
  • IEND Image trailer

Les autres segments (appelés anciliary chunks) sont les suivants :

  • BKGD Background color
  • CHRM Primary chromaticities and white point
  • GAMA Image gamma
  • HIST Image histogram
  • PHYs Physical pixel dimensions
  • SBIT Significant bits
  • TEXt Textual data
  • TIME Image last-modification time
  • TRNS Transparency
  • ZTXt Compressed textual data

Plus d’informations

* Site du W3C
* Spécifications du format PNG (version 1.0)
* Site officiel LibPNG.org

TIFF

Le format TIF ou TIFF (Tagged Image File Format) est un format de fichier graphique bitmap (raster). Il a été mis au point en 1987 par la société Aldus (appartenant désormais à Adobe). Les dernières spécifications (Revision 6.0) ont été publiées en 1992.

Caractéristiques du format TIF

Le format TIFF est un ancien format graphique, permettant de stocker des images bitmap (raster) de taille importante (plus de 4 Go compressées), sans perdition de qualité et indépendamment des plates formes ou des périphériques utilisés (Device-Independant Bitmap, noté DIB).

Le format TIFF permet de stocker des images en noir et blanc, en couleurs réelles (True color, jusqu’à 32 bits par pixels) ainsi que des images indexées, faisant usage d’une palette de couleurs.

De plus le format TIF permet l’usage de plusieurs espaces de couleurs :

  • RGB
  • CMYK
  • CIE L*a*b
  • YUV / YCrCb

Structure d’un fichier TIFF

Le principe du format TIF consiste à définir des balises (en anglais tags, d’où le nom Tagged Image File Format) décrivant les caractéristiques de l’image.

Les balises permettent de stocker des informations concernant aussi bien les dimensions de l’image, le nombre de couleurs utilisées, le type de compression (de nombreux algorithmes peuvent ainsi être utilisés Packbits / CCITT G3&4 / RLE / JPEG / LZW / UIT-T), ou bien la correction gamma.

Ainsi la description de l’image par balise rend simple la programmation d’un logiciel permettant d’enregistrer au format TIFF. En contrepartie la multiplicité des options proposées est telle que nombre de lecteurs d’images supportant le format TIFF ne les intègrent pas toutes, si bien qu’il arrive qu’une image enregistrée au format TIFF ne soit pas lisible sous un autre.

Plus d’informations

* Spécifications du format TIFF (version 6.0)

EPS (Encapsulated PostScript)

EPS est un format utilisé par de nombreux programmes de dessin et de mise en pages.
Élaboré pour le monde du prépresse, il offre de nombreuses possibilités :

  • Fichier TIF de prévisualisation pour la mise en page
  • Possibilité de compresser en JPEG les couches CMJN en un seul fichier ou en quatre fichiers distincts
  • Conservation des informations vectorielles, couleurs, couches alpha

Ce format utilise le langage postscript qui est un langage de description de page. Il donne une description géométrique d’une image, c’est à dire qu’il utilise des objets décrits par des coordonnées vectorielles. Une image bitmap est « encapsulée » dans du postscript comme un simple objet.

Le format EPS peut coder la couleur sur 8, 16, 24 ou 32 bits, peut gérer les niveaux de gris, la couleur RVB ou CMJN et conserve les couches de transparence.

C’est un format adapté à l’impression, car il permet la séparation des couleurs en quadrichromie, pour le flashage. Il est très volumineux.

Le format EPS (Encapsuled PostScript) a été créé par Adobe Systems. C’est un fichier en langage PostScript qui peux contenir des objets et typos vectoriels et qui est utilisé aussi dans le traitement de texte pour être imprimé. Ce format peut être compressé en JPEG . Il existe une pré-visualisation TIFF . Il y a plusieur déclinaisons d’EPS. Les fichiers Encapsulated PostScript sont des sous-programmes que l’on peut inclure dans des fichiers PostScript.

Les avantages d’EPS sont:

  • Il peut décrire des illustrations c’est à dire des graphiques n’occupant qu’une portion de page.
  • Il est composite. Le format EPS contient du texte, du dessin vectoriel , et desimages.
  • Il permet de lisser les typographies vectorielles lors de l’impression.

Les inconvénients sont:

Le codage des données est peu compacte (1 octet est stocké sous la forme de deux caractères représentant un code hexadécimal et aucune compression n’est utilisée dans la version 1 PostScript, la version 2 a introduit des algorithmes de compression).

La prévisualisation des fichiers n’est pas généralement affichable par les logiciels qui les importent. Pour compenser cette limitation, il est joint souvent en tête du fichier, une image TIFF de faible résolution qui sert à afficher l’image importée.

PDF (Portable document format)

Basé sur le langage Postcript niveau 2, il permet d’afficher aussi bien des images vectorielles que Bitmap, il est multi-plateforme, MAC, Windows, Unix et Dos.

C’est le format d’Adobe Acrobat, un logiciel de publication électronique. Il peut comporter des liens hypertextes, des fonctions de recherche et de navigation.
A l’origine Adobe, célèbre dans le monde de la PAO et du prépresse (Photoshop, Illustrator, Pagemaker) voulait faire évoluer son format de description de page Postscript utilisé par les imprimeurs, pour le rendre facilement affichable quelque soit la plate forme et de façon indépendante du logiciel et de sa version.
Ainsi naquit PDF, Portable Document Format, format de document portable quelque soit l’application ou le système d’exploitation.

Iintègre aussi des fonctions connues en html : formulaires, javascript.

PDF permet la création de fichiers plus compacts qu’en postscript, utilisant les normes de compressions JPEG, LZW et CCITT, facilitant le transfert de gros fichiers sur les réseaux aujourd’hui très embouteillés (exemple : un fichier Word ou Excel peut diviser son poids de fichier par dix en PDF, tout en comprimant les images qui y sont contenues).

TOUTES LES EXTENSIONS !!!

WIKIPEDIA

COMMENT ÇA MARCHE

PERSO FREE

Les informations contenues sur cette page proviennent de linux-france.orgcommentcamarche.net - fr.wikipedia.org -