Avancement

L’identification et l’authentification de l’entité en cours d’utilisation se font dans la librairie nebule. Mais l’interface avec l’utilisateur pour ça est faite par sylabe, et plus particulièrement par le module de gestion des entités.

L’interface de verrouillage/déverrouillage (connexion) a été modifiée pour avoir un style plus épurée et direct tout en présentant les informations minimums vitales. Elle met aussi beaucoup plus en évidence le fond d’écran, ce qui n’est plus le cas dans les autres page qui affichent beaucoup plus de contenu.

Voici ce que cela donne lorsque l’on va pour déverrouiller son entité :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5_-_2015-03-07_17.31.46

Et on arrive tout de suite sur la fenêtre pour verrouiller l’entité :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5_-_2015-03-07_17.32.47

Enfin, en cas de problème grave avec un composant interne remettant en cause le fonctionnement sécurisé, un indicateur passe en jaune (warning) ou en rouge (erreur) :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5_-_2015-03-07_17.35.03

Avancement

Quelques captures de l’avancement de la nouvelle interface de sylabe.

Déjà des couleurs du fond de la section centrale de la page sont faites de transparence de blanc, et non plus de noir. Le contraste est meilleur avec le menu, et ça me paraît plus sympa. L’affichage a été aussi un peu épuré, il n’y a plus la barre qui affiche le module en cours, un détail sans importance pour l’utilisateur…

La première capture montre l’affichage simple d’un objet. Le menu de gauche est adapté au module en cours d’utilisation. Ici, le module d’affichage des objets se prend de la place pour lui. Mais un autre module peut aussi en ajouter, ici c’est le module des nÅ“uds qui ajoute une option pour l’objet.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2df1f7d23473fa0e964acc0b621c1e6bfd8160003c6a1b7d9374c6f034c6aaf4_-_2015-03-01_23.23.50
Vue de l’objet.

De même le menu de droite adopte la couleur claire. Les icônes ressortent mieux.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2df1f7d23473fa0e964acc0b621c1e6bfd8160003c6a1b7d9374c6f034c6aaf4_-_2015-03-01_23.24.31
Vue du menu de droite.

Dans le module des nÅ“uds, on constate que les menu de gauche est moins fourni. Ici c’est le module des objets qui s’incruste un peu.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2df1f7d23473fa0e964acc0b621c1e6bfd8160003c6a1b7d9374c6f034c6aaf4_-_2015-03-01_23.28.00
Vue des nœuds.

Dans cette page, si on clique sur le lien « Faire de cet objet un nÅ“ud », on l’ajoute bien aux nÅ“uds de l’entité.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2df1f7d23473fa0e964acc0b621c1e6bfd8160003c6a1b7d9374c6f034c6aaf4_-_2015-03-01_23.28.38
Vue de l’ajout d’un objet comme nÅ“ud.

A noter en bas de la fenêtre la partie sous la barre rouge qui indique l’action réalisée, ici la création d’un lien. Le lien est représenté par son équivalent en icônes et couleurs.

Évidemment, l’action n’est possible que parce que l’entité est déverrouillée. Si ce n’est pas le cas, l’action n’est pas acceptée, et les icônes correspondantes ne sont pas affichées.

Avancement

Quelques corrections cosmétiques sur l’affichage… notamment pour les petites résolutions… et il y en a encore beaucoup en attente…

Les premières actions apparaissent avec les nÅ“uds, à condition que l’entité soit déverrouillée. Mais les actions ne sont pas encore réalisées, c’est juste la mécanique qui s’affiche en attendant de passer à l’acte. Voila ce que ça donne :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_0a7a0f6589b7112fe2272254fce5908fb7b88a65da0507dc0f9b3e3894c5ade6_-_2015-02-18_00.11.03

Et ici une autre vue concernant une entité :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_e5600bf20cd7cd94a495c17bfaa4e841ddefe4654c61a18883803567231d0b40_-_2015-02-18_00.23.35

Cette dernière vue montre que si les entités ont leur propre module d’affichage et de gestion, elles sont tout à fait affichables dans le module des objets, donc comme des objets. Il est possible de faire des choses avec les objets qui n’ont pas d’intérêt pour les entités, mais c’est faisable quand même.

Avancement

Il y avait une erreur de frappe dans la fonction de téléchargement des objets dans sylabe, ce qui empêchait l’affichage de l’image des entités. C’est corrigé.

Lorsque un message d’avertissement ou d’erreur s’affichait, il y avait une icône correspondante dans la barre du haut à côté de l’entité. Maintenant, en cliquant dessus, c’est un lien web, on est automatiquement déconnecté de l’entité et la session php de l’utilisateur est réinitialisée. La mise en cache des entités/objets et liens est désactivée pour cette page. Tous les objets et liens sont donc fermés si ils étaient protégés. C’est un mode de secours.

