Auteur: Nicolas Brachfogel

Nicolas Brachfogel
- Product Owner & Senior Developer - Nicolas Brachfogel a rejoint 4D en 2017 en tant que développeur senior (4D Server et networking) et en tant que Product Owner pour gérer la mise en production d'Apple Silicon. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles, ainsi que de s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients. Diplômé de l'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas a commencé sa carrière en tant que développeur de logiciels en 2001. Après plusieurs années de programmation en Java et C++, il s'est spécialisé dans le développement client-serveur pour des sociétés de jeux vidéo. En tant que développeur/architecte serveur, il a travaillé avec succès sur les architectures serveur de nombreux jeux (Dofus Arena, Drakerz, Trivial Pursuit Go !).
Produit blank

ORDA : Attribution d’un chemin à un attribut blob ou image

Les commandes de base de données non-ORDA vous permettaient de placer des images et des blobs en dehors du fichier de données grâce à la commande SET EXTERNAL DATA PATH. Cette commande n’est pas adaptée à ORDA et c’est pourquoi nous avons décidé d’ajouter une fonctionnalité similaire dans la v20 R3 : La possibilité d’assigner à un attribut de type blob ou image un chemin sur le disque. Laissez-moi vous en dire plus à ce sujet.

Produit blank

Dépréciation des commandes PHP et suppression de l’interprète PHP intégré à 4D

PHP a joué un rôle crucial dans le développement web, et il a été introduit dans 4D v12 pour offrir des fonctionnalités qui n’étaient pas facilement disponibles dans le langage natif, telles que les fonctionnalités zip, hash ou LDAP. Au fil du temps, 4D a intégré un grand nombre de ces fonctions PHP dans ses fonctionnalités de base. Par conséquent, nous avons décidé de supprimer l’interpréteur PHP intégré dans 4D v20 R3 et de commencer le processus de dépréciation des commandes PHP dans la v21.

Bien que nous ne supprimions pas entièrement les commandes PHP de 4D, nous vous encourageons vivement à utiliser les system worker pour exécuter du code PHP à l’avenir.

Ce billet de blog vous guidera dans ce processus de transition, en montrant comment utiliser un interpréteur externe avec PHP Execute et en expliquant comment exécuter du code PHP de manière efficace avec un system worker.

Produit blank

Activer la couche QUIC à partir des paramètres de structure, d’utilisateur et de base de données

Dans la 4D v20 beta, nous étions ravis de vous montrer notre travail sur la nouvelle couche réseau QUIC. Comme la couche est encore en version bêta, nous l’avons désactivée pour la version finale de la LTS. La couche QUIC sera disponible dans les versions R, afin que vous puissiez suivre son développement et nous aider à l’améliorer.

Alors que 4D v20 ne permettait de changer de couche réseau que dans les applications interprétées et obligeait à un nouveau build pour les applications enginées, 4D v20 R2 permet de changer de couche dans les applications compilées/construites via les paramètres de structure, d’utilisateur et de base de données, afin de faciliter les tests même en production.

Produit blank

Déclarer les propriétés d’une classe

Le langage 4D est en constante amélioration. Pour la v20, nous vous apportons une nouvelle fonctionnalité qui facilitera l’utilisation de vos classes : les propriétés de classe déclarées. Déclarer les propriétés de vos classes améliorera grandement l’autocomplétion et vous donnera également des erreurs claires lors de la compilation. Vous voulez en savoir plus ? Laissez-moi vous montrer comment cela fonctionne !

Produit blank

Log des requêtes ORDA sur le serveur

Depuis sa sortie, la popularité d’ORDA ne cesse de croître et il est maintenant largement utilisé sur vos serveurs de production. Avec 4D v20, nous vous apportons 2 améliorations sur la façon dont les requêtes ORDA sont loggées côté serveur. La première est une amélioration du request log qui donnera désormais plus d’informations sur les requêtes ORDA. La seconde est l’ajout d’un log ORDA côté serveur similaire au log ORDA côté client. Permettez-moi de vous présenter ces nouvelles fonctionnalités.

