Nous sommes le Mar 22 Juil, 2025 21:05
Supprimer les cookies

Page 2 sur 3Précédent 1, 2, 3 Suivantcomment modifier office qui essaye d'ouvrir ppt par photosho

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 12 Déc, 2006 17:15

Le type MIME c'est le VRAI type d'un fichier, ça indique le protocole qui a été utilisé pour le construire. C'est plus logique d'utiliser ça pour typer des fichiers qu'un suffixe dans le nom.

Le suffixe c'est un reste bancale des anciens systèmes comme MSDOS. Ces systèmes n'étaient pas capables d'utiliser des noms de fichiers autres qu'à 8 caractères, un point et 3 caractères (XXXXXXXX.XXX). Et les trois derniers caractères étaient systématiquement utilisés pour le typage du fichier. Pratique comme ça mais risqué (un renommage est si vite fait). Sans parler du fait que ces mêmes systèmes, légers mais très insuffisants, ne faisaient pas la différence entre majuscules et minuscules.

Les systèmes UNIX, eux, bien que datant de la même époque (voire avant), utilisaient des noms de fichiers quelconques (et de n'importe quelle taille). Il n'y avait aucune notion de suffixe particulier. Un fichier "monTexte" était un fichier texte parce que son contenu était bien composé de caractères, même son nom ne se finissait pas par ".txt". On a utilisé la notation pointée sous UNIX de temps en temps pour indiquer le type du fichier dans le nom, ou pour être compatible avec les systèmes non-UNIX. Mais le point (.) est utilisé comme on veut dans un fichier UNIX. Souvent d'aileurs on le retrouve comme séparateur de numéros de versions, sinon on précède un nom de fichier d'un point pour en faire un "fichier caché".

Mais en règle générale, une application sous GNU/Linux appréhende un fichier par son "vrai" type, pas par ce que contiennent les 3 derniers caractères de son nom.

A noter cependant que certaines applis analysent seulement le suffixe (Windows a fait beaucoup de mal ;) ). Mais GNU/Linux étant ouvert, il est toujours facile de modifier les associations applications/types. Par contre sous Windows, certains logiciels "de mèche" peuvent forcer l'association, réétablir une association modifiée, sans que l'utilisateur puisse y faire quoi que ce soit. Bienvenue dans un OS propriétaire.
irimi

Messages : 503

Mar 12 Déc, 2006 17:23

Donc, le type du fichier serait contenu dans le file système même? Ou alors, l'application qui le crée le tatoue de ce type MIME dans une sorte de métadonnée dans le fichier?
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Mar 12 Déc, 2006 17:34

MIME = Multipurpose Internet mail Extension. C'est à la base une information qui sert lors de l'envoie de pièces jointes par courrier électronique, pour que le serveur qui reçoit sache comment recevoir le fichier.

C'est en fait une sorte de marqueur placé dans l'entête du fichier qui défini quel est le type du fichier. L'extension en trois lettres est apparue avec DOS il me semble, à l'époque des nom en 8+3. Windows (qui est malgré tout encore basé sur du DOS...) ne connait toujours pas les types MIME. Les systèmes *nix se servent de ça pour savoir à quel type de fichier il ont à faire. Tu auras beau changer l'extension, si son type MIME indique que c'est une image de type PNG, il l'ouvrira avec le programme qui te permettra de lire les fichier PNG... même si tu y mets une extension .mp3 ou si tu vires l'extension.

Nautilus, dans sa version 2.14 (et avant ? je ne sais plus) t'indiquait qu'il y avait un conflit entre le type détecté et l'extension, et te demandait de corriger ça en modifiant l'extension. Avec le 2.16, tu as beau mettre ce que tu veux comme extension, il l'ouvres selon le type MIME détecté. Quand tu vas voir dans les propriétés d'un fichier, tu as son type MIME d'inscrit.

C'est, selon moi en tout cas, une façon beaucoup plus "intelligente" de gérer les fichiers...
Quand tout le reste a échoué, lisez le mode d'emploi.
yostral

Avatar de l’utilisateur
Messages : 5403
Géo : Là-haut dans la montagne...

Mar 12 Déc, 2006 20:05

Je risque de vous irriter un peu mais j'ai encore un goût de trop peu.

Quand je vous lis, on pourrait croire que l'information sur le type de fichier est stockée de manière statique. Si c'est le cas alors trois possibilités:
  1. dans le fichier même
  2. dans le file system
  3. dans un meta fichier


Le premier cas, je n'ose même pas y penser. Altérer le contenu d'un fichier ne devrait pas être admis. De plus il faudrait un appel système de plus (extension de fopen()) pour le module chargé de placer ces métadonnées. Et puis tous les systèmes qui accèdent de manière physique au système de fichier doivent gérer ces métadonnées également. Du mic-mac...

Dans le second cas, on peut considérer que le file system le plus commun actuellement est le ext3. D'après le document que je lit ici, il n'y pas de place pour de telles métadonnées. Je mettrais également ce moyen de côté.

Le troisième cas me semble ridicule. Ca correspondrait à dire qu'on réplique tout le file system car il faudrait retenir l'info pour chaque fichier présent sur le système. Perte d'espace et de temps.

Alors, je pencherai pour une méthode dynamique de la détermination du type MIME. Du genre de celle proposée par CUPS (cf ici). Avec cette méthode dynamique, cela me paraît vraiment souple comme solution.

J'ai essayé sur une Etch (environnement GNOME + kernel 2.6) de renommer un fichier .gz en .txt et de l'ouvrir. Pas de chance, quand j'essaie de l'ouvrir c'est l'éditeur de texte qui le fait. Et le MIME type est devenu text/plain.

