Définition des groupes

La gestion des groupes est entièrement revue et corrigée dans la bibliothèque nebule en PHP orienté objet et dans les applications (sylabe, klicty, messae).
Une fois les applications mises à jour, les groupes existants disparaîtront.

Cet article invalide la définition de groupe telle que définit dans l’article Définition des groupes du 14/01/2016.

Cette implémentation des groupes sera aussi utilisée pour les conversations contenant des messages.

OG / Groupe

Le groupe est un objet définit comme tel, c’est à dire qu’il doit avoir un type mime nebule/objet/groupe.

Fondamentalement, le groupe est un ensemble de plusieurs objets. C’est à dire, c’est le regroupement d’au moins deux objets. Le lien peut donc à ce titre être vu comme la matérialisation d’un groupe. Mais la définition du groupe doit être plus restrictive afin que celui-ci soit utilisable. Pour cela, dans nebule, le groupe n’est reconnu comme tel uniquement si il est marqué de son type mime. Il est cependant possible d’instancier explicitement un objet comme groupe et de l’utiliser comme tel en cas de besoin.

Le groupe va permettre de regrouper, et donc d’associer et de retrouver, des objets. L’objet du groupe va avoir des liens vers d’autres objets afin de les définir comme membres du groupe.

Un groupe peut avoir des liens de membres vers des objets définis aussi comme groupes. Ces objets peuvent être vus comme des sous-groupes. La bibliothèque nebule ne prend en compte qu’un seul niveau de groupe, c’est à dire que les sous-groupes sont gérés simplement comme des objets.

Continuer la lecture de Définition des groupes

Réflexion sur l’évolution de l’interface web pour nebule – dans klicty

Suite des articles Réflexion sur l’évolution de l’interface web pour nebule, objets, entités et entités 2.

Voici l’évolution en cours de l’interface de klicty.

La vue des entités pour se connecter :

020171022-shot-2017-10-22_18-15-25 Continuer la lecture de Réflexion sur l’évolution de l’interface web pour nebule – dans klicty

bootstrap – Mise en ligne

Une nouvelle 020170508 version du bootstrap est mise en ligne.

Le développement continue sur l’application option avec sa séparation de la gestion des autorités globales et locales.

La réflexion est toujours en cours sur l’avenir des autorités globales mais les autorités locales vont sûrement être scindées en plusieurs rôles sous des dénominations différentes.

Pas d’installateur complet pour cette fois, les deux applications sylabe et klicty sont mise à jour.

Le code est disponible ici :

94373583d31df5241fdf19de50be0e65fb6f65387188866818aebadd5a7217c5

Modification de l’ordre de prise en compte des propriétés d’un objet

Je reprends progressivement le développement de nebule pour corriger le bugg de klicty et améliorer dans sylabe le module correspondant.
Et je tombe sur un problème non dans l’implémentation mais dans la façon dont on prend en compte les propriétés d’un objet, ou plutôt l’ordre de prise en compte lorsque cela est fait plusieurs fois. C’est à dire, quel propriété retient-on en priorité lorsqu’il y a plusieurs liens d’un objet vers plusieurs propriétés.
Le problème n’a pas une solution difficile en soi mais le fait qu’il concerne une brique importante de nebule me freine à le modifier sans plus de réflexion. Les implications que cela engendre peuvent être très importantes dans pleins d’endroits du code de la bibliothèque de nebule et des applications. Continuer la lecture de Modification de l’ordre de prise en compte des propriétés d’un objet

Échange ou téléchargement d’objet

Un objet peut être récupéré de deux façons.

  1. Via un lien web avec comme argument /o/id on télécharge le contenu de l’objet avec comme nom son identifiant id. L’empreinte est ensuite vérifié pour voir si elle correspond à l’identifiant.
  2. Via un lien web avec comme argument ?o=id on télécharge le contenu de l’objet avec comme nom le nom déclaré par les liens nebule. cela permet de télécharger l’objet sous une forme de fichier classique. On fait ainsi une dé-nébulisation de l’objet. C’est aussi le seul moyen d’avoir accès au contenu protégé hors nebule.

