logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Types MIME et applications par défaut

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

Créer un nouveau type MIME

Les informations qui concerne les types mime sont rassemblé dans des dossiers mime qui se trouvent à plusieurs endroit :

  • Dans le dossier défini par la variable XDG_DATA_HOME ou dans le dossier $HOME/.local/share si cette variable n'est pas défini. Cela permet de définir un type mime pour un utilisateur en particulier.
  • Dans le ou les dossiers défini par la variable XDG_DATA_DIRS ou dans les dossiers /usr/local/share et /usr/share si cette variable n'est pas défini. Cela permet de définir un type mime pour tout le monde.

Exemple de création de type mime basé sur une extension

Dans cet exemple, on va définir un type mime pour l'utilisateur courant, on va donc dans le dossier $HOME/.local/share/mime.

Ensuite, dans le dossier packages, créer un nouveau fichier x-extension-dsp.xml. Le nom du fichier n'a pas d'importance, vous pouvez le nommez comme vous voulez. Ce fichier aura le contenu suivant :

x-extension-dsp.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="text/x-dsp">
        <comment>dsp file</comment>
        <glob-deleteall/>
        <glob pattern="*.dsp"/>
    </mime-type>
</mime-info>

Les éléments importants sont :

  • <mime-type type=“text/x-dsp”> : début de définition du type MIME. L'attribut type contient le nom complet du type MIME. Ce nom est composé d'un type principal et d'un sous-type. Par exemple dans text/x-dsp, le type principal est text et le sous-type est x-dsp. Le préfix x- de x-dsp est une convention qui indique qu'il ne s'agit pas d'un sous-type officiel.
  • comment : bloc contenant une description courte du type MIME (ex : “PNG image”).
  • glob-deletetall : ne pas garder les “pattern” défini précédemment.
  • glob pattern=“*.dsp” : l'attribut pattern contient un motif qui permet de déterminer le type MIME en fonction du nom de fichier. Ici on indique que tous les fichiers se terminant par “.dsp” sont du type “text/x-dsp”.

Une fois votre fichier xml terminé utilisez la commande suivante :

update-mime-database ~/.local/share/mime

vérification avec un fichier .dsp :

xdg-mime query filetype un_fichier.dsp

Si la commande répond text/x-dsp, c'est gagné, vous avez créé votre propre type MIME.

Si vous voulez avoir plus d'information sur la création de type mime (notamment sur comment créer un type mime basé sur le contenu d'un fichier )suivez ce lien (anglais) https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.html#idm140001680036896

Association entre un type MIME et des applications

L'association entre un type mime et des applications va influencer les applications proposées pour ouvrir un fichier lorsque vous faite un clique droit dessus depuis votre navigateur de fichier. Les informations d'associations entre un types mime et une application se trouvent dans deux types d'endroit, les fichiers .desktop et les fichiers mimeapps.list.

Les fichiers .desktop

cette partie est purement explicative, on ne vas rien modifier. Retenez juste les dossiers où on trouve les .desktop, on y fait référence par la suite.

Les fichiers .desktop servent à décrire certaine information à propos d'un programme : son nom, comment il apparaît dans les menus, son icône … ainsi que les types mime supporté par cette application. On trouve ces fichiers dans des dossiers applications qu'on trouve à plusieurs endroit :

  • Dans le dossier défini par la variable XDG_DATA_HOME ou dans le dossier $HOME/.local/share si cette variable n'est pas défini. Ces informations concerne l'utilisateur courant uniquement.
  • Dans le ou les dossiers défini par la variable XDG_DATA_DIRS ou dans les dossiers /usr/local/share et /usr/share si cette variable n'est pas défini. Ces informations concerne tout le monde.

Exemple de fichier desktop :

extrait vim.desktop
[Desktop Entry]
Name=Vim
GenericName=Text Editor
...
TryExec=vim
Exec=vim %F
Terminal=true
Type=Application
Keywords=Text;editor;
Icon=gvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;

Dans l'exemple ci dessus MimeType déclare différent type mime pouvant être ouvert avec vim.

Pour plus d'info sur les fichiers desktop :

Les fichiers mimeapps.list

Pour commencer, il y à deux types de fichiers mimeapps.list :

  • Ceux dont le nom est de la forme $desktop-mimeapps.list, ils servent uniquement à déclarer des applications par défaut en fonction du gestionnaire de bureau. $desktop et à remplacer par le nom d'un gestionnaire de bureau en minuscule (kde, gnome, xfce …)
  • Ceux dont le nom est mimeapps.list, ils sont valable quelque soit le gestionnaire de bureau. Ils servent à déclarer des nouvelles associations, à en supprimer des existantes et à déclarer des applications par défaut.

Déclarer des applications par défaut

Pour cette étape, vous pouvez utiliser l'option “ouvrir avec” de votre navigateur de fichier pour choisir une application par défaut. Mais on peux faire ça aussi en éditant directement des fichiers de conf.

Les fichiers concernés porte le nom de mimeapps.list. Au niveau utilisateur, les fichiers concerné sont $HOME/.config/mimeapps.list et $HOME/.local/share/applications/mimeapps.list, le premier étant prioritaire. Recherchez la section [Default Applications] et ajouter une entrée. Par exemple :

extrait mimeapps.list
text/x-dsp=gvim.desktop

il est possible de déclarer plusieurs application :

extrait mimeapps.list
text/x-dsp=gvim.desktop;vim.desktop;

Dans l'exemple ci-dessus, si gvim n'est pas installé, vim sera utilisé à la place.

sources :

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
atelier/chantier/types-mime-et-applications-par-defaut.1524677162.txt.gz · Dernière modification: 25/04/2018 19:26 par Yruama_Lairba

Pied de page des forums

Propulsé par FluxBB