Voici ce qu’il s’affiche si suite à une corruption du bootstrap on clique sur le gros bouton rouge :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_7855163e7ad8be9534cba394b63f0da6432fbe537d3e9ed8ffb687a29fd1cdbd_-_2015-02-15_13.14.06

Étape suivante, rediriger l’utilisateur sur la page d’aide par défaut…

Avancement

Pour le nouveau fond d’écran, il faut attendre encore un peu, le temps de remettre en place la création de liens…

Par contre le déverrouillage et le verrouillage sont fonctionnels. Cela a pris beaucoup plus de temps que prévu puisqu’il a fallu déplacer la gestion de la session avant le chargement de la librairie. Il a fallu aussi un peu modifier la gestion des entités dans la librairie. CF Blog nebule – Authentification et mot de passe.

Une fois déverrouillé, cela donne ça, avec le fil rouge :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_7855163e7ad8be9534cba394b63f0da6432fbe537d3e9ed8ffb687a29fd1cdbd_-_2015-02-14_23.13.17

Avancement

L’interface évolue un peu au grès des évolutions du moteur. La remise en place de ce qui fonctionnait avant n’est pas aussi évidente et rapide…

Les menus ont été intervertis.

Les modules sont plus complets et commencent tout juste à prendre en charge les actions. Ils permettent aussi de compléter la traduction générale, le style CSS et les scriptes d’une page qui les concerne. Tout ce qui est fait dans l’interface repose sur un socle commun pour l’arrière plan et tout le reste est exporté dans des modules, certains seront peut-être intégrés par défaut au code de sylabe parce qu’ils seront indispensables. Les modules mériteront à eux seuls un article dans le blog et dans la documentation.

Voici ce que cela donne aujourd’hui pour la gestion des nÅ“uds :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_7855163e7ad8be9534cba394b63f0da6432fbe537d3e9ed8ffb687a29fd1cdbd_-_2015-02-08_23.36.05

Le logo de la métrologie a changé, mais c’est une erreur il va revenir…

Un autre exemple avec le module des entités. Celui-ci prendra en compte la gestion des entités connues, de la bascule entre entités et de la « connexion ». Le mécanisme de vérification de la connexion reste par contre exclusivement dans la librairie nebule.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_7855163e7ad8be9534cba394b63f0da6432fbe537d3e9ed8ffb687a29fd1cdbd_-_2015-02-08_23.49.55

Avancement

La nouvelle interface responsive design est en cours de mise en place. Quelques ajustement sont et seront faits au fur et à mesure de l’avancement.

La mise en place de modules est aussi en cours d’introduction. Pour l’instant ils ne sont pas fonctionnels. Va se poser la question de la sécurité autour des modules. Lequels va-t-on accepter de charger…

developpement_bachue_-_sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2014-12-14_23.20.11

Avancement

Le travail sur sylabe n’a pas encore repris.

Le travail principal consiste à remettre en place une librairie nebule en php orienté objet. Mais comme sylabe est maintenant assez volumineux, il ne pourra pas instantanément basculer sur cette nouvelle librairie. La libraire implémente donc les anciennes fonctions avec un passage progressif vers les nouvelles. En fait, pour vérifier les nouvelles fonctions, les anciennes fonctions seront reprogrammées pour faire appel aux nouvelles…
Puis le code de sylabe pourra vraiment migrer vers des fonctions php orienté objet, et par la suite basculer complètement en php orienté objet.

CF : blog nebule – Avancement

Avancement

Le portage de la librairie nebule en programmation orientée objet prend plus de temps que prévu. Elle n’est toujours pas à iso-fonctionnalité avec la version procédurale.

Il faudra, une fois à iso-fonctionnalité, retrouver des performances similaires. C’est déjà un problème prévisible puisque typiquement les liens ne sont plus manipulés par une simple chaîne de texte mais par un objet plus gros est complexe en mémoire…

Programmation orientée objet

Le projet prend un peu de retard pour mieux progresser.

Un ami programmeur m’a fortement suggéré, et m’a convaincu, de basculer tout le code de nebule en programmation objet. Je suis donc en cours d’auto-formation sur la programmation orientée objet (POO) dans php

Le projet sylabe est en attente de la migration de la librairie nebule en POO php. Il y aura ensuite une phase de migration du code de sylabe vers la POO php avant de pouvoir reprendre l’implémentation de nouvelles fonctionnalités…

Avancement

Pour aujourd’hui, quelques ajustements dans le mode log. Il permet le verrouillage/déverrouillage de l’entité en cours. Il n’y a plus que le paramètre out disponible pour l’option log, par défaut, on affiche soit un déverrouillage, soit un verrouillage en fonction de l’état de connexion.