Mais pour un utilisateur, ces deux méthodes ne se valent pas. La première méthode sert à la synchronisation et l’échange d’objets entre programmes et n’a pas pas d’intérêt direct pour l’utilisateur. La seconde lui permet au contraire de reprendre un objet sous une forme classique de fichier.

Actuellement un problème existe dans klicty puisque un objet non protégé peut être téléchargé, c’est le but de l’application, mais c’est fait avec la mauvaise méthode. Donc le fichier téléchargé n’a pas le bon nom. Alors que pour un objet protégé ce problème n’existe pas puisqu’il faut impérativement passer par la deuxième méthode pour avoir accès au contenu non protégé.

La première méthode doit être exclusivement réservée à la synchronisation d’objets.

CF : bootstrap – Arguments en ligne et accès directs

bootstrap – Mise en ligne

Une nouvelle 020161129 version du bootstrap est mise en ligne.

Cette version corrige les problèmes d’accès à l’application 0.

Le développement continue sur l’application option afin de la rendre plus facile à utiliser et pour ajouter de nouvelles possibilités.

Les icônes des émotions sont de retour dans sylabe et klicty.

Le code est disponible ici :

a9cd70c397af6c02ffc7cf964a89beaed941293cb8fca6ae80947161f7bc1465

bootstrap – Mise en ligne

Une nouvelle 020161123 version du bootstrap est mise en ligne, le différentiel :

bc3f2cf23e92fa55fca4f20307236d7653726f9f7ca4593589316f3b8bdb9a53

Comme c’est un différentiel, il faut importer les liens puis copier les objets, et enfin remplacer le bootstrap. La bibliothèque et toutes les applications ont été mises à jour.

L’application 0 semble avoir des problèmes sur certains serveurs. Les serveurs de test ne semblent par contre pas concernés. Le problème est en cours d’investigation…

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

Objet virtuel avec rôle – Suite

Suite de l’article sur l’Objet virtuel avec rôle.

En fait ces objets virtuels sont déjà utilisés dans sylabe et klicty mais on se contente actuellement de générer aléatoirement la valeur de l’ID des objets de références. Et la taille des ID est la même qu’une empreinte de 256bits.

C’est utilisé par les groupes, le code va évoluer pour réduire la taille d’aléa utilisé et ajouter une partie fixe ou moins aléatoire. C’est utilisé par les nÅ“uds mais ils vont disparaître. Et c’est utilisé par les arborescences, là aussi le code va évoluer.

La part d’aléa va être réduite à 64bits et un préfixe assez long sera ajouté pour avoir une taille d’ID entre 129 et 191bits.

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.

Messagerie indépendante

La messagerie était un module de sylabe et avait déjà évolué pour ressembler plutôt à des conversation intégrant des messages.

Une nouvelle application va être lancée afin de présenter les conversations dans une application indépendante de la même façon que klicty. Mais le module des conversations dans sylabe va perduré et les conversations et messages seront complètement interopérables. En fait, la nouvelle application reprendra la base fonctionnelle et modulaire de sylabe mais avec un affichage simplifié et avec uniquement les modules entité, objet, groupe et messagerie. L’affichage principal sera différent mais les modules devraient être exactement les mêmes.

Afin de faciliter la création de nouvelles applications et la réutilisation des modules existants, le code de la librairie à été assez sérieusement modifié afin de centraliser dans celui-ci un maximum de fonctions et classes communes. A ce titre, la forme interne des applications et des modules à été changée et devient incompatible avec les précédentes applications et modules.

La nouvelle application des conversations s’appellera messae.
Un blog est déjà actif pour suivre son développement : http://blog.messae.org/

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.