Produit blank

Intégration automatique de multiples journaux

En tant que développeurs et administrateurs de bases de données, vous savez combien il est important de pouvoir récupérer rapidement des données corrompues. Les sauvegardes et les journaux vous aident dans cette tâche. Mais il arrive qu’une sauvegarde soit corrompue et que vous deviez revenir à une sauvegarde plus ancienne et intégrer plusieurs journaux consécutivement. Il se peut aussi que votre fichier journal prenne trop d’ampleur et que vous préfériez en créer régulièrement un nouveau pour éviter d’encombrer le disque dur de votre serveur. Ou encore, vous utilisez votre propre méthode de sauvegarde des données. Dans tous ces cas, vous devez intégrer plusieurs journaux, ce qui n’est possible que manuellement via le Centre de Sécurité et de Maintenance.

Avec 4D v20, vous pouvez intégrer automatiquement de multiples journaux au démarrage de votre base de données. Laissez-moi vous expliquer comment cela fonctionne.

Produit blank

QUIC : l’avenir des couches réseau

Les serveurs en production tournant sous 4D les plus imposants acceptent plus d’un millier de connexions simultanées, et ce nombre ne cesse de croître. Par conséquent, la performance devient un objectif de plus en plus important pour nos équipes. Le protocole QUIC, utilisé par la nouvelle version du standard HTTP, a été spécialement conçu pour accroître la vitesse et la fiabilité. Comme nous sommes toujours à la recherche de technologies intéressantes, nous travaillons au remplacement de notre protocole réseau de bas niveau par le protocole QUIC.

Pour la v20, vous pouvez passer à cette couche réseau et vérifier si cela améliore vos performances. Il s’agit encore d’un bêta test, car nous avons besoin de vos retours avant de l’utiliser comme couche réseau par défaut. Vous ne pourrez donc l’utiliser que sur les versions bêta de 4D.

Produit blank

4D Backup, VSS snapshots et les nouvelles commandes pour verrouiller le datastore

4D vous offre plusieurs moyens intégrés de sauvegarder vos données : La sauvegarde 4D et l’utilisation d’un serveur miroir. Avec 4D v20, 4D expose des commandes internes pour verrouiller le datastore, ce qui vous permet de copier vos données pendant que 4D est en cours d’exécution.
Tout d’abord, parlons des différents moyens de sauvegarder vos données avec 4D.

Produit blank

Dernières améliorations du client HTTP

Traduit automatiquement de Deepl

Avec 4D v19R6, nous vous avons apporté une nouvelle façon d’effectuer des requêtes HTTP : les classes HTTP. A l’époque, certaines des fonctionnalités des classes HTTP n’étaient pas finalisées, car nous voulions les adapter à la nouvelle syntaxe. C’est maintenant chose faite ! Dans la v19R7, les fonctionnalités de réponses compressées, de réponses en morceaux et de redirections sont désormais complètes.

En bonus, nous avons également ajouté une nouvelle façon d’enregistrer les requêtes HTTP. Et comme il est utile pour tout le monde, cette nouvelle journalisation est disponible pour les nouvelles classes HTTP ainsi que pour l’ancienne syntaxe.

Produit blank

Classes HTTP : Une nouvelle façon d’effectuer des requêtes HTTP asynchrones

Traduit automatiquement de Deepl

Dans notre effort constant pour améliorer la syntaxe et les fonctionnalités de 4D, nous avons décidé de vous apporter de nouvelles commandes pour effectuer des requêtes HTTP dans 4D : les classes HTTP. Elles sont disponibles dès la version 19 R6 de 4D et bénéficieront de nombreuses améliorations dans les prochaines versions. Laissez-moi vous montrer comment les utiliser dès maintenant.