Ce document présente toutes les nouvelles fonctionnalités introduites dans 4D 21 LTS par rapport à 4D 20 R10. Chaque fonctionnalité comprend des liens directs vers son article de blog pour des exemples pratiques ainsi que vers la documentation pour des détails techniques complets.
👉 Si vous avez raté les fonctionnalités introduites dans les versions 4D 20 R2 à R9, ne vous privez pas de la liste complète des principales fonctionnalités ajoutées dans chacune de ces versions. Vous pouvez y accéder via les liens situés à la fin de cet article, sous la rubrique Les Feature Releases en Profondeur.
Ce document est divisé en dix sections :
Intégration de l’IA
En plus des fonctionnalités d’IA introduites dans les versions précédentes de 4D 20 Rx – telles que 4D AIKit pour une communication simplifiée avec des modèles d’IA basés sur le cloud ou hébergés localement, et les champs vectoriels natifs – 4D 21 LTS va plus loin avec de nouvelles capacités qui rendent l’IA plus pratique, plus intégrée et directement utilisable dans les applications d’entreprise.
REQUÊTES SÉMANTIQUES
Vous pouvez désormais intégrer la recherche sémantique directement dans vos requêtes ORDA. Au lieu de dépendre de processus distincts, vous pouvez comparer le champ vectoriel d’un enregistrement à un vecteur de référence et renvoyer instantanément les résultats les plus pertinents, tout cela dans la même grammaire ORDA que celle que vous utilisez déjà.
La requête accepte un simple objet paramètre avec un vector requis et des attributs facultatifs tels que la similarité metric (qui est par défaut un cosinus) et une similarité threshold.
// Step 1: Define the kind of profile you want to match semantically
$searchText:="senior project manager with strong HR background, based in France"
// Step 2: Create an AI client (local baseURL optional)
$client:=cs.AIKit.OpenAI.new()
$client.baseURL:="http://127.0.0.1:1234/v1"
// Step 3: Generate an embedding vector for the search text
$embedResult:=$client.embeddings.create($searchText; "text-embedding-mxbai-embed-large-v1")
$semanticVector:=$embedResult.vector
// Step 4: Build the semantic query object with similarity options
$semanticQuery:={vector: $semanticVector; metric: "cosine"; threshold: 0.4}
// Step 5: Run the query — combine semantic match with traditional filter
$results:=ds.Profiles.query("yearsOfExperience >= 5 & expertise >= :1"; $semanticQuery)
Les conditions vectorielles s’intègrent parfaitement à la logique ORDA classique, de sorte que vous pouvez combiner la similarité sémantique et les filtres traditionnels dans une seule requête. En ajustant le seuil, les résultats peuvent passer de larges et bruyants à étroits et précis, vous donnant des résultats significatifs et adaptés au contexte sans ajouter de complexité. L’ensemble du processus reste conforme à la grammaire ORDA avec laquelle vous êtes déjà familier, ce qui garantit la clarté, l’expressivité et la facilité de maintenance de vos requêtes.
Formats d’appel et de réponse des outils d’IA
Les formats d’appel et de réponse aux outils d’IA étendent 4D AIKit avec la possibilité d’intégrer des fonctions spécifiques à l’entreprise directement dans les conversations pilotées par l’IA. L’appel d’outil vous permet d’exposer des fonctionnalités sélectionnées de votre application, telles que « lister les catégories de produits disponibles » ou « obtenir les produits les plus vendus« , en tant qu’outils pouvant être appelés. Lorsqu’un modèle d’IA détermine qu’un outil est nécessaire, 4D AIKit achemine automatiquement l’appel vers vos fonctions 4D enregistrées et intègre le résultat dans la réponse. Cela évite de devoir télécharger ou réentraîner de grands ensembles de données, tout en permettant à l’IA de répondre aux questions des utilisateurs avec des données en direct et spécifiques à l’application. En pratique, cela signifie que vous pouvez intégrer un assistant de chat dans votre application, et lorsqu’un utilisateur demande « Quels sont les 10 produits les plus vendus par catégorie ? », le modèle peut appeler vos fonctions, récupérer des données commerciales réelles et renvoyer la réponse en langage naturel.
En outre, 4D AIKit prend désormais en charge les formats de réponse structurés, ce qui rend l’intégration avec les processus en aval plus fiable. Outre le texte brut, les réponses peuvent être demandées en tant qu’objets JSON stricts ou forcées à se conformer à un schéma JSON prédéfini par vous. Ceci est particulièrement utile lorsque des données non structurées provenant d’utilisateurs doivent être transformées en données prévisibles, ou lorsque du contenu généré par l’IA doit être intégré dans des flux de travail automatisés sans nettoyage manuel.
Ensemble, les requêtes sémantiques, les appels d’outils et les formats de réponse structurés font de l’IA dans 4D non pas une simple couche conversationnelle, mais un composant système entièrement intégré, capable de récupérer des données métier pertinentes, d’appliquer une logique en toute sécurité dans votre application et de fournir des résultats structurés qui s’intègrent parfaitement dans vos flux de travail. Et maintenant, avec AIKit en open-source, vous bénéficiez d’une transparence et d’un contrôle complets, ce qui vous permet de l’adapter, de l’étendre et de le faire évoluer en fonction des besoins de votre entreprise.
commutation de réseau
Le protocole QUIC, introduit dans 4D 20 R2, a apporté une communication plus rapide et plus résiliente, en particulier dans les environnements à forte latence ou avec perte. Avec 4D 21 LTS, QUIC est désormais la couche réseau recommandée, remplaçant ServerNet par défaut et marquant une avancée majeure pour des déploiements fiables et modernes.
Commutation de réseau transparente
Avec 4D 21, le passage d’une interface réseau à une autre n’interrompt plus la connexion à 4D Remote. Qu’il s’agisse de passer d’Ethernet à Wi-Fi, de changer d’adaptateur ou de réveiller un ordinateur portable sur un autre réseau, le client rétablit désormais automatiquement sa session avec le serveur 4D et poursuit l’exécution sans perte de données. Ceci est rendu possible par le protocole QUIC, qui permet des reconnexions rapides et fiables dans des conditions de réseau changeantes.
Votre flux de travail reste transparent : le contexte d’exécution est préservé et les processus reprennent là où ils se sont arrêtés. Côté serveur, l’adresse IP du client est mise à jour en temps réel dans la boîte de dialogue d’administration, les journaux de diagnostic et les attributs de session, ce qui garantit une transparence totale pour les administrateurs. Cela rend 4D Remote beaucoup plus robuste dans les environnements mobiles où les conditions du réseau changent fréquemment.
ORDA
Avec 4D 20 R10, ORDA a introduit Constructor pour l’initialisation des entités et onTouch pour le suivi des modifications, rapprochant ainsi la logique métier des données. Dans 4D 21 LTS, cette évolution est complétée par un ensemble intégral d’événements de cycle de vie, donnant aux développeurs un contrôle précis sur chaque étape de la vie d’une entité.
Nouveaux événements de cycle de vie des entités
Les opérations sur les entités fournissent désormais un ensemble complet d’événements de cycle de vie –validateSave, saving, afterSave, validateDrop, dropping, et afterDrop– couvrant chaque étape de l’enregistrement et de l’abandon d’une entité à travers trois phases distinctes :
-
Avant → Valider et bloquer immédiatement les opérations non valides.
-
Pendant → Appliquer les règles métier, la logique de synchronisation ou la journalisation en temps réel.
-
Après → Exécuter des tâches de suivi, des intégrations ou des notifications, quel que soit le résultat.
En pratique, cela signifie que les entrées peuvent être validées avant la persistance, que la logique peut être exécutée pendant que l’opération se déroule et que les résultats peuvent être traités une fois le processus terminé.
Les événements peuvent être mis en œuvre au niveau des attributs et des entités. Les événements de validation interrompent immédiatement les opérations en cas d’erreur, tandis que les post-événements s’exécutent toujours.
En concentrant la logique dans les classes de données ORDA, le comportement des entités devient autonome et plus facile à maintenir. Les règles de gestion ne sont plus cachées dans les déclencheurs, les applications restent cohérentes de par leur conception et les intégrations externes peuvent se connecter directement par le biais de crochets d’événements natifs. Dans les projets ORDA, les déclencheurs ne sont plus nécessaires – les événements du cycle de vie vous donnent maintenant toute la puissance d’ORDA d’une manière plus propre et plus facile à maintenir.
4D Qodly Pro
4D Qodly Pro vous permet d’étendre votre application métier avec des interfaces modernes basées sur un navigateur – sans écrire une seule ligne de HTML ou de JavaScript. Créez des formulaires web réactifs à l’aide d’un éditeur visuel par glisser-déposer et connectez-les directement à votre logique métier 4D existante.
À partir de 4D 21 LTS, vous pouvez même intégrer des pages Qodly Pro directement dans vos formulaires 4D classiques à l’aide d’une zone Web. Du point de vue de l’utilisateur, il s’agit d’une interface transparente – pas de fenêtres séparées, pas de licences supplémentaires requises. La page Qodly Pro intégrée partage la même session et la même licence que le client 4D Remote, ce qui rend l’expérience à la fois transparente et sans coût supplémentaire.
Partage des sessions et interactions entre les applications client/serveur et 4D Qodly Pro
Dans 4D 21, une session 4D Remote et sa licence peuvent désormais être partagées avec une application 4D Qodly Pro affichée dans une zone Web d’une application Client/Serveur. Cela signifie qu’aucune licence supplémentaire n’est consommée, et que le même contexte de session circule de manière transparente entre le formulaire de bureau et la page 4D Qodly Pro.
L’authentification et les privilèges sont préservés automatiquement, et les données de session peuvent être transmises pour initialiser la page web avec le contexte du bureau – par exemple, en affichant les détails de l’entité actuellement sélectionnée.
Outre le partage de session, les nouvelles actions de 4D Qodly Pro permettent une interaction directe et bidirectionnelle entre les formulaires 4D et les pages de 4D Qodly Pro. À partir d’une page 4D Qodly Pro, les développeurs peuvent appeler des fonctions 4D par l’intermédiaire de l’objet $4d, préalablement initialisé avec la commande WA SET CONTEXT. Inversement, un formulaire 4D peut mettre à jour les sources Qodly directement, ce qui garantit la synchronisation de l’état et de la logique dans les deux environnements.
Ensemble, ces améliorations permettent de combiner facilement des formulaires 4D classiques avec des pages 4D Qodly Pro modernes dans une seule application – unifiant les sessions, les interactions et le contexte tout en évitant les connexions redondantes, les licences supplémentaires ou le travail d’intégration complexe.
Internationalisation intégrée (i18n)
4D Qodly Pro offre maintenant une internationalisation intégrée (i18n), afin que vos applications puissent s’adapter de manière transparente à de multiples langues et paramètres régionaux.
Les langues prises en charge sont définies en tant que locales dans la nouvelle section Localisation, où les clés et les valeurs de traduction peuvent être gérées et liées aux composants. Le choix de la langue est géré par la source intégrée UserLanguage QodlySource, qui applique la sélection de l’utilisateur en temps réel.
Les retours automatiques couvrent les données de session, les paramètres par défaut du navigateur ou les paramètres régionaux principaux, tandis que la prise en charge native de la lecture de droite à gauche (RTL) rend les langues telles que l’arabe plus naturelles. Le changement de langue met instantanément à jour le contenu, créant ainsi une expérience fluide et personnalisée.
Cela vous permet de vous développer sur de nouveaux marchés, de réduire les frictions liées à l’intégration et de renforcer la confiance des utilisateurs, sans avoir à repenser votre interface utilisateur ou à ajouter de la complexité. Qu’il s’agisse d’un lancement local ou mondial, votre produit est prêt à parler la langue de vos utilisateurs.
Rapport sur les événements de la page Qodly
Le nouveau rapport sur les événements de la page Qodly dans 4D Qodly Pro vous donne une vue claire et unifiée de tous les événements de votre page, qu’ils proviennent d’actions standard, d’actions de navigation, de fonctions de classe ou d’actions de dialogue. Il montre quels événements sont déclarés, où ils sont mis en œuvre et l’ordre exact dans lequel ils s’exécutent.
En rendant le flux d’événements transparent, il accélère le débogage, découvre instantanément les chevauchements ou les gestionnaires manquants et facilite l’optimisation. Les équipes peuvent collaborer plus facilement et vous gagnez en confiance en sachant exactement comment votre page se comporte.
C’est un moyen simple d’apporter clarté, précision et efficacité à la gestion des événements, qu’il s’agisse d’une petite application ou d’une solution à grande échelle.
COMMANDES DE ZOOM DU CANEVAS
L’éditeur de pages 4D Qodly Pro introduit des contrôles de zoom sur le canevas pour faciliter le travail avec des mises en page complexes. Les développeurs peuvent maintenant zoomer, dézoomer ou réinitialiser la vue directement depuis la barre d’outils, avec un support pour les raccourcis clavier et la navigation avec la molette de la souris.
Le niveau de zoom actuel est affiché dans l’interface, ce qui permet aux développeurs de contrôler précisément la manière dont ils visualisent et organisent les composants sur le canevas.
Ces améliorations permettent d’améliorer la navigation, la précision de la conception et la convivialité générale, en alignant l’éditeur de pages sur les normes des outils de conception visuelle modernes.
Installation automatique de Qodly Studio
Lancer Qodly Studio pour la première fois depuis le mode 4D Design déclenche désormais un assistant de configuration automatique. Tous les paramètres requis (activation du serveur REST, sessions évolutives, ports du serveur Web) sont détectés et présentés avec une invite à les activer.
En cas d’acceptation, les services redémarrent si nécessaire et Qodly Studio s’ouvre dans le navigateur. En cas de refus, aucune modification n’est apportée. Le flux de travail est fluide, rapide et sans intervention de la part des nouveaux utilisateurs.
Le démarrage de Qodly Studio ne nécessite plus de préconfiguration manuelle. Les développeurs débutants sont productifs en un clic.
Composant 4D
L’utilisation des composants s’est considérablement améliorée entre 4D 20 et 21. Grâce au gestionnaire de dépendances, vous pouvez désormais facilement ajouter et maintenir des composants, qu’ils soient publics ou privés. Et à partir de 4D 20 R10, un nouveau modèle d’édition de composants a été introduit, vous permettant d’éditer et de déboguer les méthodes des composants directement à partir du projet hôte.
VERS UNE INTÉGRATION TRANSPARENTE DES COMPOSANTS
Le développement de composants dans 4D a fait un grand pas en avant. Les méthodes et les classes d’un composant – qu’il soit partagé ou non – peuvent désormais être visualisées et modifiées directement dans le projet hôte, sans avoir à ouvrir le composant séparément ou à interrompre le focus pendant le développement. Toutes les méthodes peuvent désormais être modifiées sur place, et des composants entiers peuvent être créés à partir de l’interface utilisateur hôte, initialisés avec l’espace de noms, les fichiers et la structure, puis modifiés immédiatement en mode interprété.
Au-delà du code, la visibilité s’est élargie pour inclure des formulaires en lecture seule, des dossiers, des constantes, des commandes, des plug-ins et même une corbeille spécifique au composant. Les constantes conservent un lien avec leurs composants sources, ce qui garantit la cohérence de l’application, tandis que les nouveaux flux de création relient automatiquement les dépendances et mettent en place une structure pour les modes gérés et hérités.
Dans l’ensemble, cela rend l’itération des composants plus rapide, la modularisation plus fluide, et les projets plus propres et plus transparents. Il s’agit d’une étape importante pour rapprocher les composants du flux de travail du projet hôte, même si d’autres améliorations sont encore prévues sur le plan de route.
GESTION OPTIONNELLE DES COMPOSANTS
4D 21 n’inclut plus les composants 4D standard. Au lieu de cela, vous déclarez vos besoins dans la boîte de dialogue Add Dependency, et 4D les récupère et les installe automatiquement à la demande. De là, vous pouvez accéder directement au catalogue complet des composants 4D – y compris 4D AI Kit, 4D NetKit, 4D View Pro, SVG, et plus encore – tous publiés en tant qu’open source sur GitHub. Cela vous donne la flexibilité d’installer uniquement ce dont vous avez besoin tout en facilitant l’exploration des composants internes, en contribuant aux améliorations et en alignant vos projets sur l’évolution des besoins.
-
Des dépendances ciblées : Seuls les composants nécessaires sont installés.
-
Alignement des versions : Les dépendances suivent par défaut la version actuelle de 4D, ce qui garantit la compatibilité sans nécessiter de vérifications manuelles.
Lors de la mise à niveau vers 4D 21, les projets existants peuvent télécharger automatiquement les composants requis, tandis que les bases de données binaires continuent d’y accéder via le programme d’installation ou le portail de téléchargement.
4D Netkit
Si 4D NetKit s’est d’abord concentré sur l’ajout d’intégrations natives Microsoft 365 et Google – couvrant des services tels que le courrier électronique et les calendriers – il a régulièrement évolué vers une boîte à outils plus approfondie pour l’authentification et la sécurité modernes. Aujourd’hui, il permet non seulement l’authentification unique via Microsoft 365, mais offre également une prise en charge complète d’OpenID Connect pour l’intégration avec un large éventail de fournisseurs d’identité.
URL personnalisées pour les résultats d’authentification
Les attributs authenticationPage et authenticationErrorPage de la commandecs.NetKit.OAuth2Provider.new() prennent désormais en charge les URL complètes en plus des chemins d’accès aux fichiers statiques. Les flux d’authentification ne sont plus liés à des fichiers HTML locaux et peuvent être redirigés vers des pages dynamiques hébergées dans n’importe quel environnement – 4D Qodly Pro, votre propre serveur ou des services tiers.
Les pages de succès et d’erreur personnalisées améliorent la flexibilité tout en préservant votre infrastructure existante. Les URL peuvent être mises à jour indépendamment de l’application, pour refléter une nouvelle interface utilisateur ou une nouvelle image de marque, sans qu’aucune reconstruction ne soit nécessaire. La prise en charge des URL et des chemins d’accès aux fichiers garantit une compatibilité ascendante tout en permettant des flux de connexion plus dynamiques et intégrés.
OpenID avec gestion des états et des nonces
Les flux d’authentification sont désormais entièrement conformes à OpenID Connect grâce à la prise en charge des paramètres state et nonce.
-
state permet à votre application de suivre le contexte à travers les redirections et de le valider au retour.
-
nonce protège contre les attaques par rejeu en renforçant l’unicité du jeton.
Ces paramètres sont automatiquement pris en charge par NetKit, ce qui permet de se prémunir contre les manipulations et les injections sans implémentation supplémentaire.
Les développeurs peuvent désormais intégrer des fournisseurs d’identité modernes – Google, Microsoft, Okta – en étant sûrs que le modèle de sécurité tient la route, sans avoir à créer des couches de validation de jetons personnalisées.
SERVEUR HTTP
Le serveur HTTP de 4D continue de se développer au-delà de la simple gestion des requêtes. Avec 4D 21, vous bénéficiez d’un contrôle centralisé des en-têtes de réponse HTTP et des règles directement au niveau du framework – couvrant la redirection, les en-têtes personnalisés, les politiques de mise en cache, CORS, et plus encore – éliminant le besoin de proxies inversés ou de gestion manuelle des en-têtes.
règles de réponse http personnalisées
Les en-têtes de réponse HTTP de 4D sont désormais configurables au niveau du serveur. En utilisant un nouveau fichier HTTPRules.json ou le paramètre settings.rules lors du démarrage, les développeurs peuvent définir des règles de réponse correspondant à un modèle d’URL. Les règles prises en charge sont les suivantes
-
removedHeaders: supprimer les en-têtes indésirables (par exemple, supprimer l’en-tête Server pour des audits plus stricts).
-
addedHeaders: injecte des en-têtes de sécurité tels que Content-Security-Policy, X-Frame-Options ou Permissions-Policy.
-
denyAccess: bloque l’accès aux chemins sensibles avec un statut 403.
-
redirection: acheminer les demandes d’images, de CSS ou de JavaScript vers un CDN.
-
status: définit explicitement le code d’état de la réponse.
En gérant les en-têtes directement dans 4D, l’infrastructure devient plus légère, avec beaucoup moins de dépendance à l’égard des proxys inversés externes ou de l’injection manuelle d’en-têtes. La cohérence est améliorée et les politiques sont appliquées au niveau du cadre pour toutes les réponses Web, y compris REST.
sécurité
Les versions ultérieures à 4D 20 ont introduit de nouvelles classes TCP et UDP, remplaçant les anciennes commandes Internet de 4D. Avec 4D 21 LTS, cette transition est complétée par l’ajout du chiffrement TLS/SSL natif, faisant de la communication sécurisée de bas niveau un standard intégré.
Communications TCP sécurisées avec support TLS/SSL intégré
Les connexions TCP prennent désormais en charge le chiffrement TLS/SSL en mode natif. En définissant l’attribut TLS dans le nouveau paramètre options de 4D.TCPConnection.new(), vous créez des sessions cryptées sans configuration supplémentaire ni wrapper.
-
Les ports standards et sécurisés peuvent fonctionner en parallèle.
-
Une fois la poignée de main terminée, les messages cryptés circulent de manière transparente sur la connexion.
-
TLS 1.3 est le protocole par défaut, ce qui garantit une sécurité élevée et la compatibilité avec les terminaux modernes.
Cela signifie que les données sensibles sont protégées dès la conception, que la conformité est plus facile à atteindre et que la messagerie sécurisée n’est plus une solution de contournement – c’est la norme.
Utilisation du magasin de certificats Windows au lieu des fichiers locaux
Les requêtes HTTPS peuvent désormais extraire des certificats directement du trousseau Windows à l’aide du paramètre storeCertificateName dans les classes HTTPRequest et HTTPAgent . Il n’est donc plus nécessaire de stocker et de gérer les fichiers de certificats localement.
La protection au niveau du système et la gestion centralisée remplacent le jonglage manuel des fichiers. La gestion des certificats devient plus sûre, plus cohérente et plus facile à administrer au sein des équipes et des machines.
Gestion unifiée des sessions pour REST et 4DACTION
Avec 4D 21, vous disposez désormais d’un moyen complet d’inspecter toutes les sessions web ouvertes, qu’elles proviennent de connexions REST, d’appels SOAP ou de requêtes 4DACTION.
-
Toutes les sessions actives sont listées en temps réel, donnant aux administrateurs une vue transparente de l’activité et de l’utilisation des ressources.
-
Les sessions peuvent être étiquetées avec des noms d’utilisateurs via Session.setPrivilege(), ce qui facilite l’identification des utilisateurs connectés, le suivi des actions et la gestion des licences.
-
Les sessions sont sécurisées par des threads et automatiquement optimisées, ce qui garantit une utilisation efficace des ressources et des performances fiables, même en cas de forte charge.
Cela permet une exécution plus fluide de l’API à l’échelle tout en offrant aux développeurs et aux administrateurs une surveillance plus claire, un audit plus solide et une stabilité améliorée.
Mises à jour de la bibliothèque principale et des dépendances
Avec 4D 21 LTS, nous avons mis à jour Xerces, libldap, ICU, Chromium (CEF), OpenSSL, libZip, LZMA, ZLib, Libuv, BoringSSL et PDFWriter, modernisant ainsi l’ensemble de la pile pour renforcer la sécurité, améliorer la stabilité et assurer la compatibilité avec les plateformes actuelles.
Langage 4D
La différence dans le langage de programmation 4D entre 4D 20 et 4D 21 est énorme, trop importante pour être résumée en quelques lignes. Au fil des versions, le langage s’est enrichi d’une syntaxe moderne, d’un typage plus fort, d’une meilleure gestion des erreurs et de nouvelles commandes. Avec 4D 21 LTS, d’autres améliorations continuent à rendre le codage plus simple et plus cohérent.
Conversion de chaînes hexadécimales en nombres
La commande String vous permet désormais de convertir des chaînes hexadécimales directement en nombres. Il n’est plus nécessaire d’écrire des utilitaires d’analyse ou d’utiliser des chaînes binaires. Il suffit de passer la chaîne et vous obtenez le résultat numérique.
Il s’agit d’un ajout subtil qui élimine les frictions lorsque vous travaillez avec des API externes, des formats de bas niveau ou des intégrations renvoyant de l’hexadécimal.
Nouvelles fonctions de découpage des chaînes de caractères
De nouvelles commandes –trim, trimStart, trimEnd– facilitent l’élimination des espaces blancs ou de caractères spécifiques dans les chaînes de caractères. Elles se comportent comme leurs équivalents JavaScript ou Python et fonctionnent avec n’importe quel jeu de caractères.
La logique de découpage manuel n’est plus nécessaire. Les données sont plus propres, les entrées de formulaire sont plus faciles à valider et le code s’aligne sur les attentes des langages modernes.
Les licences dans 4D sont désormais plus intelligentes et plus automatisées. Avec 4D 21, les licences des développeurs sont automatiquement récupérées et activées lorsque vous vous connectez, éliminant ainsi les étapes manuelles qui ralentissaient auparavant les renouvellements ou les configurations.
RÉCUPÉRATION AUTOMATIQUE DES LICENCES DÉVELOPPEUR PARTENAIRE
Désormais, 4D récupère et active automatiquement vos licences développeur partenaire dès qu’elles changent, éliminant ainsi la nécessité de ressaisir manuellement les numéros de licence sur chaque machine. Lorsque vous vous connectez, 4D vérifie votre compte de programme partenaire via 4D Motor, détecte toute licence Developer ou Developer Pro disponible pour votre plate-forme et l’enregistre instantanément. Si une seule licence est disponible, l’activation se fait automatiquement ; si plusieurs sont trouvées, vous êtes invité à choisir celle que vous souhaitez utiliser.