Entités de recouvrement

Le mécanisme de recouvrement des objets protégés et des liens dissimulés est en train d’être doucement mis en place.

D’un point de vue théorique, cela répond à deux problèmes similaires.
En entreprise, et pas que, il est recommandé d’utiliser une ou plusieurs autorités de recouvrement lorsque l’on utilise de la cryptographie pour protéger ses données. Les décideurs le prennent souvent comme une contraite et oublient de mettre en place ce mécanisme de restauration des données chiffrées. Et ce mécanisme est différent de celui de restauration classique alors qu’il est perçu comme étant le même. Résultat, lorsqu’un employé critique vient à manquer, ses données, critiques aussi, deviennent subitement inaccessibles. La disponibilité c’est aussi de la sécurité.
Pour différentes raisons, des états plus ou moins démocratiques peuvent imposer la mise en place d’un mécanisme de déchiffrement des données de leurs concitoyens.

Mais, afin de ne pas rompre la confiance, ce mécanisme doit être loyale, c’est à dire public, transparent et vérifiable.

D’un point de vue pratique, la mise en place comprend deux parties.
Il faut commencer par recenser les entités éligibles comme autorités de recouvrement. Pour l’instant dans le code de la librairie en php, la liste de ces entités est renvoyée vide. Les applications peuvent donc commencer à prendre en compte ces entités pour l’affichage public. C’est le cas dans klicty mais pas encore dans sylabe.
Il faut ensuite, lors de la protection d’un objet ou de la dissimulation d’un lien, dupliquer la protection ou le lien pour chacune des entités de recouvrement. Cela revient simplement à faire un partage de la protection pour un objet protégé en duplicant le lien de type k de chiffrement de la clé de session.

Pour terminer, la librairie n’intégrera pas par défaut d’entité de recouvrement. Si des entités sont définies comme tel, ce sera uniquement par choix (ou obligation) de l’entité responsable du serveur.

Intégration des groupes dans la librairie php

Suite à la définition des groupes, l’intégration a commencé dans la librairie php orienté objet.

L’intégration est profonde puisque les groupes sont gérés comme des objets spécifiques comme c’était déjà le cas pour les entités. Une classe dédiée ainsi que tout un tas de fonctions leurs sont dédiés et personnalisés.

Les applications sylabe et klicty vont intégrer progressivement les groupes, notamment dans un module adapté.

Dans le même temps, un groupe fermé étant uniquement constitué de liens d’une seule entité (et cela doit être vérifié), le filtre social est en cours de mise en place. Ainsi, il est possible de restreindre la prise en compte des liens suivant ces filtres sociaux :

  • self : liens de l’entité ;
  • strict : liens de l’entité et des entités autorités locales ;
  • all : toutes les entités, mais avec un classement par pondération des entités.

L’activation du filtre social et donc de la possibilité de le choisir dans le code à nécessité un revue de tout le code de la librairie et des applications. Il reste à vérifier les modules de sylabe.

Intégration d’une partie affichage dans la librairie PHP

Des corrections de buggs sont réalisés dans la librairie nebule en PHP ainsi que dans le bootstrap en fonction des progrès de klicty.

Pour faciliter le développement et la cohérence de l’affichage, la librairie nebule en PHP intègre maintenant une partie ‘display‘ dédiée à l’affichage de petites parties de pages comme par exemple un objet. La gestion globale de l’affichage reste du ressort des applications comme sylabe ou klicty.

Projet klicty

Voici donc venir le projet klicty. C’est un dérivé de sylabe mais en plus spécialisé et donc plus léger aussi. En attendant qu’il ai sont propre blog, voici donc quelques captures. Globalement, il va permettre le partage de fichiers sur Internet, mais bien sûr le moteur c’est nebule

20151031 klicty_-_hôte_bachue_-_2015-11-01_00.41.11Écran d’accueil.

Continuer la lecture de Projet klicty

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.