Bonjour à tous,

J'aimerai pouvoir utiliser des composants web qui ont
-> un rendu visuel différent en fonction du site web sur lequel ils sont appelés
-> un nombre de champs différents en fonction du site web sur lequel ils sont appelés

Exemple, un composant formulaire permettant de saisir uniquement l'adresse du client ou un composant authentification (login + MDP)

Sur le site X, le composant login se présente dans un theme de couleur rouge et sur le site Y avec une dominante bleu

Sur le site X, le composant adresse se présente présente n champs et sur le site Y, il reprend les n champs de base + le champ "Digicode" par exemple.

Quelle technologie me conseillez vous d'utiliser ?

Un widget peut il répondre à mon besoin ?

Le but étant d'éviter de redévelopper pour chaque site mais de réutiliser et d'intégrer le composant dans chaque site.

Si le composant évolue alors il évolue sur chaque site...

Merci pour votre aide !
cooluche a écrit :
Quelle technologie me conseillez vous d'utiliser ?

La technologie serveur que tu utilises déjà. Si tu développes des sites en PHP, eh bien tu peux créer une classe PHP. Si tu développes des sites avec Django, tu voudras peut-être créer une application Django. Si tu développes des sites avec Drupal, tu voudras sans doute créer un module Drupal. Etc.

cooluche a écrit :
Un widget peut il répondre à mon besoin ?

Je ne pense pas. Ce n'est pas impossible, mais je n'en vois pas l'intérêt.
Bon après ça depend de ce que tu entends par widget. Moi je pense à ça: http://www.w3.org/TR/widgets/ mais tu avais peut-être autre chose en tête.

cooluche a écrit :
Le but étant d'éviter de redévelopper pour chaque site mais de réutiliser et d'intégrer le composant dans chaque site.

C'est le principe d'une classe dans un langage orienté object (PHP, Python, Ruby, etc.). Ensuite, sur chaque site, tu instancies la classe et tu modifies des variables de configuration. Enfin ça dépend de comment tu as développé ta classe ou ton module.

cooluche a écrit :
Si le composant évolue alors il évolue sur chaque site...

Ce qui est intéressant dans l'absolu mais peut poser des problèmes en pratique. Une modification apportée peut très bien passer sur la plupart des sites, et poser un problème dans un cas particulier. En général on développe une base de code, que l'on versionne, et pour un projet donné on utilise la dernière version (ou la dernière version stable). Ensuite, on peut remplacer la version N par une version N+x lorsqu'on revient sur le projet pour une maintenance ou une évolution, mais ça suppose une phase de test pour vérifier que la version N+x ne pose pas de problème dans ce cas précis.
Modifié par Florent V. (19 Oct 2009 - 16:32)