4D v12.4Lire parametre base |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
Lire parametre base
|
Lire parametre base ( {laTable ;} sélecteur {; valeurAlpha} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
laTable | Table |
![]() |
Table du paramètre ou Table par défaut si ce paramètre est omis | |||||
sélecteur | Entier long |
![]() |
Code du paramètre de la base | |||||
valeurAlpha | Chaîne |
![]() |
Valeur alpha du paramètre | |||||
Résultat | Réel |
![]() |
Valeur du paramètre | |||||
La commande Lire parametre base permet de lire la valeur courante d'un paramètre de la base 4D. Lorsque la valeur du paramètre est une chaîne de caractères, elle est retournée dans le paramètre valeurAlpha.
sélecteur désigne le paramètre de la base à lire. 4D vous propose les constantes prédéfinies suivantes, placées dans le thème “Paramètres de la base” :
Constante | Type | Valeur | Commentaire |
Ratio de tri séq | Entier long | 1 | **** Sélecteur inactivé **** |
Optimisation accès séq | Entier long | 2 | **** Sélecteur inactivé **** |
Ratio valeurs distinctes séq | Entier long | 3 | **** Sélecteur inactivé **** |
Compression index | Entier long | 4 | **** Sélecteur inactivé **** |
Ratio chercher dans sélec séq | Entier long | 5 | **** Sélecteur inactivé **** |
Minimum process Web | Entier long | 6 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs possibles : 0 -> 32 767 Description : Nombre minimum de process Web à maintenir en mode sans contexte avec 4D en mode local et 4D Server. Par défaut, la valeur est 0 (cf. ci-dessous). |
Maximum process Web | Entier long | 7 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs possibles : 0 -> 32 767 Description : Nombre maximum de process Web à maintenir en mode sans contexte avec 4D en mode local et 4D Server. Par défaut, la valeur est 10. Afin que le serveur Web soit réactif, en mode sans contexte, 4D maintient endormis les process Web pendant 5 secondes, et les réutilise pour traiter les éventuelles requêtes HTTP suivantes. En termes de performances, ce principe est en effet plus avantageux que la création d’un nouveau process à chaque requête. Une fois un process Web réutilisé, il est à nouveau endormi pour 5 secondes, sauf si le nombre maximum de process Web est dépassé (auquel cas il est tué). Si aucune requête n’a été attribuée à un process Web durant les 5 secondes, il est tué, sauf si un nombre minimum de process Web a été fixé et est atteint (auquel cas il est à nouveau endormi). Ces paramètres vous permettent d’ajuster le fonctionnement de votre serveur Web en fonction du nombre de requêtes, de la mémoire disponible, etc. |
Mode conversion Web | Entier long | 8 | Portée : Process courant Conservé entre deux sessions : Non Valeurs possibles : 0, 1, 2 ou 3
Dans le cas des bases créées avec des versions de 4D antérieures à la 6.7, ce fonctionnement peut perturber la conversion correcte des formulaires. Vous pouvez donc modifier le mode de conversion des formulaires. Ce mode n’est utilisé que pour le process (contexte Web) dans lequel la commande FIXER PARAMETRE BASE est appelée. Elle peut être placée dans la Méthode base Sur connexion Web pour assurer la conversion des formulaires de la base, ou juste avant l’appel d’un formulaire particulier. Hors du mode contextuel ou d’un process Web, la commande est sans effet. |
Taille cache données | Entier long | 9 | Portée : Application 4D Conservé entre deux sessions : - Description : Permet d’obtenir la taille courante du cache mémoire utilisé par 4D pour les données. Cette valeur est exprimée en octets. La taille du cache est issue des paramétrages définis dans la page “Base de données/Gestion des données” des Préférences. La taille réelle allouée au cache dépend de ces paramètres mais également de l’état des ressources mémoire de la machine. Ce sélecteur vous permet donc de connaître précisément la taille courante de la mémoire allouée au cache par 4D. Attention : La taille du cache de données ne peut pas être fixée par programmation. Il n’est pas possible d’utiliser le sélecteur Taille cache données avec la commande FIXER PARAMETRE BASE. |
Appels système 4D mode local | Entier long | 10 | Portée : Application 4D Conservé entre deux sessions : Oui Description : voir sélecteur 12 |
Appels système 4D Server | Entier long | 11 | Portée : Application 4D Conservé entre deux sessions : Oui Description : voir sélecteur 12 |
Appels système 4D mode distant | Entier long | 12 | Portée : Application 4D Conservé entre deux sessions : Oui Valeurs possibles : pour les sélecteurs 10, 11 et 12, le paramètre valeur est de la forme hexadécimale 0x00aabbcc dans laquelle : aa = nombre minimum de ticks par appel au système (de 0 à 100 inclus) bb = nombre maximum de ticks par appel au système (de 0 à 100 inclus) cc = nombre de ticks entre deux appels au système (de 0 à 20 inclus). Si une des valeurs est hors de son intervalle, 4D la fixe à son maximum. Vous pouvez également passer dans valeur une des trois valeurs suivantes, correspondant à un ensemble de réglages standard :
Note : Le fonctionnement du sélecteur 12 (Appels système 4D mode distant) diffère suivant que la commande FIXER PARAMETRE BASE est exécutée sur le poste serveur ou sur un poste client : Attention : Paramétrer ces sélecteurs de façon inappropriée peut conduire à une forte dégradation des performances de l'application. Il est conseillé de ne modifier les valeurs par défaut qu'en parfaite connaissance de cause. |
Timeout 4D Server | Entier long | 13 | Portée : Application 4D si valeur positive Conservé entre deux sessions : Oui si valeur positive Valeurs possibles : 0 -> 32 767 Description : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients. Par défaut, cette valeur est définie dans la page “Client-Serveur/Configuration” de la boîte de dialogue des Préférences, sur le poste serveur. Le sélecteur Timeout 4D Server vous permet de fixer, à l’aide du paramètre valeur, un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante et de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages. Vous disposez en outre de deux possibilités :
|
Timeout 4D mode distant | Entier long | 14 | Portée : Application 4D si valeur positive Conservé entre deux sessions : Oui si valeur positive Description : Valeur du délai avant déconnexion (timeout) accordé par le poste 4D distant au poste 4D Server. Par défaut, cette valeur est définie dans la page “Client-Serveur/Configuration” de la boîte de dialogue des Préférences, sur le poste distant. Pour plus d’informations sur le fonctionnement de ce sélecteur, reportez-vous ci-dessus à la description du sélecteur Timeout 4D Server (13). Le sélecteur Timeout 4D mode distant est à utiliser dans des cas très spécifiques. |
Numéro du port | Entier long | 15 | Portée : 4D local, 4D Server Conservé entre deux sessions : Non Description : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80. Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Préférences. Vous pouvez utiliser les constantes du thème pour le paramètre valeur. Le sélecteur Numéro du port est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section . |
Adresse IP d'écoute | Entier long | 16 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Description : Adresse IP sur laquelle le serveur Web doit recevoir les requêtes HTTP avec 4D en mode local et 4D Server. Par défaut, aucune adresse particulière n’est spécifiée (valeur = 0). Ce paramètre est défini dans les Préférences de la base. Le sélecteur Adresse IP d’écoute est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Passez dans le paramètre valeur l’adresse IP sous forme hexadécimale. Ainsi, pour désigner une adresse du type “a.b.c.d”, le code sera de la forme : C_ENTIER LONG($addr) Reportez-vous également à l’exemple 2. Pour plus d’informations sur la désignation de l’adresse IP, reportez-vous à la section Paramétrages du serveur Web. |
Jeu de caractères | Entier long | 17 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Description : Jeu de caractères que le serveur Web 4D (avec 4D en mode local et 4D Server) utilise pour communiquer avec les navigateurs Web qui se connectent à la base. La valeur par défaut dépend de la langue du système d’exploitation. Ce paramètre est défini dans les Préférences de la base. Le sélecteur Jeu de caractères est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Valeurs : Les valeurs possibles dépendent du mode d'exécution de la base relatif au jeu de caractères.
Note : Dans le cadre du sélecteur Jeu de caractères, Lire parametre base retourne le nom IANA du jeu de caractères dans le paramètre facultatif valeurAlpha.
Note : Pour plus d'informations sur le mode Unicode, reportez-vous à la description du sélecteur 41. |
Process Web simultanés maxi | Entier long | 18 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs : Toute valeur incluse entre 10 et 32 000. La valeur par défaut est 100. Description : Limite strictement supérieure du nombre de process Web de tout type (contextuels, non contextuels ou appartenant à la réserve de process — cf. à ce sujet le sélecteur 7, Maximum process Web) acceptés par le serveur Web avec 4D en mode local et 4D Server. Lorsque ce nombre limite (moins un) est atteint, 4D ne crée plus de nouveau process et retourne le message “Serveur non disponible” (statut HTTP 503 - Service Unavailable) à toute nouvelle requête. Ce paramètre permet de prévenir la saturation du serveur Web 4D pouvant se produire lors d’un envoi massif de requêtes ou d’une demande excessive de création de contextes. Il peut également être défini dans la boîte de dialogue des Préférences (cf. section Paramétrages du serveur Web). En théorie, le nombre maximum de process Web est le résultat de la division Mémoire disponible / Taille de la pile d’un process Web. Une autre solution consiste à visualiser les informations sur les process Web affichées dans l’Exporateur d’exécution : le nombre courant de process Web et le nombre maximum atteint depuis le démarrage du serveur Web sont indiqués. Note : Si vous passez une valeur inférieure à la limite supérieure de la “réserve” de process (sélecteur 7), cette limite est réduite à la valeur du sélecteur 18. Si nécessaire, la limite inférieure de la réserve (sélecteur 6) est également ajustée. |
Client Minimum process Web | Entier long | 19 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 6 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Maximum process Web | Entier long | 20 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 7 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Taille max requêtes Web | Entier long | 21 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 27 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Numéro de port | Entier long | 22 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 15 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Adresse IP d’écoute | Entier long | 23 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 16 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Jeu de caractères | Entier long | 24 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 17 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Client Proc Web simultanés maxi | Entier long | 25 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : Voir sélecteur 18 Description : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Mode écriture cache | Entier long | 26 | **** Sélecteur inactivé **** |
Taille maximum requêtes Web | Entier long | 27 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs possibles : 500 000 à 2 147 483 648. Description : Taille maximale (en octets) des requêtes HTTP entrantes (POST) que le serveur Web est autorisé à traiter. Par défaut, la valeur est 2 000 000, c’est-à-dire un peu moins de 2 Mo. La valeur maximale (2 147 483 648) signifie en pratique qu’aucune limite n’est fixée. Ce paramétrage permet d’empêcher la saturation du serveur Web à cause de requêtes entrantes de trop grande taille. Lorsqu’une requête atteint la limite, le serveur Web de 4D la refuse. |
Enreg requêtes 4D Server | Entier long | 28 | Portée : 4D Server, 4D distant Conservé entre deux sessions : Non Valeurs possibles : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Description : Démarrage ou arrêt de l’enregistrement des requêtes standard reçues par 4D Server (hors requêtes Web). Par défaut, la valeur est 0 (pas d’enregistrement de requêtes). 4D Server vous permet d’enregistrer dans un fichier d’historique chaque requête reçue par le poste serveur. Lorsque ce mécanisme est activé, le fichier d’historique est créé à côté du fichier de structure de la base. Son nom est “4DRequestsLogN”, où N est le numéro séquentiel de l'historique. Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre valeur. Ce fichier texte stocke dans un format tabulé simple diverses informations concernant chaque requête : heure, numéro de process, utilisateur, taille de la requête, durée de traitement, etc. Ces informations sont particulièrement utiles en phase de mise au point de l’application ou à des fins statistiques. Elles peuvent être importées par exemple dans un logiciel tableur afin d’être traitées. Note : Il est possible d'activer ou d'inactiver manuellement l'enregistrement des requêtes via le raccourci Ctrl+Alt+L sous Windows ou Commande+Option+L sous Mac OS. |
Enreg requêtes Web | Entier long | 29 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs possibles : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF. Description : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par le serveur Web de 4D en mode local ou de 4D Server. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes). L’historique des requêtes Web est stocké sous la forme d’un fichier texte nommé “logweb.txt” automatiquement placé dans le dossier Logs de la base, à côté du fichier de structure. Le format de ce fichier est déterminé par la valeur que vous passez. Pour plus d'informations sur les différents formats d'historique des requêtes, reportez-vous à la section Informations sur le site Web. L’activation de ce fichier peut également être définie dans la page “Web/Avancé” des Préférences de 4D. Attention : Les formats 3 et 4 sont des formats personnalisés, dont le contenu doit être défini au préalable dans les Préférences de l’application, page “Web/Format du journal”. Si vous utilisez l’un de ces formats sans que ses champs n’aient été sélectionnés, le fichier des requêtes n’est pas généré. |
Client Enreg requêtes Web | Entier long | 30 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF. Description : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes). Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant. |
Numéro automatique table | Entier long | 31 | Portée : Application 4D Conservé entre deux sessions : Oui Valeurs possibles : Toute valeur de type entier long. Description : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. “Numéro courant” signifie “dernier numéro utilisé” : si vous modifiez cette valeur à l’aide de FIXER PARAMETRE BASE, le prochain enregistrement sera créé avec comme numéro la valeur passée + 1. Ce nouveau numéro est, lui, retourné par la commande Numerotation automatique ainsi que dans tout champ de la table auquel la propriété "Incrémentation auto" a été affectée en Structure ou via le SQL. Par défaut, le numéro unique est défini par 4D et correspond à l’ordre de création des enregistrements. Pour des informations supplémentaires, reportez-vous à la documentation de la commande Numerotation automatique. |
Précision affichage réels | Entier long | 32 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Toute valeur de type entier long positif. Description : Ce sélecteur permet de modifier ou de lire le nombre de chiffres non significatifs tronqués à partir de la droite par l’algorithme d’affichage des réels à l’écran. Cette valeur est définie pour l’application et la session courantes. Par défaut, la valeur de cette option est 4. La valeur 0 indique que la valeur par défaut est utilisée et que le paramètre n’a pas été modifié durant la session. Pour des raisons historiques, 4D travaille avec des nombres réels stockés sur 10 octets et les convertit sur 8 octets lors de leur traitement (cf. section Affichage des nombres réels). Ce principe est entièrement transparent et n’affecte pas les calculs, toutefois certains résultats peuvent ne pas donner à l’affichage le résultat escompté. Par exemple, l’opération 4,1-4,09 affiche comme résultat 0,009999999999999780000, mais la recherche de 0,01 retrouve la bonne valeur. Voici comment 4D procède pour afficher un réel : prenons par exemple la valeur 8,97499999999996158 obtenue par un calcul (la valeur 8,975 étant normalement le résultat attendu). L’algorithme permettant d’arrondir au plus juste enlève par défaut les 4 derniers chiffres (6158) puis vérifie si le dernier chiffre restant est un 0 ou un 9. Si c’est 0, l’algorithme remonte jusqu’au premier 0 et supprime tous les 0. Si la valeur est 9, l’algorithme remonte jusqu’au premier 9 et arrondit la partie décimale à la valeur supérieure. Dans notre exemple, la valeur 8,974999999999996158 se transforme donc en 8,975. Il peut arriver que certains résultats finissent par 5 chiffres non significatifs, comme par exemple 8,9749999999999986158. Dans ce cas, l’algorithme ne pourra pas arrondir correctement la valeur car il trouvera 8 comme valeur et ne fera alors rien. Vous pouvez souhaiter que l’algorithme de précision tronque plus ou moins de chiffres en fonction des spécificités de votre base. Dans ce cas, passez une valeur personnalisée. Hormis pour le zéro (choix de la valeur interne de 4D), cette valeur indiquera le nombre de chiffres tronqués par l’algorithme de précision. Rappelons que ce paramétrage n’influe que sur l’affichage des numériques, non sur leur traitement interne. |
TCP_NODELAY | Entier long | 33 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : 0 ou 1 (0 = inactiver, 1 = activer) Description : Activation ou inactivation de l’option réseau TCP_NODELAY. Cette option, interne au protocole TCP/IP, contrôle un mécanisme d’optimisation des communications réseau. Elle peut être fixée séparément pour le poste serveur et les postes clients. Par défaut, la valeur est 1 (option activée) sur tous les postes (serveur et clients). Dans des cas spécifiques, en particulier dans le cadre de connexions client/serveur par ADSL ou par réseau privé virtuel (VPN), la désactivation de cette option peut améliorer sensiblement les performances de l’application. Cette opération doit être effectuée avec précaution et doit s’accompagner de tests de charge dans différentes configurations client/serveur. Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer l’application afin que la nouvelle valeur soit prise en compte. |
Numéro du port client serveur | Entier long | 35 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : 0 à 65535 Description : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813. La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application. La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur. Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte. |
Signature WEDD | Entier long | 36 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : Chaîne de 1 à 255 caractères. Description : Signature WEDD de la base de données ouverte (fichier de structure et fichier de données). Par défaut, cette signature est vide (le paramètre n’est pas défini). A noter que la signature tient compte de la casse des caractères. La signature WEDD permet d’associer un fichier de structure à un fichier de données. Un fichier de structure contenant une signature WEDD ne pourra être ouvert qu’avec un fichier de données contenant la même signature WEDD et inversement. Pour plus d’informations sur la signature WEDD, reportez-vous au manuel Mode Développement. La définition de cette valeur par programmation facilite la diffusion de mises à jour d’applications comportant une signature personnalisée. Note : Lorsque vous utilisez ce sélecteur avec la commande Lire parametre base, la chaîne définie comme signature WEDD est retournée dans le paramètre facultatif valeurAlpha et la commande retourne 0. |
Inversion des objets | Entier long | 37 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : 0, 1 ou 2 (0 = mode désactivé, 1 = mode automatique, 2 = mode activé). Description : Configuration du mode “inversion des objets”. Ce mode permet d’inverser en mode Application les formulaires, objets, menus, etc. lorsque la base est affichée sous Windows dans une langue de droite à gauche. Ce mode peut également être configuré dans la page Base de données/Script Manager des Préférences de l'application.
|
Numéro de port HTTPS | Entier long | 39 | Portée : 4D local, 4D Server Conservé entre deux sessions : Oui Valeurs possibles : 0 à 65535 Description : Numéro du port TCP utilisé par le serveur Web de 4D en mode local et de 4D Server pour les connexions sécurisées via SSL (protocole HTTPS). Le numéro de port HTTPS est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Pour plus d'informations, reportez-vous à la section Paramétrages du serveur Web. Par défaut, la valeur est 443 (valeur standard). Vous pouvez utiliser les constantes du thème Numéros de port TCP pour le paramètre valeur. |
Client Numéro de port HTTPS | Entier long | 40 | Portée : Tous postes 4D distants Conservé entre deux sessions : Oui Valeurs possibles : 0 à 65535 Description : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard). Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant. |
Mode Unicode | Entier long | 41 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : 0 (mode compatibilité) ou 1 (mode Unicode) Description : Mode d’exécution courant de la base, relatif au jeu de caractères. 4D prend en charge le jeu de caractères Unicode mais peut fonctionner en mode “compatibilité” (basé sur le jeu de caractères ASCII Mac). Par défaut, les bases de données converties sont exécutées en mode compatibilité (0) et les bases créées à partir de la version 11 sont exécutées en mode Unicode. Le mode d’exécution est contrôlé via une option des préférences et peut également être lu ou (à des fins de test) modifié via ce sélecteur. La modification de cette option nécessite le redémarrage de la base pour être prise en compte. A noter que, dans le cadre d’un composant, il n’est pas possible de modifier cette valeur, mais uniquement de la lire. |
Taille mémoire temporaire | Entier long | 42 | **** Sélecteur inactivé **** |
SQL Autocommit | Entier long | 43 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : 0 (désactivation) ou 1 (activation) Description : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé) Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes SELECT, INSERT, UPDATE, DELETE (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base. |
Casse caractères moteur SQL | Entier long | 44 | Portée : Base de données Conservé entre deux sessions : Oui Valeurs possibles : 0 (casse non prise en compte) ou 1 (casse prise en compte) Description : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL. Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules lors des comparaisons de chaînes (tris et recherches). Par exemple “ABC”= “ABC” mais “ABC” # “Abc”. Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse (“ABC”=“Abc”). Cette option peut également être définie dans la page SQL/Configuration des Préférences de l'application. |
Enreg requêtes client | Entier long | 45 | Portée : Poste 4D distant Conservé entre deux sessions : Non Valeurs possibles : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Description : Démarrage ou arrêt de l'enregistrement des requêtes standard effectuées par le poste client 4D ayant exécuté la commande (hors requêtes Web). Par défaut, la valeur est 0 (pas d'enregistrement des requêtes). 4D vous permet d'enregistrer l’historique des requêtes effectuées par le poste client. Lorsque ce mécanisme est activé, deux fichiers sont créés sur le poste client, dans le sous-dossier Logs du dossier local de la base. Il sont nommés 4DRequestsLog_N et 4DRequestsLog_ProcessInfo_N où N est le numéro séquentiel de l'historique. Une fois que le fichier 4DRequestsLog atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre valeur. Ces fichiers texte stockent dans un format tabulé simple diverses informations concernant chaque requête : heure, numéro de process, taille de la requête, durée de traitement, etc. Ces informations sont particulièrement utiles en phase de mise au point de l'application ou à des fins statistiques. |
Chercher par formule serveur | Entier long | 46 | Portée : Table et process courants Conservé entre deux sessions : Non Valeurs possibles : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur) Description : Emplacement de l’exécution des commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION pour la table passée en paramètre. Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
Si vous passez 0 dans le paramètre valeur, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans valeur pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur. Reportez-vous à l'exemple 4. Note : Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Jointures CHERCHER PAR FORMULE), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant. |
Trier par formule serveur | Entier long | 47 | Portée : Table et process courants Conservé entre deux sessions : Non Valeurs possibles : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur) Description : Emplacement de l’exécution de la commande TRIER PAR FORMULE pour la table passée en paramètre. Dans le cadre de l’exploitation d’une base en client-serveur, la commande TRIER PAR FORMULE peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Chercher par formule serveur. Note : Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Jointures CHERCHER PAR FORMULE), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant. |
Synchro auto dossier Resources | Entier long | 48 | Portée : Poste 4D distant Conservé entre deux sessions : Non Valeurs possibles : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander). Description : Mode de synchronisation dynamique du dossier Resources du poste client 4D ayant exécuté la commande avec celui du serveur. Lorsque le contenu du dossier Resources sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande NOTIFIER MODIFICATION DOSSIER RESOURCES), le serveur notifie les clients connectés. Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Synchro auto dossier Resources vous permet de définir le mode à utiliser pour le poste client et la session courante :
|
Jointures CHERCHER PAR FORMULE | Entier long | 49 | Portée : Process courant Conservé entre deux sessions : Non Valeurs possibles : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible). Description : Mode de fonctionnement des commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION relatif à l’utilisation de "jointures SQL". Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D). Le sélecteur Jointures CHERCHER PAR FORMULE vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
|
Niveau de compression HTTP | Entier long | 50 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : 1 à 9 (1 = plus rapide, 9 = plus compressé) ou -1 = meilleur compromis. Description : Niveau de compression pour tous les échanges HTTP compressés effectués pour des Web Services (requêtes client ou réponses serveur). Les échanges compressés sont une optimisation que vous pouvez mettre en oeuvre lorsque vous faites communiquer deux applications 4D via des Web services (cf. commande FIXER OPTION WEB SERVICE). Ce sélecteur vous permet d’optimiser les échanges en privilégiant la rapidité d’exécution (compression moindre) ou la quantité de compression (vitesse moindre). Le choix d’une valeur dépend de la taille et de la nature des données échangées. Passez de 1 à 9 dans le paramètre valeur, 1 étant la compression la plus rapide et 9 la plus élevée. Vous pouvez également passer -1 pour obtenir un compromis entre vitesse et taux de compression. Par défaut le niveau de compression est 1 (compression rapide). |
Seuil de compression HTTP | Entier long | 51 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Toute valeur de type Entier long. Description : Dans le cadre d’échanges Web Services inter-4D en mode optimisé (cf. ci-dessus), seuil de taille de requête au-dessous de laquelle les échanges ne doivent pas être compressés. Ce paramétrage est utile pour éviter de perdre du temps machine à compresser les petits échanges. Passez dans valeur une taille exprimée en octets. Par défaut, le seul de compression est fixé à 1024 octets. |
Taille pile process base server | Entier long | 53 | Portée : 4D Server Conservé entre deux sessions : Non Valeurs possibles : Entier long positif. Description : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. Par défaut, cette valeur est 1 000 000 (1 Mo). Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d’exécution mais peut s’avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés. A des fins d’optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n’effectue pas de tris sur de grosses quantités d’enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d’utilisation de la base (nombre d’enregistrements, types d’opérations, etc.). Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur). |
Timeout connexions inactives | Entier long | 54 | Portée : Application 4D sauf si valeur négative Conservé entre deux sessions : Non Valeurs possibles : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 0 (pas de timeout) avec 4D v11 SQL et 20 avec 4D v12. Description : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au moteur SQL de 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée. Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu. Si vous passez une valeur positive dans valeur, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout. Avec 4D v11SQL, ce paramètre est pris en compte sur le serveur uniquement. Avec 4D v12, ce paramètre peut être défini côté serveur et côté client. Si vous passez deux durées différentes, la plus courte sera prise en compte. Généralement, vous n'aurez pas besoin de modifier cette valeur. |
PHP Adresse IP interpréteur | Entier long | 55 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs : Chaîne formatée du type "nnn.nnn.nnn.nnn" (par exemple "127.0.0.1"). Description : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1". Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel Mode Développement. |
PHP Port interpréteur | Entier long | 56 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs : Valeur de type entier long positif. Par défaut, la valeur est 8002. Description : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel Mode Développement. |
PHP Nombre enfants | Entier long | 57 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs : Valeur de type entier long positif. Par défaut, la valeur est 5. Description : Nombre de process enfants à créer et à maintenir localement par l’interpréteur PHP de 4D. Pour des raisons d’optimisation, l’interpréteur PHP crée et utilise un ensemble (pool) de process système appelés "process enfants" pour traiter les demandes d’exécution de scripts. Vous pouvez faire varier le nombre de process enfants en fonction des besoins de votre application. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel Mode Développement. Note : Sous Mac OS, tous les process enfants partagent le même port. Sous Windows, chaque process enfant utilise un numéro de port spécifique. Le premier numéro est celui défini pour l’interpréteur PHP, les autres process enfants l’incrémentent. Par exemple, si le port par défaut est le 8002 et que vous lancez 5 process enfants, ils utiliseront les ports 8002 à 8006. |
PHP Nombre requêtes max | Entier long | 58 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs : Valeur de type entier long positif. Par défaut, la valeur est 500. Description : Nombre maximum de requêtes acceptées par l’interpréteur PHP. Lorsque ce nombre maximum est atteint, l’interpréteur retourne des erreurs du type "serveur occupé". Pour des raisons de sécurité ou de performance, vous pouvez modifier cette valeur. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations, reportez-vous à la documentation de fastcgi-php. Note : Côté 4D, ces paramètres sont appliqués dynamiquement, il n’est pas nécessaire de quitter le programme pour leur prise en compte. En revanche, si l’interpréteur PHP était déjà lancé, il est nécessaire de le quitter et de le relancer pour qu’il prenne en compte ces modifications. |
PHP Utiliser interpréteur externe | Entier long | 60 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs : 0 = utiliser interpréteur interne, 1 = utiliser interpréteur externe Description : Valeur indiquant si les requêtes PHP de 4D sont adressées à l’interpréteur interne fourni par 4D ou un interpréteur externe. Par défaut, la valeur est 0 (utilisation de l’interpréteur fourni par 4D). Si vous souhaitez utiliser votre propre interpréteur PHP, par exemple pour bénéficier de modules supplémentaires ou d’une configuration spécifique, passez 1 dans valeur. Dans ce cas, 4D ne démarrera pas son interpréteur en cas de requête PHP. L’interpréteur PHP personnalisé doit avoir été compilé en fastcgi et se trouver sur la même machine que le moteur 4D. A noter que dans ce cas, vous devez entièrement gérer l’interpréteur, il n’est ni démarré ni stoppé par 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. |
Taille maxi mémoire temporaire | Entier long | 61 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Entier long positif. Description : Taille maximum de mémoire temporaire que 4D pourra allouer à chaque process, exprimée en Mo. Par défaut, la valeur est 0 (pas de taille maximum). 4D utilise une mémoire temporaire spéciale dédiée aux opérations d’indexation et de tri. Cette mémoire a pour but de préserver la mémoire cache “classique” lors d’opérations massives. Elle n’est activée qu’en cas de besoin. Par défaut, la taille de la mémoire temporaire n’est limitée que par les ressources disponibles (en fonction de la configuration mémoire du système). Ce mécanisme convient à la plupart des applications. Toutefois, dans certains contextes spécifiques, notamment lorsqu’une application client-serveur effectue simultanément un grand nombre de tris séquentiels, la taille de la mémoire temporaire peut augmenter de façon critique, jusqu’à rendre le système instable. Dans ce contexte, fixer une taille maximum à la mémoire temporaire permet de préserver le fonctionnement de l’application. En contrepartie, la vitesse d’exécution pourra être affectée : lorsque la taille maximum est atteinte pour un process, 4D utilise des fichiers disque, ce qui peut ralentir les traitements. Pour des besoins tels que ceux décrits ci-dessus, une taille maximum d’environ 50 Mo est généralement un bon compromis. La valeur idéale sera cependant à déterminer en fonction des spécificités de l’application et résultera généralement de tests en volumétrie réelle. |
Liste de chiffrement SSL | Chaîne | 64 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Suite de chaînes séparées par des deux-points (par exemple "RC4-MD5:RC4-64-MD5:....") Description : Liste de chiffrement (cipher list) utilisée par 4D pour le protocole SSL. Vous pouvez par exemple utiliser ce sélecteur pour mettre en oeuvre des algorithmes de chiffrement SSL 3.0 et refuser ainsi toute connexion en SSL 2.0. Ce paramétrage est global à l’application 4D (il concerne le serveur HTTP, le serveur SQL ainsi que les commandes 4D faisant appel au protocole SSL). Lorsque la liste de chiffrement a été modifiée, vous devez redémarrer le serveur concerné pour que le nouveau paramétrage soit pris en compte. Pour réinitialiser la liste de chiffrement à sa valeur par défaut (stockée en dur dans le fichier SLI), appelez la commande FIXER PARAMETRE BASE et passez une chaîne vide ("") dans le paramètre valeur. Par défaut, 4D utilise l’algorithme de chiffrement RC4. Si vous souhaitez utiliser l’algorithme AES (plus récent), passez la chaîne suivante dans le paramètre valeur : "AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH" Note : Avec la commande Lire parametre base, la liste de chiffrement est retournée dans le paramètre optionnel valeurAlpha et le paramètre de retour vaut toujours 0. |
Taille minimum libération cache | Entier long | 66 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Entier long positif > 1. Description : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets). Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base. Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place. |
Liste commandes enreg | Entier long | 80 | Portée : Application 4D Conservé entre deux sessions : Non Valeurs possibles : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), "all" pour enregistrer toutes les commandes ou "" (chaîne vide) pour n’enregistrer aucune commande. Description : Liste des commandes 4D à enregistrer dans le fichier de débogage (cf. sélecteur 34, Enreg événements débogage). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution. Par exemple, vous pouvez écrire : FIXER PARAMETRE BASE(Liste commandes enreg;"277;341") //enregistrer uniquement les commandes CHERCHER et CHERCHER DANS SELECTION |
.
Cette méthode permet de récupérer les valeurs courantes du minuteur interne de 4D :
C_ENTIER LONG($ticksbtwcalls;$maxticks;$minticks;$lparams)
Si(Type application=4D mode local) ` Si nous sommes en 4D local
$lparams:=Lire parametre base(Appels système 4D mode local)
$ticksbtwcalls:=$lparams &0x00ff
$maxticks:=($lparams>>8)&0x00ff
$minticks:=($lparams>>16)&0x00ff
Fin de si
Le sélecteur 16 (Adresse IP d’écoute) permet d’obtenir l’adresse IP sur laquelle le serveur Web 4D reçoit les requêtes HTTP. L’adresse obtenue est de forme hexadécimale. L’exemple suivant permet de décomposer l’adresse IP reçue :
C_ENTIER LONG($a;$b;$c;$d)
C_ENTIER LONG($addr)
$addr:=Lire parametre base(Adresse IP d'écoute)
$a:=($addr>>24)&0x000000ff
$b:=($addr>>16)&0x000000ff
$c:=($addr>>8)&0x000000ff
$d:=$addr&0x000000ff
Produit : 4D
Thème : Environnement 4D
Numéro :
643
Nom intl. : Get database parameter
Modifié : 4D v11 SQL Release 4
Modifié : 4D v11 SQL Release 5
Modifié : 4D v12
CHERCHER DANS SELECTION
FIXER PARAMETRE BASE
VALEURS DISTINCTES