Bulles d’aide

J’ai trouvé un moyen très intéressant de placer l’aide en ligne non pas dans le contenu mais sous forme de bulles d’aide :

http://webbricks.org/bricks/bubulle/

C’est disponible sous licence « Creative Commons – Paternité 2.0 France – http://creativecommons.org/licenses/by/2.0/fr/« 

Je l’intègre au code dès que j’aurais du temps.

Merci à l’auteur Erwan Lefèvre pour le code et son partage :-)

Avancement

Le processus de gestion de l’entité bachue est toujours en cours de mise en place. Mais j’ai pu manipuler l’entité en environnement contrôlé. Les liens des dernières versions de sylabe (20140304) et de la librairie nebule (20140302) ont pu être signés par bachue.

Depuis ce matin, nous avons en ligne les toutes dernières versions :
– bootstrap : ae4d4a9acc8a754f4862c7ddf252079ee5fc9cc4b2fc878f0adecc3c37aea72f(1)
– sylabe : 0a65036105b001b926d1d0336aa4de5fde1d8a476f325f9832e524d914e7e465
– librairie nebule : 6045d142eb96144333cc99c6f1d7c2499fb25e7cf3e3b3aa7cea306d70d2eb15

La variable $nebule_io_maxdata a nécessité une augmentation de sa valeur. L’objet du code sylabe fait plus que 100000octets. Sans cette modification, le téléchargement marche bien mais l’affichage est tronqué. Ce sera répercuté dans le code de la librairie plus tard.

Les recherches de mises à jours de sylabe ne se déroulent pas correctement. Il y a visiblement un problème dans la recherche récursive des mises à jours (résolution du graphe de mise à jour). A priori, on atteint la limite permise pour le parcours récursif, fixé à 100. En regardant le fonctionnement du code, cette limite est interprétée aujourd’hui comme une limite du nombre d’objets parcourus et non du nombre de niveau traversé. Modifier ce comportement est un vrai sujet de questionnement sur la sûreté de fonctionnement de cette partie de code.
Il serait possible de garder ce mode de fonctionnement mais de permettre le fonctionnement correcte de la mise à jour même si on tape la limite. Dans certains cas extrêmes, une mise à jour pourra nécessiter d’être rejouée plusieurs fois pour obtenir les toutes dernières versions des codes.
Il est possible de réellement gérer le nombre de niveaux traversés. Mais si un niveau contient un très grand nombres de liens de mises à jours valides, on a une forme de déni de service.

(1) Le bootstrap ne doit pas être téléchargé par le navigateur. Celui-ci interprète la partie du code html qui lui semble valide et n’affiche pas le code. Il faut utiliser à la place un autre outil comme wget.

Avancement

Le mode d’affichage log a été complètement passé en revue pour ajouter la traduction des textes. Mais tous les textes ne sont pas encore traduits puisque cela se fait dans la partie spécifique à la traduction. Un grand nombre de textes sont déjà en attente de traduction vers l’anglais et l’espagnol.

Un sélecteur de chargement a été intégré à sylabe et au bootstrap pour permettre de choisir la version de librairie et la version de sylabe que l’on veut charger. Cela sert un peu au développement. Par contre, cela peut être très utile en cas de mise à jour partiel qui provoquerait une impossibilité d’accéder à sylabe, par exemple avec une fonction manquante. Dans les URL générées, cela se traduit par l’ajout des options boostrap_load= et bootstrap_lib=. La variable $sylabe_permitaskbootstrap permet d’ajouter ou non ces options automatiquement. Le fonctionnement n’est que partiel puisque toutes les URL ne sont pas corrigées.
Mais ce mécanisme à un côté pervers, il permet de la même façon de charger un autre code et une autre librairie, ou de faire appel à des versions plus anciennes et potentiellement buggées. La variable mis en place ne protège pas d’une insertion manuelle des options. Il faut mettre en place un mécanisme directement dans le bootstrap pour désactiver par défaut les options.

Migration du bootstrap et de la librairie

Jusque là, le code du bootstrap et de la librairie nebule en php était dépendant du projet sylabe.

Maintenant, ils sont détachés du projet sylabe et sont directement rattachés au projet nebule, ce qui est plus cohérent. Le projet sylabe va cependant continuer à s’appuier sur le bootstrap et la librairie nebule et même à les faire progresser.

Les codes actuellement en ligne, diffusés par l’entité bachue, sont disponibles ici :
bootstrap
librairie

CF : Projet nebule – Migration du bootstrap et de la librairie