Date de publication du RFC : Mars 2025
Auteur(s) du RFC : M.J. Dürst (Aoyama Gakuin University)
Réalisé dans le cadre du groupe de travail IETF mediaman
Première rédaction de cet article le 19 mars 2025
Vous savez que les types de médias
comportent un type de premier niveau et un sous-type. Dans
image/gif
, image
est le
type de premier niveau et gif
le sous-type. On
crée des sous-types tout le temps mais les types, l'identificateur
qui est au premier niveau, c'est bien plus rare. La création du type
haptics
(données haptiques), qui a été faite dans le RFC 9695, a été l'occasion de formaliser un
peu plus le processus de création de types de médias.
Vous voulez créer un nouveau type de
médias (également appelé type MIME) ? Les
types existants comme text
,
image
et application
ne
vous suffisent pas ? Alors, il vaut mieux lire ce RFC 9694, qui explique les principes. Le RFC 6838, qui spécifie les types de médias est assez vague sur
la création de nouveaux types de premier niveau (cf. sa section
4.2.7), sans doute parce qu'on ne comptait pas en voir arriver
beaucoup. Notre RFC 9694 comble ce manque, devenu
évident avec la création du type haptics
dans le RFC 9695.
Attention, ne pas confondre les types de médias de premier niveau
avec les arbres qui permettent d'étiqueter les sous-types, comme
vnd
(abréviation de vendor),
pour les sous-types spécifiques à un fournisseur, comme
application/vnd.adobe.flash.movie
pour
un format qu'on ne regrettera
pas.
Donc, contrairement aux sous-types, qui apparaissent tout le
temps et ne font pas forcément l'objet d'un RFC, la création de types est plus
rare. Le dernier créé, avant haptics/
, était
font/
, par le RFC 8081. L'une des raisons de la séparation type/sous-type
est que, dans certains cas, le type peut indiquer, au logiciel qui
lit un fichier, une application générique (si on tombe sur un
image/sous-type-inconnu
, lancer un logiciel de
visualisation d'imges qui gère beaucoup de formats est une solution
raisonnable ; si on tombe sur un
text/sous-type-inconnu
, on sait qu'un humain
pourra à peut près le lire avec un éditeur générique). Le RFC note
qu'autrefois il était même prévu que cet aiguillage puisse se faire
vers différents matériels (envoyer
image/nimporte-quoi
à l'imprimante,
video/nimporte-quoi
à la télé) mais
qu'aujourd'hui, où les machines sont bien plus généralistes, cela
n'a plus trop de sens.
Donc, si vous voulez enregistrer un nouveau type de médias de premier niveau, la section 2 de notre RFC liste les critères obligatoires d'évaluation :
haptics/
a commencé avec trois
sous-types.)Moins cruciaux sont d'autres critères, comme :
model/
a été
créé par le RFC 2077 sans groupe de
travail, font/
(RFC 8081) a été l'œuvre d'un groupe de
travail dédié, haptics/
(RFC 9695) a été fait par un groupe de
travail qui avait également d'autres sujets.Il y a aussi des anti-critères.
oid/
qui pointerait vers des
object
identifiers).code/
pour le code
source puisqu'il existe déjà
text/
(même si peu de langages de
programmation ont eu un sous-type enregistré, le RFC 9239 est plutôt une exception).x-
, le RFC 6648
explique pourquoi.La section 3 du RFC est pour les féru·es d'histoire. Elle
documente l'évolution de ces types de médias. Leur apparition date du
RFC 1341 en 1992, qui
créait les « classiques » text/
,
image/
, audio/
… Le premier
type de premier niveau créé par la suite a été
matter-transport/
(pour indiquer que le message
contient de la matière, pas juste de l'information) en
1993 dans le RFC 1437
(mais regardez la date du RFC avant de critiquer). Le premier
« sérieux » type de premier niveau en dehors des « classiques »,
model/
, n'a été créé qu'en
1997 par le RFC 2077. example/
date de
2006 (RFC 4735) et
font/
de 2017 (RFC 8081). Enfin, le dernier,
haptics/
, date de cette
année, avec le RFC 9695.
Il existe aussi des types utilisés mais pas enregistrés. Wikipédia parle d'un type chemical/, décrit dans un article mais jamais passé par le mécanisme d'enregistrement que décrit notre RFC, et donc absent du registre.
La section 4 de notre RFC synthétise les règles et procédures pour l'enregistrement d'un nouveau type (rappel : politique « Action de normalisation », RFC 8126) et crée formellement le registre des types de premier niveau.
Si vous voulez créer un nouveau type de médias de premier niveau,
je signale que scent/
(pour distribuer des odeurs sur l'Internet) n'a pas été
enregistré. Il faut dire qu'à ma connaissance, il n'existe pas de
format pour les odeurs, qui permettrait d'avoir le premier
sous-type. Et ce manque de format vient probablement du fait qu'on
n'a pas de synthétiseur d'odeurs qui serait capable de rendre le
contenu du fichier de manière perceptible par notre odorat. (Trois
autres sens sont couverts par image/
,
audio/
et haptics/
mais on n'a rien non plus pour le
goût.)
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)