Avancement

Dans le module de gestion des objets, la vue de description de l’objet a été complétée. Tous les attributs de l’objet sont affichés en commençant par les attributs correspondants à des objets à usage réservé, c’est à dire tout ce qui est reconnu par nebule pour caractériser un objet comme sa date de création. Les images sont affichées de façon réduite et les textes sont tronqués.

Avancement

Il y a quelques jours, le puppetmaster a été réveillé pour générer de nouveaux liens. De nouveaux objets de nebule sont maintenant reconnus comme des objets à usage réservé :

  • nebule/objet/entite/maitre/securite
  • nebule/objet/entite/maitre/code
  • nebule/objet/entite/maitre/annuaire
  • nebule/objet/entite/maitre/temps

Et il permettent de désigner via un lien de type f les différentes entités qui ont les rôles correspondants.

Le code de la librairie nebule en php et le bootstrap s’en servent désormais pour retrouver les entités avec ces rôles.

CF : nebule – Liens marqués entre le puppetmaster et les autres entités

Avancement

Peu de choses nouvelles concernant nebule, mais des améliorations dans l’interface sylabe. Maintenant, le menu de gauche est définit par un point d’ancrage (hook) sur lequel les modules peuvent ajouter des entrées personnalisées. Chaque module est ainsi maître des entrées qu’il génère. C’est plus facile à gérer et surtout plus facile pour gérer les options quand c’est le module concerné qui les manipule plutôt qu’un autre.

Le système de point d’ancrage a été poussé plus loin puisqu’il est maintenant aussi possible de créer des menus d’actions dans le contenu de la page en appelant simplement… l’affichage d’un point d’ancrage.

Cela donne par exemple :

20150722 sylabe_-_developpement_bachue_-_2015-07-23_00.31.21

La visualisation des objets est en train de basculer dans l’instance Display. C’est utilisé par le module des objets, mais ce le sera aussi par d’autres modules comme la messagerie. C’est l’occasion d’y ajouter une gestion de la vérification du contenu des objets affichés par rapport à leurs empreintes cryptographiques.

Un affichage type d’un objet trop grand mais que l’on autorise à afficher :

20150722 sylabe_-_developpement_bachue_-_2015-07-23_00.29.08

Et un objet qui n’est pas trop grand s’affiche avec un message pour dire que son empreinte est vérifiée :

20150722 sylabe_-_developpement_bachue_-_2015-07-23_00.41.51

Le contrôle de l’affichage ou non se fait par une option de sylabe. Par défaut, un objet qui ne peut être vérifié n’est pas affiché.

Ne reste plus qu’à traduire correctement les messages…

Emulation de messagerie

Le choix avait été fait de ne pas gérer la messagerie comme une application vraiment à part, mais de considérer que tout lien f est potentiellement un message. Cette façon de voir est plus fondamentale, plus propre et plus proche de la gestion de l’information. Malheureusement, elle pose quelques problèmes pour certaines fonctionnalités classiques de la messagerie telle que nous l’utilisons tous aujourd’hui. Les problèmes de fonctionnalités ne sont pas graves mais peuvent être perturbants.

Pour commencer, comment marquer un message comme lu puisque cela revient à faire un lien d’un lien, ce que ne permet pas nebule.
Nous sommes ici dans un fonctionnement attendu de la messagerie dans laquelle chaque message est important et doit donc être lu. Ce comportement est différent du message de réseau social qui n’a pas forcément d’importance et n’est pas destiné à être lu impérativement. On distingue le message destiné à la masse des gens, même si elle peut être très limitée, du message destiné spécifiquement à un individu. La notion d’importance dans l’attente de lecture du message dépend surtout du nombre de destinataires.
Il ne faut pas non plus penser que le spammer s’attend à ce que tout le monde lise ses messages. C’est du rêve mais ce genre de message est très peu lu et est donc envoyé en masse pour compenser ce manque d’importance ou d’intérêt.

Ensuite, lorsque l’on marque comme supprimé un message, c’est que l’on supprime explicitement le lien f qui fait que c’est un message. Si on souhaite annuler cette suppression, la théorie dans nebule veut que l’on recrée un lien mais avec une date plus récente. Or si la date est plus récente, cela altère l’information de la date du message. Ensuite, c’est l’entité qui à reçu le message qui génère le nouveau lien à une date plus récente, et non l’entité d’origine. On perd donc la provenance du message. Ce n’est pas acceptable dans ces conditions de permettre la restauration d’un message.

Même si il est probable que l’on reviendra plus tard sur une solution plus universelle et fondamentale, on va partir pour sylabe sur un module de messagerie s’appuyant sur un objet dédié à la messagerie. Par exemple l’objet contenant ‘sylabe/messagerie’.

Avancement

Le module de messagerie avance. Il commence à gérer les messages dissimulés et le messages protégés :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_425fad5c1e9ab9806550bc1fc8abd39fe230f8214d61d98df7136bb82e130b58_-_2015-06-28_00.31.38

La notion de message a été un peu revue. On distingue trois cas :

  1. Le lien de type f : le message classique non protégé. Le champs méta du registre de lien contient l’entité à qui on transmet l’objet, c’est à dire l’entité définit dans le champs source du registre de lien. Ainsi, un champs méta à ‘0‘ exclut le lien comme message. Tout se passe comme si le message était transmis dans le contexte de l’entité visée, c’est l’utilisé du champs méta pour le lien de type f.
  2. Le lien de type k : le message est un objet protégé, c’est à dire dont le contenu est chiffré. Ne s’affiche ici que le message dont on peut effectivement récupérer le contenu. Une erreur s’affiche si il y a un problème.
  3. Le lien de type c : le message est définit par un lien qui est dissimulé. On sait juste ici que une entité à envoyé quelque chose à une autre entité. Le lien dissimulé peut être un lien de type f ou un lien de type k (protection d’objet). Une erreur s’affiche si il y a un problème.

Avancement

Le chiffrement est fonctionnel. Voici par exemple la page de création d’un texte :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_145cd24e46ff2a03fb742b0b7e6dcea2576a6035ad79fe095f5c3acc1098bae1_-_2015-06-23_23.28.11

On note que l’on coche ici l’option de protection du texte après envoi.

L’objet correspondant au texte a pour identifiant :

aee27be7e46fd6246b2084a954c092ce7464bcf2e9e939a721f5c11e70a20646aee27be7e46fd6246b2084a954c092ce7464bcf2e9e939a721f5c11e70a20646

En validant, on revient vers la même page mais avec deux parties en plus. La première en haut concerne le nouvel objet créé et un lien pour y accéder. Et en bas la suite des opérations réalisées, c’est à dire la création des objets, la génération des liens associés aux objets et au processus de protection, et enfin à la suppression de l’objet protégé, c’est à dire le texte que l’on vient de transmettre :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_145cd24e46ff2a03fb742b0b7e6dcea2576a6035ad79fe095f5c3acc1098bae1_-_2015-06-23_23.28.44

Si on suit le bouton pour afficher l’objet, on arrive sur la page d’affichage de l’objet protégé :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_aee27be7e46fd6246b2084a954c092ce7464bcf2e9e939a721f5c11e70a20646_-_2015-06-23_23.29.07

On remarque l’avertissement de confidentialité de l’objet affiché. Continuer la lecture de Avancement

Avancement

L’affichage des liens d’un objet était intégré au modules des objets. C’est maintenant un module à part entière. Et il est entièrement reconstruit :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_425fad5c1e9ab9806550bc1fc8abd39fe230f8214d61d98df7136bb82e130b58_-_2015-06-15_00.44.41

Le plus long a été de reprendre, corriger et remettre en forme le gros pavé de code qui permet la traduction des liens en langage humain.

Mais le plus gros du travail aujourd’hui n’est pas visible, c’est la poursuite de l’implémentation de la protection des objets, avec une bonne dose de cryptographie.
Dans la gestion des objets, le jeux consiste à détecter que l’objet est protégé et de trouver les liens qui intéressent directement l’entité en cours d’utilisation. Un objet peut avoir été protégé plusieurs fois par diverses entités. Mais pour une même protection, il peut y avoir plusieurs entités concernées (destinataires). Il faut donc retrouver si l’entité est capable de voir le contenu de l’objet protégé, c’est à dire de le déchiffrer.
Ensuite, il faut déchiffrer le contenu si besoin. Ce travail est fait dans la librairie nebule et doit être le plus transparent possible pour sylabe. Tout au plus peut on afficher à l’utilisateur que l’objet qu’il visualise est protégé et qu’il ne devrait peut-être pas le montrer à tout le monde…

Avancement

Le chiffrement des objets avance. Voici une page de test du cycle complet de génération d’un objet puis de sa protections, càd son chiffrement puis sa suppression :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2015-06-13_02.26.43

On peut voir la représentation de la création des objets et des liens avec une couleur pour chaque champs du registre de lien. Les couleurs dépendent directement de l’empreinte des objets, c’est une forme d’empreinte visuelle.

On note enfin que la dernière action est en erreur, en rouge. C’est la suppression de l’objet source suite à son chiffrement. La fonction derrière qui réalise la suppression d’un objet existe mais n’est pas fonctionnelle. Cette fonction de suppression est un risque et doit être réalisée avec soin.

Avancement

Un nouveau fond de page remplace celui assez sombre de la cascade :

bg_nuages

Le module de messagerie est un peu amélioré, c’est surtout de la cosmétique :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_425fad5c1e9ab9806550bc1fc8abd39fe230f8214d61d98df7136bb82e130b58_-_2015-06-06_21.33.39

Il y a encore une réflexion sur la messagerie et sa façon de l’implémenter. On continue sur la façon de faire actuelle amis avec un risque de devoir changer si ça pose trop de problèmes.

Enfin, dans le module de téléchargement, une nouvelle page permet de créer un objet directement depuis un texte copié/collé :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_30199915e30e00681c68687890937204ff4c8a6468d4209c73631671f618e71e_-_2015-06-06_21.29.39

Juste pour ça une nouvelle icône a été créée. Mais elle n’est pas satisfaisante dans l’interface :

