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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
atelier:chantier:types-mime-et-applications-par-defaut [19/04/2018 21:57]
Yruama_Lairba [Créer un nouveau type MIME basé sur une extension de fichier]
atelier:chantier:types-mime-et-applications-par-defaut [30/04/2023 13:28] (Version actuelle)
arpinux lien mort : correction du lien i3wm
Ligne 8: Ligne 8:
     * Création par [[user>​Yruama_Lairba]] 02/04/2018     * Création par [[user>​Yruama_Lairba]] 02/04/2018
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[:url-invalide ​Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://debian-facile.org/​viewtopic.php?​id=21336|[wiki] Types MIME et applications par défaut]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 **Nota :** **Nota :**
Ligne 15: Ligne 15:
  
 ===== Introduction ===== ===== Introduction =====
 +
 +Souvent, on aime bien changer l'​application qui est utilisée lorsque qu'on ouvre un fichier depuis son gestionnaire de fichier (nautilus, dolphin, caja, pcmanfm). \\
 +La plupart du temps, lorsque que le type de fichier est courant, cela se fait facilement
 +  - avec un clique-droit,​ "​ouvrir avec" et
 +  - en cochant "​définir comme applications par défaut pour ce type de fichier"​.
 +Mais parfois, cela ne fonctionne pas comme on voudrait.
 +
 +J'ai notamment eu des difficultés lorsque j'ai voulu définir //gvim// pour ouvrir les fichiers avec l'​extension ''​.dsp''​ ; j'​avais la moitié des mes ''​fichiers.dsp''​ qui s'​ouvrait avec  gvim et l'​autre qui s'​ouvrait avec leafpad.
 +<note tip>Cela est dû à la manière dont sont gérés les types de fichiers sous Debian.</​note>​
 +En effet, contrairement aux systèmes Windows, les types de fichiers ne sont pas uniquement déterminés par les extensions. \\
 +Il me fallait donc d'​abord créer un type MIME pour mon extension avant de pouvoir y associer une application par défaut.
 +
 +L'​écriture de ce tutoriel à été motivée par la difficulté à trouver la bonne manière de faire. \\
 +Lors de mes recherches, j'ai en effet trouvé plein de réponses qui n'​étaient plus d'​actualité.
 +
 +<note important>​Les manipulations indiquées ont été testées sous debian Strech et les bureaux [[doc:​environnements:​lxde:​lxde|lxde]] et [[:​doc:​environnements:​x11:​i3wm-polybar|i3]].</​note>​
  
 ===== Créer un nouveau type MIME ===== ===== Créer un nouveau type MIME =====
 +
 Les informations qui concerne les types mime sont rassemblé dans des dossiers ''​mime''​ qui se trouvent à plusieurs endroit : 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 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.
Ligne 22: Ligne 39:
  
 ==== Exemple de création de type mime basé sur une extension ==== ==== 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 :+Dans cet exemple, on va définir un type mime pour l'​utilisateur courant, on va donc dans le dossier ''​~/​.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 nommer ​comme vous voulez. ​\\ 
 +Ce fichier aura le contenu suivant :
 <file xml x-extension-dsp.xml>​ <file xml x-extension-dsp.xml>​
 <?xml version="​1.0"​ encoding="​UTF-8"?>​ <?xml version="​1.0"​ encoding="​UTF-8"?>​
Ligne 36: Ligne 56:
 </​file>​ </​file>​
 Les éléments importants sont : 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.+  * ''<​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"​).   * ''​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-deletetall''​ : ne pas garder les "​pattern"​ défini précédemment.
Ligne 46: Ligne 66:
 vérification avec un fichier .dsp : vérification avec un fichier .dsp :
 <code user>​xdg-mime query filetype un_fichier.dsp</​code>​ <code user>​xdg-mime query filetype un_fichier.dsp</​code>​
-Si la commande répond ''​text/​x-dsp'',​ c'est gagné, vous avez créé votre propre type MIME.+Si la commande répond ''​text/​x-dsp'',​ c'est gagné, vous avez créé votre propre type MIME. Vous pouvez maintenant y associer des applications.
  
 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 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
-===== Associer une application avec un type MIME ===== +===== Association entre un type MIME et des applications ​===== 
-Cette étape permets de dire à votre système qu'une application est capable ​d'utiliser ce type MIMECela influence ​la liste des applications ​affiché dans votre navigateur ​de fichier lorsque vous faite un clique droit sur un fichier. ​Cette étape ​n'est pas nécessaire ​si vous voulez seulement associer ​une application ​par défaut ​avec votre type de fichier. +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. 
-===== 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éfautMais on peux faire ça aussi en éditant directement des fichiers de conf.+==== 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 : 
 +<file config 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++;​ 
 +</​file>​ 
 + 
 +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 :  
 +  * https://​specifications.freedesktop.org/​desktop-entry-spec/​latest/​index.html 
 + 
 +==== 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. 
 + 
 +On trouve ces fichiers à plusieurs endroits : 
 +  * Dans le dossier défini par ''​$XDG_CONFIG_HOME''​ ou dans ''​$HOME/​.config''​ si la variable n'est pas défini. Propre à l'​utilisateur. C'est probablement le fichier ​''​mimeapps.list''​ de ce dossier qui sera modifié ​lorsque vous définissez une application par défaut depuis ​un navigateur de fichier. 
 +  * Dans les dossiers défini par ''​$XDG_CONFIG_DIRS''​ ou dans ''/​etc/​xdg''​ si cette variable ​n'est pas défini. Valable pour tout les utilisateurs. 
 +  * Dans le dossier défini ''​$XDG_DATA_HOME''​ ou dans ''​$HOME/​.local/​share'' ​si la variable n'est pas défini. Propre à l'​utilisateur,​ déprécié. 
 +  * Dans les dossiers défini par ''​$XDG_DATA_DIRS''​ ou dans ''​usr/​local/​share/''​ et ''/​usr/​share/''​ si cette variable n'est pas défini. On trouve ici les configurations par défaut fourni par la distribution. 
 + 
 +Les fichiers mimeapps.list peuvent contenir 3 sections : une section pour ajouter des associations,​ une sections pour enlever des associations,​ et une section pour définir des applications ​par défaut
 + 
 +=== Ajouter des associations === 
 +la section concernée commence par ''​[Added Associations]''​. Pseudo-exemple pour la syntax : 
 +<file config pseudo exemple mimeapps.list>​ 
 +[Added Associations] 
 +mimetype1=foo1.desktop;​foo2.desktop;​foo3.desktop;​ 
 +mimetype2=foo4.desktop;​ 
 +</​file>​ 
 +Les associations ainsi défini ajouteront généralement des applications dans la liste qui affiche lorsque vous faite un clique-droit sur un fichier depuis un navigateur ​de fichier. 
 + 
 +=== Supprimer des associations === 
 +la section concernée commence par ''​[Removed Associations]''​. Pseudo-exemple pour la syntax : 
 +<file config pseudo exemple mimeapps.list>​ 
 +[Removed Associations] 
 +mimetype1=foo5.desktop;​ 
 +</​file>​ 
 +Les entrée ainsi défini supprimerons généralement des applications dans la liste qui affiche lorsque vous faite un clique-droit sur un fichier depuis un navigateur de fichier. Cela sert notamment à masquer une association défini dans un fichier .desktop. 
 + 
 +=== Déclarer des applications par défaut === 
 +la section concernée commence par ''​[Default Applications]''​. Pseudo-exemple pour la syntaxe : 
 +<file config pseudo exemple mimeapps.list>​ 
 +[Default Applications] 
 +mimetype1=default1.desktop;​default2.desktop;​ 
 +</​file>​ 
 +Dans ce pseudo exemplelorsque ​vous tentez d'​ouvrir ​un fichier ​de type ''​mimetype1'',​ si le fichier ​''​default1.desktop''​ sera utilisée ​pour ouvrir le fichierSinon, ''​default2.desktop''​ est utilisé. Enfin si aucun fichier .desktop n'est trouvé ou défini, les associations sont utilisées. 
 + 
 +===== Sources ===== 
 + 
 +Ce tuto est basée sur les [[https://​www.freedesktop.org/​wiki/​Specifications/​|spécifications freedesktop.org]],​ notamment:​ 
 +  * [[https://​specifications.freedesktop.org/​basedir-spec/​basedir-spec-0.6.html|XDG Base Directory Specification]] 
 +  * [[https://​specifications.freedesktop.org/​shared-mime-info-spec/​shared-mime-info-spec-0.18.html|Shared MIME-info Database]] 
 +  * [[https://​specifications.freedesktop.org/​desktop-entry-spec/​desktop-entry-spec-1.1.html|Desktop Entry Specification]] 
 +  * [[https://​specifications.freedesktop.org/​mime-apps-spec/​mime-apps-spec-1.0.1.html|Association between MIME types and applications]] 
  
-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 : 
-<file config ​ extrait mimeapps.list>​text/​x-dsp=gvim.desktop</​file>​ 
-il est possible de déclarer plusieurs application : 
-<file config ​ extrait mimeapps.list>​text/​x-dsp=gvim.desktop;​vim.desktop;</​file>​ 
-Dans l'​exemple ci-dessus, si gvim n'est pas installé, vim sera utilisé à la place. 
  
-sources : 
-  * https://​specifications.freedesktop.org/​mime-apps-spec/​latest/​index.html 
-  * https://​specifications.freedesktop.org/​basedir-spec/​latest/​ar01s03.html 
atelier/chantier/types-mime-et-applications-par-defaut.1524167845.txt.gz · Dernière modification: 19/04/2018 21:57 par Yruama_Lairba

Pied de page des forums

Propulsé par FluxBB