Et un nouveau test s’est ajouté dans le dock, on vérifie le bon fonctionnement de la vérification des signatures de liens. C’est fait simultanément sur un lien valide et un autre invalide.

 shot-2014-05-21_22-35-43

Avancement

La dernière version, celle d’aujourd’hui, est en cours de diffusion par bachue.

Cependant, il y a quelques problèmes de portabilité vers le serveur en FreeBSD…
Une des fonctions crypto ne fonctionne pas (pas installée), donc premier bouton d’erreur rouge. La fonction de chargement d’un fichier (include) ne fonctionne pas tout à fait pareil, ce qui a nécessité de modifier le code du bootstrap, donc deuxième bouton d’erreur rouge.

Il y a des problèmes lors de la lecture de certaines valeurs des entités, notamment visiblement lorsqu’une propriété est vide, sans valeur.

Enfin, sur les machines Linux, la synchro des composants ne marche pas… Il faut le faire à la main en attendant de trouver le problème…

Voici sur bachue les erreurs de portabilité :

shot-2014-05-19_22-22-55

Avancement

Voici de nouvelles icônes pour les modes, encore à compléter :

mchr ment mobjkey

La librairie php de nebule intègre maintenant les modifications pour la version 1.2 . L’écriture des liens se fait aussi sur l’entité signataire avec la prise en compte de la spécificité du lien de type c lors de l’écriture.

La traduction est intégralement passée sous forme de tableau. Chaque langue est implémentée dans un objet dédié avec gestion des mises à jours. Chaque langue est reconnue dans sylabe comme un module externe optionnel. Seuls les modules de langues signés par bachue ou par l’entité courante sont pris en compte.

shot-2014-05-18_23-04-23

Avancement

Quelques petits ajustements cosmétiques avec notamment une icône pour la métrologie :

imetrolog

D’autres icônes sont encore en préparation.

La grosse partie qui a pris une bonne journée, c’est la transformation du système de traduction vers un nouveau à base de tableaux. Chaque langue sera stockée dans un objet avec une référence à un titre et une image. Contrairement à ce qui était prévu, il n’y aura pas de vérification de syntaxe à la volée des fichiers de langues, ils seront pris en compte que si signés par bachue ou l’entité locale. C’est en quelque sorte une forme d’extensions optionnelles à sylabe sous contrôle de bachue.

Avancement

Un gros morceau a été fait avec la transformation progressive de la traduction vers un tableau par langue. Chaque langue se voit attribué un drapeau et un commentaire dans la langue en question.

Le tableau pour le français est presque terminé.

Ces tableaux drapeaux seront exportés dans des objets sauf pour la langue par défaut : le français. Tout pourra être mis à jour via les liens de type u. De nouvelles langues pourront ainsi facilement être ajoutées.

Il faut quand même prévoir un mécanisme de vérification de l’objet chargé pour qu’il ne puisse contenir que des modifications de tableaux de langue…

Avancement

Quelques ajouts plutôt cosmétiques dans l’interface comme un fond plus foncé ou clair sous l’objet dans l’affichage.

L’aide progresse et peut maintenant afficher plus facilement des balises et images diverses. On peut notamment voir un cas extrême dans le mode des liens :

shot-2014-05-15_16-40-59

Le code de sylabe vérifie maintenant l’empreinte du bootstrap. En cas de problème ce n’est pas bloquant, mais on est avertit qu’il y a une mise à jour à faire faire par l’administrateur du serveur. La méthode n’est pas infaillible mais elle augment la difficulté pour corrompre une instance sylabe. Le petit panneau du bilan de santé dans le dock intègre l’indicateur correspondant :

shot-2014-05-15_16-45-26

Un système de gestion du thème est mis en place. Il permet de remplacer le thème CSS par défaut d’une page. Ce mécanisme est découpé en quatre parties, toutes avec possibilité de mise à jour :

  1. Une petite feuille de style commune et minimale. Elle est surtout dédiée à la gestion du fond d’écran.
  2. Une feuille de style dédiée à l’affichage de sylabe lorsque une entité est déverrouillée.
  3. Une feuille de style dédiée à l’affichage de sylabe lorsque aucune entité n’est déverrouillée.
  4. Une image utilisée avec le thème par défaut.

La possibilité de modifier le thème est contrôlé par les variables $sylabe_permitfollowcss et $sylabe_permitphpcss. La deuxième autorise la présence de balises qui peuvent servir à lancer du code pour adapter le thème en temps réel.

Voici l’image par défaut (licence CC BY-NC-SA) :

bg

Enfin, les liens générés sont maintenant en version 1.2, ce qui n’est que déclaratif actuellement.