Pourtant sur Ubuntu (GNOME + kernel 2.6 aussi), ça marche plus ou moins comme vous disiez (avec quelques drôleries).

A mon humble avis, ce n'est pas propre à Linux mais plus à certaines distributions. Et ce n'est certainement pas un lien fort et immuable.
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Mar 12 Déc, 2006 21:55

obor2 a écrit:[*]dans le fichier même
Le premier cas, je n'ose même pas y penser. Altérer le contenu d'un fichier ne devrait pas être admis.

C'est pourtant le cas. C'est dans le fichier, mais le contenu n'est nullement altéré !

C'est en analysant l'en-tête du fichier qu'il détermine son type. C'est dans l'entête que son toutes les infos qui permettent de "décoder" le reste du fichier. Donc si tu sait comment le décoder, tu sait à quel type de fichier tu as à faire. C'est donc simplement en analysant l'en-tête que tu sais à quel type de fichier tu as à faire. Nul besoin de d'altérer quoi que se soit.

Il analyse l'en-tête et associe au fichier un type MIME résultant de son analyse.

Quant à Windows, il n'analyse rien, il regarde simplement l'extension.
Quand tout le reste a échoué, lisez le mode d'emploi.
yostral

Avatar de l’utilisateur
Messages : 5403
Géo : Là-haut dans la montagne...

Mar 12 Déc, 2006 22:19

Je crois que nous ne nous sommes pas bien compris et que nous mélangeons pommes et poires.

Pour le cas 1, je parle de metadata du genre de celle qu'on reçoit lorsqu'on fait des requêtes HTTP. Mais dans mon point de vue, ces metadata sont directement intégrées dans le fichier; et non pas préparées par le protocole et envoyées avant les données propres. Ces métadonnées déterminant le type de fichier de manière univoque. L'application devant gêrer ces fichiers devrait être au courant des métadata et passer outre.

Tu me parles d'en-tête de fichier. Tu veux peut-être dire par là ses magic-bytes qui permettent de définir le type de fichier tel qu'on le retrouve dans les fichiers multimédia, voire le tag de départ d'un fichier XML. Ok, là je vois où tu voudrais en venir. Cependant, l'en-tête (dans ta sémantique) est une partie du fichier par laquelle on peut déduire son type et fait partie des données (du point de vue file system). Cette information, si présente, est statique. Il faut donc analyser le fichier pour savoir son type MIME et donc la déduction est dynamique. Malgré tout, tout les formats n'intègrent pas d'attributs détectables.

Donc, j'en reviens à dire que la méthode utilisée est dynamique et que les règles sont définies et parcourues une à une dans un fichier de configuration des types MIME (tel ce qui est proposé par CUPS). Ce qui confirmerai que l'usage de cette méthode varie en fonction de la distribution.
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Mar 12 Déc, 2006 23:28

obor2 a écrit:Cependant, l'en-tête (dans ta sémantique) est une partie du fichier par laquelle on peut déduire son type et fait partie des données (du point de vue file system). Cette information, si présente, est statique. Il faut donc analyser le fichier pour savoir son type MIME et donc la déduction est dynamique.

C'est bien ça. C'est une analyse du fichier qui donne son type mime.
Tu le vois bien d'ailleurs quand tu ouvres un dossier pour la première fois, il analyse tous fichiers qui s'y trouvent pour, entre autre, mettre l'icone correspondante à son type.

obor2 a écrit:Malgré tout, tout les formats n'intègrent pas d'attributs détectables.

Tout à fait. Certains types de fichiers ne sont pas reconnus, car leur analyse ne correspond à rien de ce qu'il y a dans la base de données des types mime. Mais à part les fichiers relativement exotiques, aucun soucis.

obor2 a écrit:Ce qui confirmerai que l'usage de cette méthode varie en fonction de la distribution.

Oui. Mais à mon avis, il y a une base commune à toutes les ditribs. Je ne pense pas que ça varie beaucoup d'une distrib à une autre.
Quand tout le reste a échoué, lisez le mode d'emploi.
yostral

Avatar de l’utilisateur
Messages : 5403
Géo : Là-haut dans la montagne...

Mar 12 Déc, 2006 23:54

Qu'est-ce que c'est que cette inqualifiable dérive du sujet ?

C'était gentiment parti sur Windows, Microsoft Office (PowerPoint), Photoshop et les hold-up d'extensions de fichier, et ça tourne en un (très instructif) débat sur la façon dont les types de fichiers sont reconnus et pris en charge par GNU/Linux.

Ah c'est inqualifiable, je ne trouve pas de mots, sauf : mort de rire, bravo ;)

OK, je =>
Il faut imaginer Sisyphe heureux (A.Camus)
Bibifri

Messages : 344
Géo : Quelque part sur la FramaMap

Mer 13 Déc, 2006 07:49

Milles excuses. Je n'aime pas quand les choses ne sont pas claires. J'avais conscience de l'hors-propos du sujet par rapport à l'original.

Mais, si nous nous positionnons comme étant dans un forum réel, nous pouvons dire que nous sommes arrivés en fin de scéance et que nous, retardataires, justement, tardons à sortir de la salle en discutant d'un sujet qui a un vague lien avec le thème principal; avant de se demander vers quelle taverne nous pourrions aller sustenter notre appétit après notre intellect.

Encore pardon...
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Mer 13 Déc, 2006 09:15

merci encore pour toutes les explications et commentaires. J'ai avancé et appris beaucoup quant'à l'origine du probleme. Je passerai un message quand il sera resolu.
Elle (pas il)
gunseli

Messages : 3
Géo : ankara

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit