bootstrap – pré-chargement des applications

Suite à la Reprise du bootstrap en programmation procédurale, le code à été en très grande partie revu.

La version en programmation procédurale est maintenant utilisée par défaut. La version en programmation orientée objet est laissée en l’état, elle n’est plus fonctionnelle.

Le nouveau bootstrap est pleinement fonctionnel à l’exception de la partie de premier chargement lorsque l’on installe une nouvelle instance de serveur.

Contrairement à avant, les applications et la librairie sont pré-chargés lors du premier lancement de l’application. Cela se passe dans une page dédiée qui une fois l’application en mémoire fait un rechargement de la page. Au rechargement, on est dans l’application. La page de pré-chargement peut être un peu longue comme dans la capture d’écran plus bas mais sur des machines récentes elle passera en moins d’une seconde.
Surtout, cette fonctionnalité qui paraît un peu cosmétique au premier abord va permettre de mieux gérer la sérialisation/désérialisation des différentes instances d’une application. C’est à dire qu’une fois le pré-chargement réalisé avec tous les calculs et parcours de liens effectués, le chargements suivants seront beaucoup plus rapides.

Le travail sur le pré-chargement a contraint la remise à plat des fonctions liées à l’instanciation et à la sérialisation/désérialisation des différentes classes des applications. Cela a été l’occasion de faire le ménage aussi; De fait, les applications ne sont plus compatibles avec les anciennes version du bootstrap.

Voici donc à quoi ressemble le bootstrap lorsqu’il est interrompu par l’utilisateur ou si il y a une erreur :

020161011 - bootstrap_-_2016-10-11_22.11.40
Page du bootstrap interrompu sur initiative de l’utilisateur.

Et enfin, voici à quoi ressemble la page de pré-chargement des applications :

020161011 - bootstrap_-_2016-10-11_22.10.53
Page de pré-chargement de l’application sylabe.

Mode de récupération

Un mode de récupération était déjà plus ou moins bien implémenté. Il a été repris à l’occasion de la ré-écriture du bootstrap et il a notamment été corrigé dans la librairie nebule.

L’activation de ce mode de récupération empêche simplement l’entité instance du serveur et l’entité par défaut de devenir autorités locales. C’est à dire que les options qui leur permettent de devenir autorités locales ne sont plus pris en compte.
Le fait d’être autorité locale permet de générer des liens, qui seront réellement reconnus, pour faire des mises à jours de la librairie et des applications au même titre que le maître du code bachue. C’est comme cela que l’on peut travailler le code signé sans avoir recours en permanence au maître du code. Et c’est aussi comme cela que l’on peut mettre en place sa propre application sans qu’elle soit signée du maître du code.

L’activation peut se faire via les arguments de l’URL en ajoutant rescue si l’option permitOnlineRescue est à true.
En cas de besoin, option modeRescue permet à true d’activer et de forcer le mode de récupération sans tenir compte de l’option permitOnlineRescue.

Reprise du bootstrap en programmation procédurale

Depuis une semaine, le code du bootstrap en PHP procédural est en cours de refonte complète. La base utilisée était assez ancienne, elle datait d’avant le passage à la programmation orientée objet.

Ce travail correspond presque à une ré-écriture de zéro du bootstrap. L’inconvénient de cette version c’est qu’il sera pls difficile d’utiliser la librairie nebule sur autre chose qu’un système de fichier, par exemple une base de données. Mais le gros avantage c’est que la maintenance de la librairie est fortement simplifiée par rapport à sa version orientée objet. En effet le bootstrap nécessite quelques ajustements et notamment la désactivation de certaines fonctionnalitées. Ce serait trop compliqué de garder deux librairies orientées objets en parrallèle.

Cette nouvelle version introduit cependant quelques nouveautées :

  • Le changement de puppetmaster est complètement fonctionnel.
  • La version de librairie utilisée avec une application est mémorisée pour cette application (le temps de la session PHP) jusqu’à demande d’activation des mises à jours ou fermeture de la session par l’utilisateur.
  • En plus de l’instance de l’applicaiton proprement dite, on mémorise aussi dans la session PHP les instances des classes d’affichage Display, d’action Action et de traduction Translate pour gagner en performance.

La page du bootstrap est en cours de mise à jour pour suivre cette évolution.

C’est cette version qui sera désormés utilisé pour les nouvelles versions des applications.

Ajout d’émotions sur des objets – suite 6

Suite des articles sur l’Ajout d’émotions sur des objets et suites 1 2 3 4 5, et Liens d’émotions.

Les émotions sont maintenant fonctionnelles dans la version encore en cours de développement de la librairie des des applications comme sylabe ou klicty.

1joie1 2confiance1 3peur1 4surprise1 5triste1 6degout1 7colere1 8interet1

Une page dédiée à l’Iconographie dans nebule est créé afin de recenser les différents icônes utilisées par la partie affichage (display) de la librairie. La première rubrique concerne justement les icônes des émotions.

Voici à quoi ressemble les émotions sur un objet affiché dans sylabe avec plusieurs émotions de plusieurs entités :

020161001 sylabe_-_Dieu_Thor_-_2016-10-01_22.39.40

Ajout d’émotions sur des objets – suite 5

Suite des articles sur l’Ajout d’émotions sur des objets et suites 1 2 3 4, et Liens d’émotions.

Les émotions sont une façon de marque un objet avec les sentiments qu’il inspire à un être humain. Les émotions sont plutôt subjectives là où les avis sont beaucoup plus objectifs. L’intensité que l’on peut donner à une émotion est toujours strictement positive, le sens positif ou négatif est déjà porté par l’émotion elle-même.

Les émotions étaient fonctionnelles sur les objets dans la version 2014 de sylabe. Mais le code ayant été entièrement repris en php orienté objet elles n’avaient pas encore été ré-implémentées. Le nécessaire est en cours de remise en place directement dans la librairie afin que les émotions sur les objets soient utilisables dans toutes les applications.

Les avis ne sont pas maintenus.

En parallèle, la réflexion à long terme continue sur la pondération des objets en vue de leur suppression automatique au bout d’une certain temps. C’est la fonction d’oublie. Il faut que cette pondération soit aisée à utiliser, et surtout qu’elle ait du sens pour que l’utilisateur prenne le temps de le faire. Il est clair qu’un champs de quantification de l’importance d’un objet est difficile à appréhender et ne sera pas utilisé. La gestion des émotions devient en fait la solution évidente de pondération. De plus, la pondération d’un objet, qui représente en fait son importance, peut influencer et être influencée par l’importance des objets qui lui sont liés.
Sans pondération, la gestion de l’oublie sera chaotique et peu fiable, donc pas utilisée.

La facilité d’usage et la pertinence de la solution de gestion des émotions et leurs pondérations sont donc déterminantes pour leur adoption et leur utilisation mais aussi plus tard pour la gestion de l’oublie.

Il y a plusieurs façons d’aborder la pondération avec les émotions. Continuer la lecture de Ajout d’émotions sur des objets – suite 5

Version 020160830

Une nouvelle version 020160830 est publiée. Les changements étant assez profonds par rapport à la précédente version publiée, elle va subir une phase de test. Il n’est pas possible de mettre à jour une instance de serveur existante sans remplacer le bootstrap, c’est à dire le fichier index.php. Les sites web des applications sylabe et klicty seront mis à niveau progressivement plus tard.

La nouvelle version est diffusée pour l’instant sous forme d’une nouvelle installation d’instance de serveur.
Elle est disponible ici : 6b48a8ced09ef7ede2da001d8bf10a6fe5ad9d586ca1f1856eeec9fbc8ad4688

La procédure d’installation va être créée pour avoir quelque chose de complètement fonctionnel. Jusque là la procédure d’installation ne concernait que sylabe.

Les nouvelles applications option, upload et defolt sont disponibles à partir de cette version.

Les options sont maintenant en grande partie nébulisées dans la librairie, c’est à dire gérées par des liens. Le fichier nebule.env reste mais va permettre de figer les options que l’on ne voudra pas voir modifiée par les liens.

Nouvelles applications

En plus de messae qui est une application standard à destination des utilisateurs, il y a maintenant 3 autres applications qui sont cette fois plutôt destinées au côté technique de nebule.

Les nouvelles applications :

  • defolt : Application d’affichage par défaut pour les serveurs sans applications interactives.
  • upload : Application de chargement de liens pré-signés du maître du code exclusivement.
  • option : Application de visualisation et gestion des options de configuration, des applications, des entités de recouvrement et entités autorités locales.

Le bootstrap évolue aussi. Une version en php procédurale est reprise en concurrence de la version php orienté objet. Continuer la lecture de Nouvelles applications

Nouvelles applications

La librairie nebule s’étoffe un peu plus au point de devenir un « framework » qui facilite grandement le déploiement de nouvelles applications. Les applications (classe Application) ont une classe abstraite parente avec tout un tas de fonctions disponibles. Idem pour les classes Display, Action et Translate des applications. Ces fonctions peuvent être directement utilisées ou surchargées si besoin.

Le développement de l’application messae est en attente de stabilisation de la librairie pour pouvoir être lancée.

Une base d’application a été ajouté à la page Applications.

Status expérimental

En 2012, le développement de la librairie nebule en bash avait montré que l’on pouvait manipuler facilement des objets avec des liens.

La mise en ligne de la dernière version (20160303) de l’application klicty en php montre que l’on peut en faire quelque chose de concret. Donc, le statut des projets nebule, sylabe et klicty passera de « expérimental » à « en développement » lors de la publication des prochaines versions.

Page par défaut du bootstrap

Le bootstrap évolue un peu dans la présentation de sa page par défaut :

20151022 nebule_bootstrap_-_2015-10-22_23.47.17

Une nouvelle application klicty s’ajoute à sylabe, c’est pour plus tard…

Mais sur un serveur, il n’y aura sûrement qu’une seule application, et elle sera utilisée par défaut plutôt que de passer par cette page du bootstrap.

Gestion des applications au niveau du bootstrap

Le bootstrap était jusque là assez sommaire. Il se contentait de trouver la dernière version valide de l’application en cours puis la chargeait pour affichage à l’utilisateur. Une page spécifique permettait, et permet toujours, de voir les caractéristiques du bootstrap et de son travail à des fins de dépannage, mais sans interaction possible.

20151018 nebule_bootstrap_-_2015-10-18_23.19.21
La page de dépannage du bootstrap. Continuer la lecture de Gestion des applications au niveau du bootstrap