Bonjour,

Débutant par ici, je ne savais pas où poster et encore moins quel titre choisir
Si jamais le sujet n'est pas à la bonne place ou que vous avez un meilleur titre, je suis preneur de toutes les suggestions.

Dans un projet que je dois réaliser, je dois concevoir une application qui gère un produit de la création à la vente (en passant par la commande, la facturation, la livraison, etc, etc ...)

Sauf que le produit doit être personnalisable à souhait et là, je coince pour connaître le type de mon produit. Je donne un exemple :

Type de produit : Appareil électronique.

-------> Ordinateurs
---> Ordinateurs portable
-> plein plein de marques/configuration/...
---> Ordinateurs de bureaux
-> plein plein de marques/configuration/...

-------> Téléphones
---> Téléphone portable
-> plein plein de marques/références/...
---> Téléphone fixes
-> plein plein de marques/références/...

-------> Téléviseurs
---> 3D
---> LCD
---> Plat

Bref, à part le type initial, tout le reste n'est pas défini d'avance.
Il faudra que l'utilisateur puisse personnaliser son produit comme bon lui semble.

Ainsi, un administrateur (utilisateur) peut ajouter des types, marques, etc, etc et un client (utilisateur) peut choisir ce que l'administrateur propose.

Mon soucis, c'est comment pouvoir modéliser la variable "Appareil électronique", sachant qu'il faudra que l'administrateur puisse ajouter des "types" pour chaque sous-ensemble.

J'ai envisagé deux solutions :

1- Un arbre n-aire

Avec cette solution, mon soucis se situe dans les nœuds.

La composition du noeud n'est pas forcément commune.
Par exemple, la propriété que je veux mettre en évidence dans un nœud peut être un entier (résolution, hauteur, largeur, prix, poids), un booléen (l'absence/présence d'une option) ou encore une chaîne (un nom, code, ...)

2- Un objet

J'ai pensé à l'utilisation des objets & des classes.
Le principe d'héritage était assez intéressant.

Mais là, j'ai coincé au niveau du fait que l'utilisateur ne peut pas ajouter (à ce que je sache) des classes descendantes et du coup, le principe est presque inutilisable ici, à moins de TOUT définir au début ce qui n'est pas réalisable/réaliste/demandé.



Donc, voilà !

- Étais-je assez clair?
- Comment puis je faire?

En gros, ce qui est demandé ici, c'est une structure qui puisse définir n'importe quel objet selon des options & choix bien définis.

Merci de vos réponse.