Enfin si vous pouviez éclairer ma lanterne, je suis preneur.
Le format texte est effectivement universel. Quelle que soit la plateforme, le fichier peut être lu tel quel, sans interpréteur … à condition de respecter le jeu de caractères, bien sûr, mais même sans ça un fichier texte dont les accents, par exemple, apparaissent "bizarrement" reste lisible par n'importe quel humain sur n'importe quelle machine.
Un format binaire demande un outil pour le codage, un pour l'affichage, un pour l'édition. Parfois ce sont trois outils distincts, parfois ils sont combinés. Mais sans outil, pas de lecture possible. Sans compter que le format du fichier doit être documenté et, pour être lu sur n'importe quelle plateforme et être à égalité avec le texte, il faudrait que le même outil soit disponible sur toutes les plateformes en même temps.
Le texte garanti la transparence de l'information: une modification est visible directement. Un fichier binaire rend opaques l'information et les transformations de sa structures.
Avec du texte, la probabilité de trouver un éditeur ou simplement un outil pour le visualiser sur n'importe quelle plateforme est proche de, peut-être même égale à 100%. (Commande cat sous UNIX, type sous Windows etc.) Pour un format binaire, arbitraire qui plus est, on en est loin. À moins de porter l'outil de visualisation sur toutes les plateformes, ce qui demande malgré tout quelques efforts. À chaque format binaire particulier son outil de visualisation et/ou d'édition. Avec le format texte, on est déjà dans cette situation, aucun effort supplémentaire n'est requis.
Le format binaire apparaît peut-être plus structuré de nature mais il est aussi facile d'avoir un fichier binaire mal foutu qu'un fichier texte bien structuré. De plus, dans le cas du fichier binaire, la structure est opaque, invisible ou non évidente à la personne qui le visualise.
Il n'est pas difficile non plus de structurer les fichiers texte. Le CSV en est un exemple. XML aussi mais largement conspué en raison du bruit qu'il introduit à travers ses balises. Ce type de fichier est plus adapté aux transfert entre machines, en plus de son avantage à pouvoir être lu et corrigé par un être humain si c'est nécessaire. Les fichiers .ini en sont un autre exemple, tout comme les fichiers .desktop. Ces derniers sont à comparer avec les raccourcis .lnk de Windows (qui ne font pas que ça, bien sûr mais leur structure opaque les rend peu confortable à la manipulation manuelle). De plus, la structure particulière du fichier .ini le rend avantageux pour des relations entre sections, de sorte qu'il est possible d'arriver, comme avec un fichier XML, à un niveau infini d'imbrications logiques.
[^] # Re: Journal en fichier binaire vs fichier plat
Posté par FantastIX . En réponse à la dépêche Documentation du format du Journal. Évalué à 3. Dernière modification le 23 octobre 2012 à 14:26.
Le format texte est effectivement universel. Quelle que soit la plateforme, le fichier peut être lu tel quel, sans interpréteur … à condition de respecter le jeu de caractères, bien sûr, mais même sans ça un fichier texte dont les accents, par exemple, apparaissent "bizarrement" reste lisible par n'importe quel humain sur n'importe quelle machine.
Un format binaire demande un outil pour le codage, un pour l'affichage, un pour l'édition. Parfois ce sont trois outils distincts, parfois ils sont combinés. Mais sans outil, pas de lecture possible. Sans compter que le format du fichier doit être documenté et, pour être lu sur n'importe quelle plateforme et être à égalité avec le texte, il faudrait que le même outil soit disponible sur toutes les plateformes en même temps.
Le texte garanti la transparence de l'information: une modification est visible directement. Un fichier binaire rend opaques l'information et les transformations de sa structures.
Avec du texte, la probabilité de trouver un éditeur ou simplement un outil pour le visualiser sur n'importe quelle plateforme est proche de, peut-être même égale à 100%. (Commande cat sous UNIX, type sous Windows etc.) Pour un format binaire, arbitraire qui plus est, on en est loin. À moins de porter l'outil de visualisation sur toutes les plateformes, ce qui demande malgré tout quelques efforts. À chaque format binaire particulier son outil de visualisation et/ou d'édition. Avec le format texte, on est déjà dans cette situation, aucun effort supplémentaire n'est requis.
Le format binaire apparaît peut-être plus structuré de nature mais il est aussi facile d'avoir un fichier binaire mal foutu qu'un fichier texte bien structuré. De plus, dans le cas du fichier binaire, la structure est opaque, invisible ou non évidente à la personne qui le visualise.
Il n'est pas difficile non plus de structurer les fichiers texte. Le CSV en est un exemple. XML aussi mais largement conspué en raison du bruit qu'il introduit à travers ses balises. Ce type de fichier est plus adapté aux transfert entre machines, en plus de son avantage à pouvoir être lu et corrigé par un être humain si c'est nécessaire. Les fichiers .ini en sont un autre exemple, tout comme les fichiers .desktop. Ces derniers sont à comparer avec les raccourcis .lnk de Windows (qui ne font pas que ça, bien sûr mais leur structure opaque les rend peu confortable à la manipulation manuelle). De plus, la structure particulière du fichier .ini le rend avantageux pour des relations entre sections, de sorte qu'il est possible d'arriver, comme avec un fichier XML, à un niveau infini d'imbrications logiques.
C'est tout ce que j'ai en tête pour le moment.