addtxt

Cette partie pour envoyer un texte brute va surtout permettre de faire des essais pour la mise en place de la protection, c’est à dire le chiffrement, des objets. Il en faut un certain nombre sur lesquels on peut se tromper… Puis cela servira aussi à la mise en place de l’offuscation de liens, c’est à dire de leur dissimulation, lors de l’envoie de fichier. La protection et la dissimulation seront aussi appliqués sur des objets et liens existants une fois fonctionnel.

La protection des objets est déjà fonctionnelle dans la précédente version de sylabe. Cependant, la mise en place dans les objets en programmation php orientée objet n’est pas juste un copier/coller…

Avancement

Le module d’émulation de ce que l’on peut appeler la messagerie est en cours de préparation. Voici ce que cela donne pour l’instant sur la messagerie d’une autre entité :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_425fad5c1e9ab9806550bc1fc8abd39fe230f8214d61d98df7136bb82e130b58_-_2015-06-05_00.31.54

Il faut noter ici que, bien que l’on aie une entité déverrouillée, il n’est pas possible de voir autre chose que les messages publiques d’une entité. Les messages protégés ou offusqués (anonymisés) ne sont pas visible et ne peuvent pas l’être si l’entité destinataire des messages n’est pas une entité esclave de l’entité en cours d’utilisation.

Cette vue de messagerie est considérée comme une émulation puisque ce n’est qu’une vue particulière des échanges entre entités. Elle présentera les mêmes informations que dans une émulation de blog ou de réseau social mais avec soit une forme différente soit avec un tri différent.

Il faut continuer la mise en forme pour que ce soit plus accessible à monsieur tout le monde.

Nouvelles icônes et module messagerie

Il faut que sylabe serve à quelque chose… et un des premiers usages est le stockage de fichiers, sécurisé ou non. Un autre usage est la messagerie, un nouveau module est créé pour ça.

De nouvelles icônes ont été créées pour le téléchargement d’objets, l’aide en ligne et la messagerie :

idownload ihlp mmsg msglist msgsent

Voici l’écran de bienvenue :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_b46453986901e7f084b0c7c923c89b33e1e85cf6690c04cf5525387e7039cd41_-_2015-05-28_10.33.02

Et enfin, le début de l’intégration du module de messagerie :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_b46453986901e7f084b0c7c923c89b33e1e85cf6690c04cf5525387e7039cd41_-_2015-05-28_10.33.57

Avancement

Le travail portait depuis un moment sur la création de nouvelles entités. Il fallait commencer par la création de nouvelles entités indépendantes sans déverrouillage préalable. C’est à dire pour un portail public la possibilité pour tout un chacun de pouvoir créer une entité.

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2015-04-26_00.48.16

C’est maintenant fonctionnel. Voici une création :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2015-04-25_23.32.14

On peut voir que aucune entité n’est préalablement déverrouillée. En bas apparaît quelques lignes sur les actions de création de l’entité. Le nommage complet, c’est à dire le nom, prénom, surnom, préfixe, suffixe et type, sont fonctionnels. Le surnom apparaît dans l’interface entre double cotes.

Après, en basculant vers la nouvelle entité, il est tout a fait possible de la déverrouiller. La nouvelle entité est fonctionnelle. Voici l’entité créée ci-dessus lorsque déverrouillée :

sylabe_-_153153bf7f7f98c41e3fbdce6a7f9dfe2c854974d5310d6047de862459e2dd8b_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2015-04-25_23.55.40

La traduction est aussi effective pour toute l’interface de création.

Évidemment, un serveur est par défaut configuré pour refuser la création ouverte au public. Ce qui donne ce message sur la page de création ou lors d’une tentative de création forcée :

sylabe_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_15d194c0ac5da323b50e868ab62c17c0a5470283c92f3d8a8631743b5cd9f42f_-_2015-04-25_23.47.46

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

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

Anticipation

L’interface va être un peu revue pour la rendre plus basique dans sa forme et notamment lui permettre de mieux s’afficher dans un écran de tablette voir de téléphone.
Pour cela, le menu du haut doit être simplifié. Il n’y aura plus de partie dédiée à l’objet en cours mais plutôt une partie identité en cours, une partie accolée avec des icônes du mode d’affichage et une icône pour changer de mode d’affichage.

Le fonctionnement interne va changer un peu pour intégrer des vues dans les modes d’affichages. Les modes d’affichages sont à rapprocher des applications dans le principe et devront à se titre devenir des modules activables/désactivables.
Deux modules seront présents obligatoirement, celui d’affichage des objets et celui d’authentification.
Il y aura une option possible dans l’URL, failsafe, pour ne charger que les modules validés par bachue et non ceux éventuellement validés par l’entité en cours. C’est un mode de fonctionnement dégradé mais épuré des applications annexes qui pourraient poser problème.
Il y aura aussi une option possible dans l’URL, rescue, pour ne charger que les modules minimum, c’est à dire celui-ci des objets et celui de l’authentification. C’est un mode de dépannage uniquement pour les gros problèmes. Les deux seuls modules actifs restants sont ceux intégrés par défaut avec sylabe.