Skip to main content

Mise à jour de Dynamic Book en version 4

1) Réécriture du code source en C#

Suite à l'insatisfaction concernant le système de licence de « Rem Objects », nous avons entièrement réécrit le code en C#12. Cette nouvelle approche nous permet de ne plus être dépendants d'une plateforme spécifique pour le développement, que ce soit sur Windows ou Mac. De plus, le projet peut désormais être compilé et débogué sur Rocky Linux.

2) Mise à jour vers .NET 8.0

Le projet « Dynamic Book » a été mis à jour vers la version LTS .NET 8. Cette mise à jour apporte des améliorations significatives, notamment dans la gestion des « records », des tableaux en ligne (InlineArray) et des performances globales.

3) Mise à jour de FirebirdSQL vers 5.0

Nous avons recompilé FirebirdSQL à partir des sources GitHub pour passer à la version LI-V5.0.2.1497 Firebird 5.0, ODS 13.1. Cette mise à jour inclut également les sources de Lucene++ et de Lucene_UDR.

4) Formatage des données en UTF-8

La structure de données par défaut de FirebirdSQL, utilisant une collation iso8859, convient bien aux documents en français ou en anglais. Cependant, pour d'autres langues, la gestion devenait plus complexe. Nous avons donc opté pour une collation par défaut à None, avec des champs contenant du texte formaté en UTF-8 sans collation par défaut.

5) Intégration de documents en russe

Pour valider notre choix d'adopter une structure en UTF-8, nous avons intégré quatre documents en russe, bien que nous ne comprenions pas leur contenu. Voici les documents ajoutés :

Cette intégration a permis de tester la viabilité de la structure UTF-8 pour gérer des contenus dans différentes langues, et les résultats se sont révélés fonctionnels, confirmant ainsi l'efficacité de ce choix technique.

6) Performances améliorées 😊

Nous avons migré vers un serveur Hetzner situé dans les locaux d'Helsinki (sous l'éolienne). Avec 12 cœurs et un RAID1 SSD, Nginx renvoie le dernier octet d'une page en moyenne en 7 ms (minimum 2 ms, maximum 10 ms), tandis que l'UDR de recherche répond en seulement 2 ms.