Questions fréquentes sur les Desktop Gadgets

Les Desktop Gadgets sont aussi connus sous le nom de Sidebar Gadgets ou Gadgets Vista. Ces gadgets sont visibles dans la Sidebar de Windows Vista. Bien que les gadgets soient de petites applications DHTML+Javascript faciles à développer, certaines aspects soulèvent des questions auxquelles j'ai tenté d'apporter des réponses.

Documentation de développement

Le développement d'un gadget basique est somme toute assez simple. Le tutoriel écrit par Louis-Guillaume MORAND est disponible ici.

Pour un approfondissement du développement de Gadgets, une documentation de référence en anglais est accessible sur le site MSDN. Un très bon article (partie 1) pour le développement de Gadgets sur le site TechNet. Et le site Gadget Corner pour les sujets avancés.

Environnement de développement

Microsoft recommande l'utilisation de Visual Studio 2005 pour développer des Gadgets. Il est aussi possible d'utiliser la MICROSOFT AJAX Library pour intégrer des services Web (entre autre...). Dans l'absolu, le dévelopeur hobbyiste pourra utiliser Visual Notepad...

Pour une entreprise, bien que le développement d'un Gadget soit un projet "léger", il ne faut toutefois pas négliger les bonnes pratiques utilisées sur des projets de plus grand envergure tels que l'utilisation d'outils de gestion des codes sources.

Cycle de développement

  • Conception: la conception peut se faire à partir d'une maquette graphique ou directement HTML. Généralement, il sera apporté une attention particulière au Design du Gadget puisque suivant le scénario d'utilisation final, le gadget pourra s'adresser au grand public. Il ne faut pas sous-estimer ni négliger l'aspect visuel du Gadget ainsi que les différentes possibilités de rendu au travers du volet, du mode ancré ou du mode flottant.
  • Développement: Utiliser votre outil de développement favori orienté Web. Un Gadget est composé d'une page HTML et peut-être visualisé dans un navigateur tant qu'il n'utilise pas le modèle objet propre aux Gadgets. Il est tout à fait possible d'utiliser des variables de deboggage pour tester dans différentes environnements (navigateur ou Sidebar).
  • Tests: Les tests les plus appropriés se feront dans la Sidebar. C'est tests se font localement sans déploiement préalable sur un serveur. Le Gadget est un petit module qui s'installe sur une machine locale et s'exécute dans la Sidebar locale. Cela n'empêche en rien d'accéder à des ressources sur le Web. Il faudra donc, comme tout projet, prévoir différents scénarii de tests permettant de valider les fonctionnalités supportées par le Gadget (mode connecté/déconnecté, etc.) et au final de le recetter. A chaque évolution, il est nécessaire de redéployer le Gadget pour le tester (double-clique sur le package .gadget) sauf si vous faites vos évolutions directement sur le code du gadget installé mais dans ce cas, il vous faudra tout de même fermer le Gadget dans la Sidebar et le resélectionner dans la liste des Gadgets installés.
  • Déploiement: Un Gadget se déploit sous la forme d'un fichier ZIP renommer avec l'extension ".gadget" rassemblant toutes les ressources (HTML, JS, Images, CSS...) nécessaires à son exécution. Ce fichier package peut ensuite être publié sur la gallerie des Gadgets en ligne et soumis à validation ou bien simplement publié sur un site Web (Interne ou externe) et référencé par un lien. Windows Vista détecte automatiquement le téléchargement d'une extension .gadget et affiche la fenêtre d'installation reprenant les informations disponibles dans le fichier gadget.xml présent dans le package.
  • Validation/Certification: La validation est faite généralement sous 48h00 lorsque le Gadget est publié sur la gallerie des Gadgets en ligne. Il est possible de demander à certifier le Gadget. Dans ce cas, il sera nécessaire de vous tourner vers votre interlocuteur chez Microsoft pour initier cette procédure. La certification est une revue approfondie des éléments composant le Gadget.

Gadgets may also be debugged when a debugger capable of debugging script is installed. Microsoft Visual Studio is one such debugger. To enable gadget debugging, you must visit the Internet Options control panel. Choose the Advanced tab, then ensure the option to 'Disable script debugging (Other)' is unchecked. For more information about script debugging, please refer to the appropriate documentation for your development environment.

La gestion de version et les mises à jour

La gestion de version pour un Gadget est très basique et se fait au moyen d'un tag version dans le fichier manifest gadget.xml. L'installation d'un Gadget dont le tag version a été mis à jour (sans modifier les autres tags) entraîne le remplacement de la version antérieure la plus proche à partir du moment où le pakcage .gadget porte le même nom. Ainsi en conservant le même nom de pakacge .gadget mais en altérant les différents champs du fichier gadget.xml, l'installation entraîne le remplacement de la version antérieure la plus proche. Ces informations sont basées sur des tests et observations personnels et sont sujettes à modifications.

Exemples de Gadgets

Les exemples de gadgets ci-dessous vous permettront de vous familiariser avec cette technologie:

La plupart de ces gadgets sont simples et ont demandé un effort de développement de l'ordre de la journée. Un design complexe, une intégration de services web, un code plus avancé demanderont des efforts supplémentaires en terme de journée de travail et de tests.

Démarrez vos développements de Gadgets!

Pour cela, téléchargez la dernière version de Windows Vista!

Et poster vos questions sur les forums pour du support.