30 mai 2017

Bonjour,

Je voudrais vous expliquer comment IOS gère l'association des types de fichiers et des applications.

C'est un peu technique mais nécessaire. Vous verrez nous allons y arriver !!

Lorsque vous êtes dans Mail (par exemple) et que vous recevez un fichier attaché, lorsque vous cliqez sur ce fichier un menu contextuel apparait vous proposant de copier votre fichier dans les différentes applications compatibles. Pour savoir quelles sont les applications compatibles avec un fichier, IOS regarde l'extension du fichier et voit si une application s'est déclarée capable de lire celui-ci.

Par contre, certaines applications de gestion de fichiers dans le Cloud ou sur clef USB ne demandent pas au système d'associer le fichier et l'application, et à ce moment le fichier devient inutilisable.

J'avais testé l'application iEasyDrive dans une de mes vidéos. L'application ne proposait pas la "copie dans ..." directement, il faut exporter le fichier pour que cela fonctionne, mais cela fonctionne.

Le problème est différent avec le web. Sur le web il n'y a pas de gestion des extensions de fichier. Bien sûr on a l'impression que oui... les pages HTML ont la plupart du temps l'extension .html (ou .htm), mais il arrive aussi souvent qu'elle s'appelle .php ou .cgi alors que ce sont bel et bien des pages web. Comment cela est-il possible ? Parce que le navigateur web ne regarde pas du tout l'extension du fichier, mais écoute ce que lui dit le serveur web.

Quand un navigateur web demande une ressource (un fichier), le serveur web lui indique en même temps qu'il lui envoie le fichier le type de celui-ci. Ce type est par exemple "text/html" pour les pages web, ou "image/png" pour une image PNG, ou encore "application/zip" pour un fichier ZIP.

Sur le système d'expoitation (IOS pour nous), il y a donc non seulement une relation entre une application et les extensions des fichiers qu'elle peut gérer, mais aussi une relation avec le type de fichier.

Pourquoi vous parler de cela ? Parce que si le type de fichier correspondant à l'extension n'est pas configuré sur le serveur, lorsque vous tapez sur un fichier dans le navigateur web de votre iPad/iPhone, le menu contextuel proposant le "copier dans ..." ne proposera pas l'application correspondante. En clair, si vous mettez un fichier JeValideItems sur votre blog, celui-ci ne sera pas "copiable" dans JeValide.

Si vous utilisez Apache (le logiciel serveur web le plus utilisé au monde), vous devez ajouter dans la configuration :

AddType application/JeValideItems .JeValideItems

Voilà, avec cette petite information, vous pouvez créer des serveurs web contenant des bases d'items.

Au passage, si vous souhaitez faire un site contenant des fichiers pour d'autres de mes applications, c'est la même chose.

Pour Quadrillages, le type est "application/quadrillages"

Pour Carrés et couleurs, le type est "application/SquareAndColors"

Pour Fais comme moi, le type est "application/DoAsMe"

Pour Fly and shoot maker, le type est "application/FlyAndShoot"

Si vous avez besoin de connaître le type d'un de mes fichiers, il suffit de me le demander.

Emmanuel CROMBEZ