8796 sujets

Développement web côté serveur, CMS

Hello à tous,

je souhaite créer un configurateur de produit qui ressemblerait à celui disponible sur le site de Synology (https://www.synology.com/fr-fr/support/nas_selector) mais j'avoue n'avoir aucune idée de comment faire cela, je ne sais pas du tout par quoi commencer.

Bien sûr je ne viens pas demander qu'on me le fasse gratuitement "pour le sport", j'aurais juste besoin de savoir si cela est réalisable et vers quoi me tourner pour savoir par quoi démarrer.

Donc si quelqu'un à une idée et saurait vers où m'orienter, je suis preneur Smiley biggrin

Merci

modération : j'ai réédité ce post afin que l'url exemple soit cliquable
Modifié par Niuxe (20 Jun 2025 - 10:12)
Bonjour,

En fait, si vous regardez bien le comportement de votre exemple, il ne s'agit que de pages web qui proposent des liens vers d'autres pages web, exetera. Les liens sont présentés sous forme de boutons proposant l'option choisie.

Rien de bien compliqué au final.
Les langages qui ne me posent pas trop de souci : html, css (oui je sais c'est pas vraiment des langages), php, sql et js. Python je connais un peu, possible aussi je pense avec un peu de travail perso.

Pour l'exemple, pas sûr que ce soit que des pages qui se suivent car passé la 1ère sélection (domicile et entreprise, affaires ou entreprise), les pages suivantes changent à la volée en fonction des options sélectionnées.
De plus, les propositions finales changent en fonction des options, donc je suppose qu'il y a aussi de la BDD la dedans.

A voir si vous avez d'autres pistes, sinon je tenterai déjà avec des successions de pages et des blocs cachés qui s'affichent en fonction des zones cliquées.
Modérateur
Bonjour,

On peut faire ça avec des formulaire en html, chaque nouveau formulaire étant construit à la volée avec du code php en fonction des réponses de l'utilisateur dans les pages précédentes.

J'ai jeté un coup d'oeil rapide au code de l'exemple que tu as donné : inutilement compliqué (mais quasiment toutes les pages web actuelles sont inutilement compliquées).

Amicalement,
connecté
Modérateur
parsimonhi a écrit :
Bonjour,

On peut faire ça avec des formulaire en html, chaque nouveau formulaire étant construit à la volée avec du code php en fonction des réponses de l'utilisateur dans les pages précédentes.

J'ai jeté un coup d'oeil rapide au code de l'exemple que tu as donné : inutilement compliqué (mais quasiment toutes les pages web actuelles sont inutilement compliquées).

Amicalement,


En effet, c'est simple à faire, mais un peu long à développer. En estimation : entre 5 et 8.

Lorsque j'ai répondu, j'avais commencé à rédiger un bout de réponse. Mais je me suis dit que c'était un peu peine perdue. Si je propose un bout de réponse en Python ou en PHP alors qu'il va coder en Java.

@Wibex:
En tout cas, j'ai identifié ceci : le départ commence en SQL. Pas forcément, je le sais. Mais pour une évolution et maintenance, ce sera mieux je pense.

- Je pense que ce genre d'objets (ci-dessous) donne une idée de scénario comme piste à suivre
- ensuite, il suffit de filtrer la liste des produits suivant leurs attributs filtrés (builder et/ou chaine de responsabilité)

Le faire en PHP, pourquoi pas. Cependant, il y aura forcément plusieurs requêtes serveur. Or, en JS, on peut tout à fait gérer ça. Le code métier sera identique.


steps = {
    'Domicile': {
        'serveur': [
            '1-5', 
            '6-10',
            'plus de 10'
        ],
        'sauvegarde': [
            '1-5', 
            '6-10',
            'plus de 10'
        ],
        'concentrateur multimedia': [
            'oui',
            'non'
        ],
        'etc.': [
            'etc.'
        ]
    },
    'Entreprise': { 
        'etc.' : 'etc.'       
    }
}


Olivier C a écrit :
Bonjour,

En fait, si vous regardez bien le comportement de votre exemple, il ne s'agit que de pages web qui proposent des liens vers d'autres pages web, exetera. Les liens sont présentés sous forme de boutons proposant l'option choisie.

Rien de bien compliqué au final.


Attention, ça reste un formulaire (en GET). Il est en plusieurs étapes. On peut le découper en plusieurs formulaires comme le suggère notre ami parsimonhi. Personnellement, je le ferai en un seul formulaire en plusieurs étapes et j'utiliserai aussi le JS. Au passage, Svelte/Vue/React/etc. ne sont pas du tout utiles. Le tank pour tuer une mouche.
Modifié par Niuxe (20 Jun 2025 - 12:47)