5.2Paramètres dynamiques & en cascade
Le niveau 5 approfondit les paramètres avec deux capacités avancées très utiles. (1) Les PARAMÈTRES DYNAMIQUES : rappel du niveau 2, une liste de valeurs pour un paramètre peut être STATIQUE (une liste fixe que vous définissez : les mois, des statuts) ou DYNAMIQUE (alimentée AUTOMATIQUEMENT par la BASE DE DONNÉES). Un paramètre dynamique interroge la base pour proposer, par exemple, la liste RÉELLE et À JOUR des clients, des produits, des régions — au lieu d'une liste figée. Avantage majeur : la liste reflète toujours les données actuelles (un nouveau client apparaît automatiquement dans le choix) et évite les fautes de saisie. On configure la liste de valeurs du paramètre en mode « dynamique », en pointant vers le champ de la base qui fournit les valeurs. (2) Les PARAMÈTRES EN CASCADE (Cascading) : plusieurs paramètres LIÉS où le choix du premier FILTRE les valeurs proposées pour le second. Exemple classique : choisir d'abord un PAYS, ce qui restreint la liste des RÉGIONS à celles du pays choisi, ce qui restreint ensuite la liste des VILLES à celles de la région. Une hiérarchie de choix guidée.
Pourquoi les paramètres dynamiques et en cascade sont précieux. (1) Ils rendent les invites INTELLIGENTES et à jour : l'utilisateur choisit parmi les valeurs RÉELLES de la base (pas une liste figée qui se périme). (2) La CASCADE guide l'utilisateur dans une hiérarchie logique (pays → région → ville) et RÉDUIT les listes (au lieu d'une liste géante de toutes les villes, seulement celles de la région choisie) — plus rapide et moins d'erreurs. (3) Ils améliorent grandement l'EXPÉRIENCE et la FIABILITÉ (moins de saisies libres erronées). Points importants. (1) Un paramètre DYNAMIQUE tire sa liste de valeurs de la BASE (toujours à jour, réel) — bien supérieur à une liste statique pour des valeurs qui changent (clients, produits). (2) Les paramètres EN CASCADE lient des choix hiérarchiques (le premier filtre le suivant) — pour guider et réduire les listes. (3) Ces listes dynamiques impliquent une REQUÊTE à la base à l'ouverture (pour peupler les listes) — attention à la performance si les listes sont énormes (envisager de les limiter). (4) On peut mémoriser/mettre en cache les listes de valeurs pour la performance. (5) Ils s'intègrent à la sélection des enregistrements comme tout paramètre (le filtrage reste à concevoir côté serveur). Maîtriser les paramètres dynamiques et en cascade permet de créer des invites PROFESSIONNELLES : des listes à jour, guidées et fiables, qui rendent les rapports agréables et sûrs à utiliser — un vrai plus pour des rapports destinés à d'autres utilisateurs. C'est le raffinement de l'interactivité vue au niveau 2.
Vocabulaire de la section
- Paramètre dynamique
- Un paramètre dont la LISTE de valeurs est alimentée AUTOMATIQUEMENT par la BASE (la liste réelle et à jour des clients, produits, régions) — au lieu d'une liste statique figée.
- Liste statique vs dynamique
- Statique : liste fixe que vous définissez (mois, statuts). Dynamique : tirée de la base (toujours à jour, réelle). La dynamique est supérieure pour des valeurs qui changent.
- Paramètres en cascade (Cascading)
- Plusieurs paramètres LIÉS où le choix du premier FILTRE les valeurs du second : pays → région (du pays) → ville (de la région). Une hiérarchie de choix guidée.
- Avantages
- Invites à JOUR (valeurs réelles de la base), GUIDÉES (cascade hiérarchique), listes RÉDUITES (le choix précédent restreint le suivant), moins d'erreurs de saisie — meilleure expérience et fiabilité.
- Coût des listes dynamiques
- Peupler une liste dynamique implique une REQUÊTE à la base à l'ouverture ; attention à la performance si les listes sont énormes (limiter/mettre en cache).
Quel est l'intérêt d'un paramètre DYNAMIQUE (liste tirée de la base) ?
En pratique — Créer des paramètres dynamiques et en cascade
- Configurez un paramètre en liste DYNAMIQUE : pointez vers le champ de la base qui fournit les valeurs (ex. la liste des clients) — elle sera toujours à jour.
- Créez des paramètres EN CASCADE : liez pays → région → ville, de sorte que chaque choix restreigne la liste du suivant.
- Intégrez ces paramètres à la sélection des enregistrements (filtrage côté serveur) comme tout paramètre.
- Vérifiez l'expérience à l'exécution (listes à jour, guidées, réduites) et surveillez la performance si les listes sont volumineuses (limiter/cacher).
Points clés à retenir
- Paramètre DYNAMIQUE : sa LISTE de valeurs est tirée AUTOMATIQUEMENT de la BASE (liste réelle et à jour des clients/produits/régions) — bien supérieur à une liste STATIQUE figée pour des valeurs qui changent.
- Paramètres EN CASCADE : plusieurs paramètres liés où le choix du premier FILTRE le second (pays → région → ville). Guide l'utilisateur dans une hiérarchie et RÉDUIT les listes.
- Avantages : invites à JOUR (valeurs réelles), GUIDÉES, listes réduites, moins d'erreurs de saisie → meilleure EXPÉRIENCE et FIABILITÉ. Idéal pour des rapports destinés à d'autres utilisateurs.
- Attention : les listes dynamiques impliquent une REQUÊTE à la base à l'ouverture (performance si listes énormes → limiter/mettre en cache). Ils s'intègrent à la sélection comme tout paramètre (filtrage à concevoir côté serveur).
Questions fréquentes
Quel est l'intérêt d'un paramètre dynamique par rapport à une liste de valeurs statique ?
Un paramètre dynamique tire sa liste de valeurs de la BASE DE DONNÉES (donc toujours à jour et réelle), là où une liste statique est figée et doit être maintenue à la main — la différence est majeure pour la fiabilité et la maintenance. La liste STATIQUE : (1) Vous DÉFINISSEZ manuellement les valeurs proposées (vous tapez la liste). (2) Avantages : simple, rapide à créer, pas de requête à la base ; convient pour des valeurs FIXES et peu nombreuses qui ne changent pas (les mois de l'année, un ensemble de statuts « Actif/Suspendu/Fermé », des tranches). (3) Inconvénient majeur : elle est FIGÉE — si les valeurs réelles changent (un nouveau client, un nouveau produit, une nouvelle région), la liste ne se met PAS à jour toute seule ; il faut la MODIFIER à la main dans le rapport. Pour des valeurs qui évoluent, elle se PÉRIME (un nouveau client n'apparaît pas dans le choix). La liste DYNAMIQUE : (1) La liste est alimentée AUTOMATIQUEMENT par la base : Crystal interroge le champ correspondant et propose les valeurs RÉELLES présentes (la liste actuelle des clients, des produits…). (2) Avantages : (a) TOUJOURS À JOUR — un nouveau client/produit apparaît automatiquement dans le choix, sans modifier le rapport ; (b) RÉELLE — elle reflète les vraies données (pas de valeur inventée ou obsolète) ; (c) évite les FAUTES de saisie (l'utilisateur choisit dans la liste réelle plutôt que de taper) ; (d) aucune MAINTENANCE de la liste (elle se met à jour seule). (3) Inconvénient : peupler la liste implique une REQUÊTE à la base à l'ouverture (léger coût), et si la liste est ÉNORME (des centaines de milliers de valeurs), cela peut être lent — à limiter/mettre en cache. Quand utiliser chacun : (1) Valeurs FIXES, peu nombreuses, qui ne changent pas (mois, statuts prédéfinis, tranches) → liste STATIQUE (simple, suffisante). (2) Valeurs qui ÉVOLUENT ou proviennent de la base (clients, produits, régions, fournisseurs) → liste DYNAMIQUE (à jour, réelle, sans maintenance). C'est le cas le plus fréquent pour les entités métier. (3) Si la liste dynamique est énorme, envisagez de la LIMITER (filtrer les valeurs proposées) ou la combiner à une cascade (réduire par un choix préalable). L'intérêt concret : (1) Fiabilité : l'utilisateur choisit parmi les valeurs qui EXISTENT vraiment (pas de client obsolète, pas de faute de frappe). (2) Maintenance nulle : plus besoin de mettre à jour la liste à la main quand les données changent — un gain énorme pour des rapports durables. (3) Expérience : des choix pertinents et à jour. En résumé : un paramètre DYNAMIQUE tire sa liste de la BASE (toujours à jour, réelle, sans maintenance, moins d'erreurs de saisie), tandis qu'une liste STATIQUE est figée et doit être maintenue à la main. Utilisez le STATIQUE pour des valeurs fixes et peu nombreuses (mois, statuts) ; préférez le DYNAMIQUE pour des valeurs qui évoluent ou viennent de la base (clients, produits) — c'est bien plus fiable et sans maintenance. Le seul point d'attention est le coût de la requête pour peupler la liste (limiter/mettre en cache si énorme). Les paramètres dynamiques rendent les invites professionnelles et durables — un vrai plus pour des rapports utilisés dans le temps par d'autres.
Comment les paramètres en cascade améliorent-ils l'expérience utilisateur ?
Les paramètres en cascade lient plusieurs choix hiérarchiques de sorte que chaque sélection FILTRE les valeurs du choix suivant — ce qui guide l'utilisateur, réduit les listes et évite les combinaisons invalides. Le principe : (1) Plusieurs paramètres sont ORGANISÉS en hiérarchie (pays → région → ville, ou catégorie → sous-catégorie → produit). (2) Le choix du PREMIER paramètre FILTRE les valeurs proposées pour le DEUXIÈME, qui filtre à son tour le TROISIÈME. (3) Exemple : l'utilisateur choisit d'abord un PAYS (« France ») ; la liste des RÉGIONS se restreint aux régions de France ; il choisit une région ; la liste des VILLES se restreint aux villes de cette région. Chaque niveau dépend du précédent. Les améliorations pour l'utilisateur : (1) Listes RÉDUITES et pertinentes. Au lieu d'une liste GÉANTE de toutes les villes (des milliers), l'utilisateur ne voit que les villes de la région qu'il a choisie (quelques-unes). Choisir dans une petite liste ciblée est bien plus rapide et facile que de chercher dans une liste énorme. (2) GUIDAGE hiérarchique. La cascade guide l'utilisateur dans une logique naturelle (du général au précis : pays puis région puis ville) — intuitif, structuré. Il n'a pas à connaître d'emblée la valeur précise ; il descend la hiérarchie. (3) Moins d'ERREURS et de combinaisons INVALIDES. Comme chaque choix filtre le suivant, l'utilisateur ne peut pas sélectionner une combinaison incohérente (une ville qui n'appartient pas à la région choisie) — les valeurs proposées sont toujours cohérentes avec les choix précédents. Cela évite les rapports vides ou faux dus à des combinaisons impossibles. (4) RAPIDITÉ. Trouver la bonne valeur est plus rapide (petites listes filtrées) qu'en parcourant une liste exhaustive. (5) Combinée aux listes DYNAMIQUES (tirées de la base), la cascade propose des valeurs à la fois à jour ET filtrées — le summum de l'invite intelligente. Les cas d'usage typiques : (1) Géographie : pays → région → ville / département → commune. (2) Produits : catégorie → sous-catégorie → produit. (3) Organisation : direction → service → équipe. (4) Toute hiérarchie où un niveau contient les valeurs du niveau inférieur. Comment les mettre en place : (1) Définir une liste de valeurs (idéalement dynamique) qui contient les champs de la hiérarchie (pays, région, ville). (2) Configurer les paramètres en CASCADE en indiquant l'ordre hiérarchique et le champ de chaque niveau. (3) Crystal filtre automatiquement chaque niveau selon le choix du précédent. Les points d'attention : (1) La hiérarchie doit être LOGIQUE et refléter la structure des données (le niveau supérieur contient bien les valeurs du niveau inférieur). (2) PERFORMANCE : peupler les listes (surtout dynamiques) implique des requêtes ; sur de gros volumes, la cascade AIDE justement en réduisant les listes, mais surveillez le coût de peuplement. (3) L'ordre des niveaux doit aller du plus général au plus précis. En résumé : les paramètres en cascade améliorent l'expérience en LIANT des choix hiérarchiques (chaque sélection filtre le suivant : pays → région → ville), ce qui RÉDUIT les listes (petites listes ciblées au lieu d'énormes listes), GUIDE l'utilisateur dans une logique naturelle (du général au précis), évite les COMBINAISONS INVALIDES (valeurs toujours cohérentes avec les choix précédents) et accélère la sélection. Combinés aux listes dynamiques (à jour), ils offrent des invites intelligentes, guidées et fiables. C'est un raffinement précieux pour des rapports destinés à des utilisateurs qui doivent choisir parmi des données hiérarchiques — l'expérience devient fluide, rapide et sans erreur.