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

Langages de programmation Discussion :

Créer son propre format de fichier


Sujet :

Langages de programmation

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut Créer son propre format de fichier
    Bonjour à tous,

    Bon, je sais pas trop si je suis dans le bon forum, si jamais je déplacerai, mais bon, je me lance.

    Dans le cadre d'une de mes applications, j'aimerait bien créer mon propre format de fichier. Mais j'ai trouvé aucune documentation qui parle de cela et je suis un peu perdu...

    Vous auriez de la documentation sur ce sujet ou alors des conseils ?

    Si j'ai bien compris, il faut que je définisse clairement tout ce qui sera dans ce fichier et comment je vais organiser ces différentes données à l'intérieur du fichier, c'est bien ça ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Bon, j'ai déja établi le début des spécifications de mon format de fichier et j'ai fait un test avec des données bidons dans le fichier. C'est bien pratique et tout simple à faire comme truc. Mais par contre, les données apparaissent en clair à l'intérieur. Alors que quand j'ai regardé dans des fichiers binaires d'autres programmes, tout était illisible. Ca veut dire qu'il faut crypter le contenu du fichier pour qu'il soit illisible ? Mais ca risque d'être lourd non ?

    C'est surtout pour m'entraîner que je veux avoir quelque chose de correct puisque mon programme est open-source, donc il suffit de regarder les sources du programme pour voir comment est fait le fichier.

  3. #3
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Si tu veux vraiment décrire ton format, il faut que tu definises une grammaire qui va décrire le "langage de ton format" ...

    Si tu veux avoir un peu plus sur la syntaxe d'une grammaire, je te conseille d'aller faire un tour sur le net ( pas de ref sur moi ), mais il me semble qu'il existe un standart.

  4. #4
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Citation Envoyé par wichtounet
    Bon, j'ai déja établi le début des spécifications de mon format de fichier et j'ai fait un test avec des données bidons dans le fichier. C'est bien pratique et tout simple à faire comme truc. Mais par contre, les données apparaissent en clair à l'intérieur. Alors que quand j'ai regardé dans des fichiers binaires d'autres programmes, tout était illisible. Ca veut dire qu'il faut crypter le contenu du fichier pour qu'il soit illisible ? Mais ca risque d'être lourd non ?
    Non, ca depends du format de ton fichier. Certains formats sont tout a fait lisible par un humain. Prends par exemple le format de sauvegarde d'OpenOffice. D'après ce que j'en sais, c'est ensemble de fichier xml qui a été zippé. c'est donc tout a fait lisible ( sauf si tu lis directement le fichier zippé qui est a uniquement pour gagner de la place ).

    Par contre, si tu regardes d'autres formats, il se peut qu'il y en ait qui soient non-lisible. Les raisons peuvent être multiple : les données sont tout bêtement des données binaires ( image, video, etc ... ) ou ne respecte pas un encodage classique comme l'ASCII.

    Ensuite, il faut se poser des questions : Pourquoi veut tu que ton format soit illisible par un humain ? C'est pas forcement quelque chose que je comprends quand je me place dans un context OpenSource ( libre en tout cas ).
    Au passage, je ne pense pas que le cryptage soit une solution de sécurité dans le cadre d'un projet OpenSource. Si tu veux que je m'etale plus sur le sujet dis le.

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par benratti
    Non, ca depends du format de ton fichier. Certains formats sont tout a fait lisible par un humain. Prends par exemple le format de sauvegarde d'OpenOffice. D'après ce que j'en sais, c'est ensemble de fichier xml qui a été zippé. c'est donc tout a fait lisible ( sauf si tu lis directement le fichier zippé qui est a uniquement pour gagner de la place ).

    Par contre, si tu regardes d'autres formats, il se peut qu'il y en ait qui soient non-lisible. Les raisons peuvent être multiple : les données sont tout bêtement des données binaires ( image, video, etc ... ) ou ne respecte pas un encodage classique comme l'ASCII.
    Merci pour toutes ces précisions

    Citation Envoyé par benratti
    Ensuite, il faut se poser des questions : Pourquoi veut tu que ton format soit illisible par un humain ? C'est pas forcement quelque chose que je comprends quand je me place dans un context OpenSource ( libre en tout cas ).
    C'est surtout pour m'entraîner et pour savoir de nouvelles choses. Il n'y a aucune utilité à ce que mon fichier soit illisible par l'humain pour mon programme. Je veut juste savoir comment le faire, c'est tout C'est peut-être pas très logique comme raisonnement, mais bon

    Citation Envoyé par benratti
    Au passage, je ne pense pas que le cryptage soit une solution de sécurité dans le cadre d'un projet OpenSource. Si tu veux que je m'etale plus sur le sujet dis le.
    Non, pas besoin de t'étaler, je comprends bien ton point de vue, et ce n'est pas trop une solution de sécurité que je cherche.

  6. #6
    Nouveau membre du Club Avatar de minirop
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Points : 36
    Points
    36
    Par défaut
    si tu écris un entier de 4 octets dans un fichier ouvert en binaire et que tu l'ouvre avec bloc-note, çà devrait te donner quelquechose d'illisible car ta valeur de départ serait diviser en 4 puis afficher en passant par la table ascii.

    par ex :
    si tu écris 10 çà va mettre :
    00000000 00000000 00000000 00001010
    çà va donner 3 caratères NULL puis NL (\n)

  7. #7
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    En effet, les nombres donnent quelque chose d'illisible, mais tout ce qui est texte est en clair dans le fichier. Mais en soi, ce n'est pas bien grave non plus

  8. #8
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 123
    Points
    28 123
    Par défaut
    Bonjour,

    Il existe pleins de solutions à ton problème, en fonction de ce que tu veux mettre comme donnée dedans.

    Par exemple, si tu souhaites stocker des données contenues dans une structure, tu peux soit dumper le contenu de ta structure directement dans le fichier, soit l'écrire en clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fprintf (mon_fichier, "%d, %d, %s, %s", struct->int1, struct->int2, struct->string1, struct->string2) ;
    Ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fprintf (mon_fichier, struct) ;
    Bien sur, dans le cas où tu écris la structure directement, il est très fortement conseillé de préciser le type et la longueur des données avant de dumper la structure. Cela te permettra de relire plus facilement la structure : Lors de la lecture tu lis le type, la longueur, puis tu alloues la même structure, puis tu lis tes données en les stockant directement dans ta structure.

    Si tu veux être certain de l'intégrité de tes donées, tu peux également stocker le checksum de ta structure avant celle-ci, ce qui te donne, pour chaque entrée de ton fichier :
    Type, Longueur, checksum, structure

    Pour ce qui est de rendre les données illisibles, tu peux soit crypter le ficheir, soit crypter les structures. Ceci-dit, l'encryption de données prends du temps et consomme du CPU, et pareil à la lecture. C'est pourquoi c'est rarement utilisé dans des fichiers non critiques.

  9. #9
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Pour que ton fichier soit illisible, il faut que tu stockes dans ton fichier des données en binaire directement sans que cela ne respect le standart ASCII.

    Mais bon, généralement ce ne sont pas les caractères alphabetiques qui ne sont pas lisibles, mais le reste. Je prends l'exemple d'un fichier word. Si tu ouvres un .doc avec un editeur de texte, tu te rendras compte que tu le texte contenu dans le fichier word est lisible. C'est en fait tout le formatage qu'il y a autour qui n'est pas lisible. La raison est simple, tout ce qui n'est pas du texte est du binaire et ne fait pas parti des caractère ASCII lisible...

  10. #10
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Ok. Merci beaucoup pour vos informations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer son propre système de fichiers
    Par L'immortel dans le forum Programmation d'OS
    Réponses: 15
    Dernier message: 15/12/2013, 22h16
  2. Créer son propre format de fichier
    Par stdebordeau dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/09/2009, 11h10
  3. [Joomla!] Créer son propre fichier de traduction fr-FR.com*.ini
    Par mimi31110 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/08/2009, 13h53
  4. créer son propre format d'image
    Par jockyboss777 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 06/07/2009, 17h10
  5. créer son propre protocole
    Par matthew_a_peri dans le forum Développement
    Réponses: 11
    Dernier message: 04/03/2005, 14h16

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