Avancement

Certains problèmes de performances actuels viennent aussi de l’accumulation de liens pour l’entité locale utilisée. C’est celle qui est chargée par défaut. Et c’est aussi celle qui réalise les développements et valide les codes à charger au fur et à mesure du développement. Cette entité a plus de 70000 liens (70k+).

Une première conclusion, même avec autant de liens ça marche… mais c’est un peu lent.

Il y a plusieurs solutions qui peuvent être apportées à court ou long terme :

  1. Régénérer une nouvelle entité pour le développement, et une autre comme entité locale par défaut.
  2. Nettoyer les liens anciens qu’elle a générée mais qui ne la concerne pas directement.
  3. Mettre en cache les entités, leurs caractéristiques déjà extraites, et les instances nebule et sylabe… ainsi que toutes les instances affairantes.

La génération d’une nouvelle entité est une solution à cours terme mais elle rappelle qu’il manque le code nécessaire au déploiement d’une nouvelle instance de serveur nebule. Le code est en cours d’implémentation dans le bootstrap

Avancement

Le module de simulation de systèmes de fichiers est stable et complètement fonctionnel. Il peut bien sûr être amélioré plus tard en terme de fonctionnalités.

Maintenant, avant tout autre avancement dans les fonctionnalités, il faut trouver pour accélérer le code. En l’état, c’est globalement fonctionnel mais les pages sont beaucoup trop longues à charger.
Une des pistes d’accélération est de se servir de la session PHP pour mémoriser et restaurer les instances de la librairie nebule et de sylabe pour toutes les pages chargées par un même utilisateur. Cela veut dire que les vérifications ne se feront plus que une seule fois pour un utilisateur, lors de l’instanciation de la librairie et de sylabe.
Une seconde possibilité d’amélioration est de gérer une partie de l’affichage par des inserts dans les pages de type iframe mais en utilisant le javascript pour modifier le contenu.
Enfin, et ce travail a déjà commencé, une autre amélioration est de ne charger la session et ses variables que lors de consultations et de modifications. Ainsi PHP, qui bloque une page si la session est déjà ouvert, pourra vraiment traiter plusieurs parties en parallèle sans blocage. Par exemple si dans le code d’une page, en cours de traitement, demande une image chiffrée, le chargement de cette image qui nécessite elle aussi le traitement du même code ne sera pas bloqué en attendant la fin de traitement du code de la page…