wiki:EnstaCours2

Cours 2: Interopérabilité - formats et protocoles

Définitions

  • format (de fichier): stockage, description de donnée passive autres: système de fichiers

Spécifications

Intéropérabilité: règles d'or

  • indépendance de la plateforme matérielle
  • indépendance de la plateforme logicielle
  • licence libre
  • libre de brevets
  • documentation de référence de qualité
  • implémentation de référence
  • extensibilité: prévoir les améliorations
  • versatilité: préférer l'abstraction

Exemples et contre-exemples

  • Format MS Word basé sur la représentation interne des objets OLE/COM
  • le web: HTML et XHTML
  • chat avec un serveur SMTP, HTTP

Concevoir un format ou protocole

  • Définir l'information à décrire ou transporter
    • forme de travail (dans la mémoire de l'ordinateur)
    • destinataire: homme ou machine
  • Binaire ou texte ?
    • texte: lisible par l'homme, forme de structure
    • binaire: lisible par la machine (mmap)
    • taille, bande passante, compression
    • hybrides: base64, le binaire dans le texte
  • Structure (syntaxe, grammaire)
    • aucune : serialisation
    • légère : entête WAV
    • simple : chunks PNG, frames Ogg
    • forte : XML, XSchema
  • Byte ordering, charsets (Intel vs Motorola, Unicode, etc)
  • API: approche classique et événementielle/flux
    • XML: SAX, DOM (expat, libxml2)
    • PNG: png_process_data(), png_read_png()
    • optimisation: étude avec OpenGL (glTexSubImage2D)
    • streaming, multiplexing: MPEG, Ogg
  • validation: file, validate, DTD, Schema

Reverse engineering

  • quel niveau ? (sonde JTAG, désassembleur, sniffeur USB/Ethernet, etc.)
  • outils (tcpdump/ethereal, strace, hexdump, gdb, emacs/hexl-mode)
  • méthodologie
    • nomenclature
    • hypothèse de la 'monovariance'
    • intuition !
    • exemple

Enjeux des formats & protocoles

  • Politique, social (DADVSI)
    • Internet
    • domaine public
    • données publiques
  • Economique
    • force d'isolation, lock-in syndrom (MS Word)
    • force de rassemblement, consortiums (Audio CD/Redbook)
  • Juridique
    • interopérabilité, droit d'auteur, brevets
    • DMCA/EUCD, DADVSI (eucd.info)
    • étude de cas: DeCSS
Last modified 14 years ago Last modified on Jul 2, 2006, 8:26:39 PM