Silverlight est une technologie très jeune, la preuve en est, la version 1.0 est en téléchargement depuis le 5 Septembre 2007. Comme le souligne le site officiel dédié à cette technologie, Silverlight est une technologie qui met à disposition des développeurs les outils adéquats pour réaliser des composants riches et des applications de type « Rich Internet Application ». Dès lors se dessine deux approches à bien dissocier. D’une part on parlera d’ « approche par composant » et d’autre part d’ « approche tout Silverlight ». Ces deux approches sont fondamentalement différentes et soulèvent chacune leur propre problématique en terme de développement mais aussi d’accessibilité.
Attention, au cours de ce post je dissocie volontairement le terme « approche par composant » et le terme « approche par composant HTML ». J’entends par « approche par composant HTM L » : un object HTML (dans le cadre de Silverlight). Et « approche par composant » une méthodologie de développement commune à la plupart des langages de programmation.
L’approche tout Silverlight :
Sans doute la plus simple à appréhender en terme de développement et sans doute la plus répandue et utilisée, il s’agit de confier à Silverlight toute la logique d’interface de votre application. Qui dit « tout Silverlight » dit, une balise OBJECT dans vos documents HTML. (Ndlr : c’est les intégrateurs qui vont être content...) avec toutes les limites qu’impose ce type de balise d’un point de vu sémantique. Vous l’aurez sans doute compris, cette approche soulève des problématiques d’accessibilité et de référencement pour votre application web. Aucune solution viable et déontologiquement acceptée des moteurs de recherche n’a encore été apporté à ces problématiques.
Ceci étant dit cette approche n’est surtout pas à bannir. Il existe des cas assez spécifique où cette approche du « tout » Silverlight pourrait être à prescrire. Prenons par exemple un site tel que la SNCF (
voyages-sncf.com). Actuellement, le processus de commande de billet de train peut avoisiner les 12 pages et 20 clics selon votre type de règlement si le processus se déroule correctement (train non remplie, circule à l’horaire demandée, etc.). Pour ce qui est du référencement, dans ce cas précis, la SNCF n’a aucun intérêt à faire référencer ces formulaires de réservation… Silverlight n’aurait-il pas, ici, une carte à jouer en termes d’ergonomie mais aussi en termes d’expérience utilisateur ?
Ce type d’approche peut aussi être utilisé dans les sites de présentation ayant une forte interactivité avec des médias, par exemple, des sites d’artistes, maisons de disques, de film, etc. tout comme le fait déjà la technologie Flash. Pour terminer on pourrait retrouver aussi l’approche « tout » Silverlight dans des logiques d’application interne et propriétaire tel que les intranets.
Attention ce type d’approche n’exclu pas la méthodologie de travail par composant bien au contraire !
L’approche par Composant HTML :
Cette approche consiste à créer de multiples composants pour répondre à toutes les problématiques de votre application. Chaque composant sera représenté par un objet Silverlight. Ceci aura donc pour effet de parsemer votre document HTML de plug-in Silverlight. Chaque composant a une tache dédiée qui lui est propre en terme de fonctionnel, il peut être autonome comme travailler avec un autre composant HTML. On utilise généralement cette approche pour venir greffer, enrichir des éléments déjà existants. Un exemple concret de ce type de développement est par exemple la création de composant HTML de formulaire. Vous pouvez dors et déjà en lire plus à ce propos dans mes posts « Silverlight, Enrichissez vos formulaires ! » & « Silverlight : Les contrôles personnalisés ». Bien entendu avec Silverlight 1.0 il est un peu trop tôt pour parler de composant au sens strict du terme mais la méthodologie peut déjà être appliquée.
L’un des gros points fort de cette approche s’évalue en termes de production. Un composant bien pensé, pourra être réutilisé dans divers projet. C’est donc ni plus ni moins une façon de capitaliser votre temps de développement.
Cette approche par composant HTML quant à elle soulève d’un point de vue purement pratique d’autres problématiques que la précédente. Comment insérer plusieurs instances de Silverlight dans une seule et même pages ? Comment faire communiquer ces composants entre eux ? Tant de questions auxquelles je tenterais de répondre via ce blog dans les jours à venir.
Conclusion
Vous l’aurez compris il existe deux grands axes de développement en Silverlight. Avant de mettre en place une telle technologie au sein d’une application web, il est primordial de se poser la question de si oui ou non Silverlight peut apporter un réel plus à votre application. Si Silverlight peut apporter une valeur ajoutée en terme d’usage alors il ne faut pas hésiter. Il ne vous reste plus qu’à faire le choix le plus pertinent en partenariat avec votre client en ce qui concerne l’approche de développement que vous souhaitez mettre en place.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :