Ou sont installées les applications Metro Windows 8 ? (et voyons le code)

Tags: WinRT

La question que l'on peut se poser quand on installe une application via le Microsoft Store (donc Metro) sous Windows 8, c'est : mais ou me l'a t'il planqué ?

Bon, c'est vrai qu'il n'y a que les geeks qui s'intéressent à ca car quand j'ai demandé à ma fille ou dans son téléphone Android, Angry Bird était installé, elle m'a répondu : "ben, dans mon téléphone !!!", "Merci chérie ;-))"

NB : L'application c2iPackageExplorer vous permet d'accéder directement au répertoire de l'application de votre choix. Essayez-là (c'est gratuit ;-)).

C'est ou ?

Bien, donc pour savoir cela, rien de plus simple :

  • lancez le nouveau gestionnaire de tâche de Windows 8.
  • reprérez une application Metro quelconque (exemple Photos)
  • clic droit dessus (ou appui prolongé) -> Propriétés
  • Et dans l'onglet général, vous voyez que l'application est dans c:\Program Files\WindowsApps

Donc, ni une, ni deux, je me précipite dans le répertoire WindowsApps.

D'abord, et c'est bien naturel, c'est un dossier caché. Donc il faut activer l'option : afficher les fichiers/dossiers cachés pour pouvoir le voir.

Mais plus dur, quand vous essayez de l'ouvrir, vous constaterez que la sécurité vous l'interdit. Si vous voulez vraiment visualiser son contenu, il faut changer le propriétaire de ce dossier.

A priori, il n'y a aucun risque (vous pourrez toujours installer via le store les applications de votre choix). Mais je ne suis pas persuadé que pour la version finale de Windows 8, la sécurité soit plus accrue (et vous allez voir pourquoi).

Donc si vous changez le propriétaire de ce dossier (remplacez le par votre compte Live par exemple), vous pourrez alloir voir son contenu.

Et on retrouve des dossiers pour chaque application (ca fait un peu penser à Windows\assembly).

  • NomAppli_Version_Culture_clé

Et à l'intérieur de chaque dossier, vous pouvez voir le "code" de l'application.

Par exemple, AlloCine a été développé en Html5/css3

tout comme l'application Larousse (amusant le dossier Content\images\fullsize ;-)). Mais CookBook de la société française Bewise a été développé en C#. On remarquera d'ailleurs qu'ils utilisent l'excellent framework de notre petit suisse préféré, Laurent Bugnion, MVVMLight.

Y'a quoi dedans ?

Bon mais reprenons : si l'on regarde ce qu'il y a dans ces dossiers, on accède au code des applications. Pour les applications Html5/css3, c'est simple, le bloc notes suffit pour consulter le contenu du code des page html et des scripts .js.

Pour les applications C# comme l'excellente application Cookbook (car elle est super quand même cette appli, c'est plus compliqué. On peut consulter avec le bloc-notes les fichiers XAML, mais pour les assemblys, on n'a le choix pour l'instant que d'utiliser ILDASM.exe fourni avec le SDK (dans C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64):

D'un autre côté, vous pouvez toujours utiliser JustDecompile de Telerik, l'alternative gratuite à Reflector :

(un petit this.vSettings.LoadData("MvvmLight"); ? OK, je sais, je suis lourd...).

Donc vous voyez qu'accéder au contenu des applications n'est pas très compliqué. Maintenant, je me pose plusieurs questions :

  • On a un dossier par version d'application (BingFinance, BingMaps et BingWeather ont eu droit à 2 versions dans mon PC donc 2 dossiers), quid a terme si l'on a 250 000 update d'une appli (surtout si celle ci est volumineuse comme Larousse - 511Mo).
  • Quand je modifie le code Html d'une appli, l'appli est belle et bien modifiée. Microsoft va t'il permettre cela dans la version finale ?
  • et plein d'autres choses (dans les manifestes, c'est la version 4.0 du framework).

Il nous reste encore plein de choses à découvrir (et c'est ca qui est passionnant ;-)

blog comments powered by Disqus