Paramètres de compatibilité – tout le reste (partie 4)

Traduit automatiquement de Deepl

Nous avons commencé une série de billets de blog sur les paramètres de compatibilité et les options secrètes qui peuvent aider à améliorer considérablement les performances et le comportement de vos applications(QUERY BY FORMULA, Transactions et point et virgule). Ce dernier article de la série donnera un aperçu des paramètres restants.

Voici un exemple d’une structure créée il y a plusieurs années. Les options de compatibilité sont désactivées, ce qui signifie qu’elle fonctionne entièrement en mode v17.

N’oubliez pas que les paramètres de compatibilité vous permettent d’émuler un comportement plus ancien, mais qu’ils ne sont pas censés être permanents. Ils vous accordent un temps de migration prolongé, mais n’attendez pas trop longtemps … avec le temps, les options de migration disparaissent. Étant donné que les structures nouvellement créées ne permettent pas d’utiliser ces anciens paramètres, elles sont de moins en moins testées, ce qui augmente le risque de comportements inattendus.

Mode Unicode

OS X, Windows NT, et 4D v11 (et plus récent) sont conçus pour et fonctionnent uniquement en mode Unicode. Le moteur de base de données de 4D ne fonctionne qu’avec Unicode. Le langage supporte un mode de compatibilité, où chaque ligne exécutée convertit le texte vers/depuis Unicode afin d’émuler la gestion de l’encodage MacRoman. Et oui, cela diminue les performances. Au cours des 10 dernières années, de nombreuses notes techniques, des sessions du 4D Summit et des formations ont été consacrées à la migration vers Unicode. Si ce n’est pas déjà fait, il est temps de s’y mettre.

Une fois Unicode activé, vous devez également activer le paramètre de compatibilité « Save methods as Unicode ». Une fois cette option activée, chaque nouvelle méthode analysée est enregistrée en Unicode, ce qui permet d’utiliser des jeux de caractères étendus en tant que littéraux dans votre code. Il n’y a aucun problème de compatibilité avec l’enregistrement des méthodes en Unicode, sauf si vous utilisez d’anciens plugins pour lire/écrire directement les méthodes (qui sont dépréciés depuis longtemps maintenant).

Enfin, la notation des objets n’est possible qu’avec Unicode.

Utiliser le type de date au lieu du format de date ISO dans les objets

Cette option est nouvelle dans la v17, consultez l’article du blog sur les dates dans les objets pour en savoir plus.

Utiliser la nouvelle architecture pour les déploiements d’applications

Cette option facilite la création d’applications en lecture seule et, comme le chemin d’accès au dernier serveur ou fichier de données utilisé n’est plus stocké dans l’application, elle facilite également le déploiement des mises à jour. Pour en savoir plus, consultez cet article de blog.

Empêcher la chute des données ne provenant pas de 4D

Si ce paramètre est activé, vos applications fonctionnent toujours en mode 4D v2004, où le glisser-déposer d’autres applications vers 4D (autre que du texte et des images) n’était pas possible.

Si ce n’est pas déjà fait, le moment est venu de prendre en charge le glisser-déposer. Pour plus d’informations, lisez les chapitres  » Glisser-déposer » et  » Gestion du presse-papiers » de la documentation.

Ne pas utiliser le nouveau mode de référencement contextuel

Ce paramètre est tellement vieux que je ne me souviens même plus si cela émule 4D 6.0 ou 6.5.

Si vous n’utilisez pas le serveur Web de 4D, il suffit de le désactiver. Si vous l’utilisez, qu’il est activé, et que vous n’avez pas touché à votre code depuis 15 ans, il est temps de faire une mise à jour …

Supprimer « / » sur les URLs inconnues

Ceci configure le serveur Web en mode 4D v2003. Si ce paramètre est activé, il est temps de réécrire votre code.

Assignation automatique des variables

Si cette option est activée : URGENT – LISEZ CECI MAINTENANT !

Il s’agit d’un problème de sécurité potentiel, voire énorme (en fonction de votre code).

Il y a 20 ans, c’était une fonction de confort qui a été rapidement remplacée par une approche plus sûre (et qui nécessitait plus de codage).

Lorsqu’elle est activée, les variables HTML utilisées dans un formulaire HTML sont automatiquement mappées en variables 4D pour autant qu’elles soient définies dans Compiler_Web. Bien que seul un petit sous-ensemble de variables soit généralement défini à cet endroit, une menace potentielle demeure, à savoir que ces variables pourraient être écrasées par un pirate informatique.

Une meilleure façon d’assigner des variables (introduite avec 4D 6.5) est d’utiliser la méthode suivante WEB GET VARIABLES.

4D vous recommande fortement de réécrire votre code (si nécessaire) et de désactiver ce paramètre.

… en conclusion

Ce dernier article termine la série sur les paramètres de compatibilité, nous espérons que vous l’avez apprécié. Maintenant, profitez de vos nouvelles connaissances en matière de compatibilité et amusez-vous à configurer vos applications pour qu’elles fonctionnent de manière sûre et optimale !

Thomas Maul
• VP of Strategy, 4D Product Line • When 4D's German subsidiary was created in 1988, Thomas joined the company as a Technical Director, helping to build the 4D developer community in both Germany and Austria. After many years supporting customers with technical problems and being increasingly involved in sales and management issues, he was promoted to Managing Director for 4D Germany in 1999. As a member of the executive board since 2005, he became part of worldwide strategy of the company, leading to his current position as Vice President of Strategy, 4D Product Line, responsible for defining and executing the overall strategy for the 4D product line in relation to the Program, R&D, Sales and Marketing teams.