Actualités

4D Agenda : du code de l’ère Carbon en 2003 à un plug-in macOS moderne en 2026

Nous avons achevé une modernisation majeure de 4D Agenda : ce plug-in classique du début des années 2000 dispose désormais d’un code macOS propre, stable et moderne. Le code d’origine, datant d’environ 2003, avait longtemps bien servi, mais accumulait les anciens rendus, branches de plateformes, hypothèses du Mac classique et couches de compatibilité dignes d’un musée.

4D Agenda : du code de l’ère Carbon en 2003 à un plug-in macOS moderne en 2026

4D Agenda : du code de l’ère Carbon en 2003 à un plug-in macOS moderne en 2026

Nous avons achevé une modernisation majeure de 4D Agenda, faisant évoluer ce plug-in 4D classique, né au début des années 2000, vers une base de code macOS propre, stable et moderne.

Le code d’origine remonte à environ 2003. Il a rendu de bons services pendant de nombreuses années, mais accumulait les strates habituelles : anciens mécanismes de dessin, branches de plateformes historiques, hypothèses issues du Mac classique et assez de code de compatibilité pour ravir un conservateur de musée.

L’objectif de la réécriture était simple à énoncer, moins simple à réaliser : obtenir une version macOS irréprochable, stable, rapide, maintenable et prête pour la prochaine génération d’applications 4D.

Ce qui a changé

  • Suppression des anciennes hypothèses de rendu liées à Carbon, QuickDraw, ATSUI et au modèle d’OS 9.
  • Reconstruction de la couche graphique autour du dessin macOS moderne avec Core Graphics et Core Text.
  • Modernisation de la gestion des polices, des polices de remplacement, de la mesure et du dessin du texte.
  • Révision du rendu des vues jour, semaine et mois pour un rafraîchissement plus fluide et une mise en page prévisible.
  • Correction du déplacement et du redimensionnement des événements, de la sélection simple et multiple, des rappels, du défilement et du défilement automatique.
  • Amélioration de l’affichage des événements sur plusieurs jours dans les vues jour, semaine et mois.
  • Ajout de styles modernes pour les événements : couleurs d’accent, fonds translucides, espacements améliorés et typographie plus nette.
  • Audit de toutes les commandes 4D et alignement des commandes du plug-in sur les attentes de la base de démonstration.
  • Ajout de tests natifs pour les calculs de dates, la mise en page, les chaînes, le formatage, le comportement des thèmes et la cohérence des commandes.
  • Création d’un manuel développeur décrivant les commandes, paramètres, rappels et comportements d’intégration attendus.

Points techniques

La base de code donne désormais la priorité à macOS et est nettement plus claire. Les anciennes branches multiplateformes ont été retirées de l’arborescence macOS active. La version Windows sera traitée séparément plus tard, avec une séparation propre des moteurs de rendu plutôt qu’un nouveau labyrinthe de conditions de plateforme.

Le rendu utilise désormais une abstraction graphique moderne au lieu des anciennes API de dessin. Le texte repose sur une sélection de polices moderne et sur Core Text, ce qui corrige de nombreux plantages et défauts de mise en page dus aux anciens identifiants de polices et aux conversions de chaînes non sûres.

Le modèle d’interaction a lui aussi été largement reconstruit. Le déplacement des événements se reflète visuellement en temps réel, les mises à jour en base attendent le relâchement de la souris et les rappels coûteux ne bloquent plus la fluidité de l’interface. En pratique, le calendrier se comporte à nouveau comme un calendrier, et non comme une machine à remonter le temps munie d’un pointeur de souris.

Travail sur la stabilité

Une grande partie de la réécriture visait à éliminer les plantages. Nous avons identifié plusieurs causes dans la conversion des polices, le dessin du texte, les rappels 4D, le glisser-déposer, l’utilisation des contextes graphiques, les mises à jour du curseur et le déclenchement des rafraîchissements. Ces parcours ont été réécrits ou protégés pour rendre le comportement prévisible dans l’hôte 4D.

L’architecture du plug-in est ainsi beaucoup plus sûre : moins d’hypothèses historiques implicites, des responsabilités mieux délimitées, des modules C++ plus clairs et de meilleures vérifications avant l’acceptation des modifications.

Conçu pour 2026, dans le respect de 2003

4D Agenda a suffisamment d’années de service pour mériter du respect. La réécriture conserve ce qui le rend utile : le modèle de commandes familier côté 4D, avec des mécanismes internes fragiles remplacés.

Le plug-in reste donc bien 4D Agenda. Simplement, il ne semble plus attendre un Power Mac beige à proximité.

État actuel : la version macOS modernisée approche de la fin de bêta ou de la version candidate à la publication. Le code compile proprement avec CMake et CLion, la suite de tests natifs réussit et le plug-in est prêt pour des essais plus larges en conditions réelles dans des applications 4D.

Retour aux actualités

À découvrir

Articles associés

2 mai 2026

Dix heures de débogage dans AccountView

Parfois, la maintenance logicielle est claire et prévisible. Et parfois, ce sont dix heures face à Visual FoxPro, des contrôles ActiveX anciens, des fichiers DBF temporaires, du code compilé brouillé, des visionneuses cachées, des composants PDF qui plantent et un système de gestion du transport obstiné qui refuse de livrer ses secrets.

27 avr. 2026

Affichage de documents dans FoxPro

Créer une visionneuse de documents très rapide pour les anciennes applications FoxPro, sans exiger de moderniser d’abord l’application hôte.

Vous souhaitez travailler avec nous ?

Contactez-nous pour échanger sur votre projet.