Requêtes — vue d'ensemble
Une requête dans Liberty est une instruction SQL nommée rattachée à un connecteur (lui-même rattaché à un pool, c'est-à-dire à une base de données). Les écrans, tableaux de bord, graphiques, lookups et séquences du dictionnaire, ainsi que l'assistant IA, s'appuient tous sur des requêtes — ajouter une requête est donc la modification la plus fréquente dans les pages de Liberty Next.
La page qui gère les requêtes est Liberty Next → Construire → Connecteurs. Cette vue d'ensemble en dresse la carte ; les pages suivantes détaillent chaque chemin d'ajout.
La page Connecteurs en un coup d'œil
Trois zones :
| Zone | Contenu |
|---|---|
| Barre d'outils haute | Actions globales — + Connecteur, Abandonner, Enregistrer. Le bouton Enregistrer écrit le fichier connecteur et déclenche un rechargement à chaud — aucun redémarrage de processus n'est nécessaire. |
| Navigation gauche | Deux groupes : Applications (connecteurs dotés d'un menu — ce sont les applications visibles dans le sélecteur du haut) et Sources de données (connecteurs qui alimentent en données mais n'apparaissent pas dans le sélecteur). Cliquer sur un nom l'ouvre à droite. |
| Volet droit | L'éditeur du connecteur sélectionné. Une barre de modes en haut permet de choisir l'une des cinq vues — Paramètres…, Tables, Requêtes, Séquences, Lookups. |
Les quatre types de requêtes
Un connecteur range ses requêtes en quatre sections ; la section où se trouve une requête en définit le type :
| Vue | Contenu |
|---|---|
| Tables | Une entrée par table, avec jusqu'à quatre requêtes : get (lecture), post (insertion), put (mise à jour), delete (suppression). Elles se nomment <table>_get, <table>_post, <table>_put, <table>_delete. La liste affiche une ligne par table avec ses badges (GET / PUT / POS / DEL). |
| Requêtes | Les requêtes indépendantes d'une table — rapports, traitements en masse, requêtes appelées par des actions, des graphiques ou des tableaux de bord. Exemple : monthly_revenue, purge_old_logs. |
| Séquences | Les requêtes qui renvoient le numéro suivant d'une séquence du dictionnaire. Corps typique : SELECT COALESCE(MAX(<col>), 0) + 1 FROM <table>. |
| Lookups | Les requêtes qui renvoient codes et libellés pour un lookup du dictionnaire. Corps typique : SELECT <value>, <label> FROM <table>. |
Changer le type déplace une requête vers une autre section — par exemple une requête écrite sous Requêtes qui sert finalement à un lookup. Quand le déplacement change le nom de la requête (une requête de table devient indépendante, ou l'inverse), un avertissement indique le nouveau nom : les écrans, actions et entrées du dictionnaire qui utilisent l'ancien nom sont à mettre à jour.
Les boutons d'ajout — un par vue
| Vue | Bouton | Ce qui s'ouvre |
|---|---|---|
| Tables | + Ajouter des requêtes | Un choix : Générer depuis la BDD (l'assistant CRUD — lit la table dans la base et génère les quatre requêtes) ou Squelette vide (demande un nom de table et crée une requête de lecture vide). |
| Requêtes | + Ajouter une requête | La saisie d'un nom, puis une requête vide à écrire à la main. |
| Séquences | + Ajouter une séquence | L'assistant de génération — choix d'une table et d'une colonne clé, aperçu du SQL, enregistrement : il écrit la requête et la séquence du dictionnaire. |
| Lookups | + Ajouter un lookup | L'assistant de génération — choix d'une table, d'une colonne valeur, d'une colonne libellé et d'un filtre facultatif, enregistrement : il écrit la requête et le lookup du dictionnaire. |
Les pages suivantes détaillent chaque chemin.
Contenu d'une requête
L'éditeur de requête présente ces champs :
| Champ | Requis | Rôle |
|---|---|---|
| Name | Oui | Unique au sein du connecteur. La permission de la requête est sql:<connecteur>:<nom>. Se modifie avec Renommer, qui met à jour toutes les références. |
| SQL | Oui | L'instruction, avec ses paramètres :nom. Un texte unique, ou une variante par base de données (default obligatoire) — voir Variantes SQL par dialecte. |
| Writable | Non (désactivé) | Désactivé, seul un SELECT est accepté. Activé pour INSERT / UPDATE / DELETE / CALL. |
| Params | Non | Les paramètres déclarés (name, label, default) — un libellé et une valeur par défaut pour chaque :nom. |
| Label | Non | Nom court affiché dans les listes. |
| Description | Non | Ce que renvoie la requête — affiché sous le nom de la table dans la liste Tables. |
Enregistrer et recharger — ce que fait un clic
L'enregistrement de cette page est atomique sur deux fichiers quand c'est nécessaire :
| Action effectuée | Ce qui est écrit |
|---|---|
| Création ou modification d'une table ou d'une requête | Le fichier du connecteur. |
| Utilisation de l'assistant de génération pour une séquence ou un lookup | Le fichier du connecteur et le dictionnaire (la nouvelle séquence ou le nouveau lookup dans la portée du connecteur). |
| Duplication d'un connecteur (application entière) | Une écriture multi-fichiers qui copie le surcouche du dictionnaire, les écrans, le menu, les graphiques et les tableaux de bord sous le nouveau nom. Passe par un endpoint dédié. |
| Renommage d'un connecteur, d'une requête ou d'une table | Une mise à jour multi-fichiers qui touche chaque référence (écrans, menus, dictionnaire, graphiques, tableaux de bord). Refuse de s'exécuter quand des modifications locales ne sont pas enregistrées. |
Après chaque enregistrement, le framework lance automatiquement un rechargement à chaud. La nouvelle requête est appelable immédiatement — pas de redémarrage, pas de déconnexion.
Carte rapide
| Objectif | À lire |
|---|---|
| Générer les quatre requêtes CRUD à partir d'une table réelle de la base. | Créer depuis une table de base — le parcours par assistant, recommandé quand la table existe. |
| Écrire une requête personnalisée (isolée, manuelle). | Créer une requête personnalisée. |
| Faire une copie d'une requête existante ou de toute une application. | Dupliquer une requête ou un connecteur. |
| Ajouter une séquence (numéro suivant) ou un lookup (source d'une liste déroulante). | Séquences et lookups. |
| Passer des valeurs à une requête — valeurs fixes, autres colonnes, utilisateur connecté. | Liaison de paramètres. |
| Livrer un SQL différent pour Postgres et Oracle. | Variantes SQL par dialecte. |
Et ensuite
- Créer depuis une table de base — à lire en premier quand la table existe déjà dans la base.
- Concepts → Connecteurs — la référence détaillée derrière cette page (types de connecteurs, pools, cycle de vie d'une requête).