📓 archives/Outils-pour-g__rer-ses-projets.md by @communecter ☆

Voici le lien du google doc pour pouvoir contribuer plus facilement Ă  ce document : https://docs.google.com/document/d/1OtnSuMg4xxzadAW_gJ162ahB5UpBfSWAumksUrwjzlg/edit?usp=sharing

Le but principal de ce document est d’avoir une rĂ©flexion collective sur cette nouvelle fonctionnalitĂ©.

Intro

But du document

Je voulais mettre par Ă©crit ma vision d’une telle fonctionnalitĂ© au sein de communecter. Je pense que ma vision n’est pas la mĂȘme que la votre, mais je vais tout de mĂȘme l’exposer ici. Je vais essayer d’ĂȘtre le plus prĂ©cis possible. Je vais dĂ©crire ici ce qui pour moi serait le top du top pour engager une discussion avec vous et partir ensuite sur des bases solides pour l’implĂ©mentation de cette fonctionnalitĂ©.

Ce document sert avant tout Ă  lister ce qu’on aimerait dans le meilleur des cas. Ce n’est pas le document pour dire comment on va le faire, mais qu’est-ce qu’on veut.

Syntaxe du document

J’ai utilisĂ© une syntaxe assez simple pour s’y retrouver avec les termes dans communecter :

Prenons notre temps

La fonctionnalitĂ© Ă©tant totalement indĂ©pendante de communecter, nous pouvons vraiment prendre notre temps et faire quelque chose de gĂ©nial qui dĂ©fiera toutes les lois de l’internet et qui deviendra bien entendu une rĂ©fĂ©rence dans la gestion de projets de n’importe quelle entitĂ©.

Valeurs

Pour un internet décentralisé et indépendant

Ce qui est bien les outils libres c’est qu’ils peuvent hĂ©bergĂ© par n’importe qui. Mais ça c’est dans la thĂ©orie, parce que dans la pratique, c’est plus compliquĂ© que ça.

Il faut avoir les compétences

Tout le monde ne peut pas hĂ©berger des outils libres parce qu’il faut se former Ă  ça, ça prend du temps et c’est pas forcĂ©ment accessible Ă  tout le monde de prime abord.

Notre projet est alors isolé

Un des gros freins est le fait de se couper des autres. Quand on héberge des outils libres, ces outils libres ne sont pas connectés avec le reste du monde.

Pour illustrer ça je vais prendre l’exemple de loomio :

A MOINS QUE

On puisse connecter le serveur de la personne avec un autre serveur qui serait lĂ  avant tout pour centraliser l’information.

Ce qui nous permet d’avoir plusieurs serveurs qui communiquent entre eux, sans avoir un serveur maĂźtre.

Voici une image qui illustre bien mes propos

POURQUOI ?

Cela permet plusieurs choses.

Pour la personne qui s’auto-hĂ©berge

Elle ne dĂ©pend pas d’une tierce organisation, elle est donc indĂ©pendante. Le rapport de domination entre l’organisation qui a dĂ©veloppĂ© l’outil et la personne n’existe pas. En plus de cela elle est libre de pouvoir filtrer les donnĂ©es qu’elle souhaite, utiliser les protocoles qu’elle a envie, etc… Libre et indĂ©pendante, c’est tout de mĂȘme sympa :D

Pour les sites avec un gros besoin d’hĂ©bergement (type communecter)

Si de plus en plus de personnes s’auto-hĂ©bergent ou si de plus en plus d’hĂ©bergeurs indĂ©pendants Ă©mergent (du type CHATONS ), alors ça fait moins de charge pour les sites avec un gros besoin d’hĂ©bergement qui n’ont alors plus besoin de gĂ©rer trop de serveur et peuvent se focaliser sur le dĂ©veloppement de leur logiciel.

De plus une communautĂ© trĂšs active dĂ©fend ardemment ces nouvelles formes d’hĂ©bergements, si communecter rentre dans cette communautĂ©, cela veut dire potentiellement :

En donnant la possibilitĂ© Ă  sa communautĂ© de s’auto-hĂ©berger, un site comme communecter pourrait faire des Ă©conomies, mais aussi renforcer les liens de toutes les personnes qui gravitent autour de la ressource.

Les liens entre les entités renforcent les projets de tou-te-s

Des liens se crĂ©ent au fur et Ă  mesure que les projets avancent, Ă©voluent, mutent, fusionnent, etc… De cette mise en lien nĂ© plus de possibilitĂ©, plus d’idĂ©es et d’actions pour constamment amĂ©liorer les ressources d’un projet. Si mettre en lien les gens est si puissant, il faut crĂ©er des mĂ©thodes et des outils pour permettre cela.

Écosystùme des outils open source

CrĂ©er un Ă©cosystĂšme rĂ©silients des outils open source avec une bonne interopĂ©rabilitĂ© entre eux, avec la possibilitĂ© de modifier le contenu d’une application avec une autre, permettra de rĂ©ellement concurrencer les gros pontes du marchĂ©. Cela permettra alors de sensibiliser plus de gens Ă  ce type de pratique et donc augmenter la communautĂ© des commoners numĂ©riques. #cerclevertueux

ÉcosystĂšme des crĂ©ateurs de lien

CrĂ©er un Ă©cosystĂšme rĂ©silients des crĂ©ateurs de lien, avec de la documentation en commun, savoir qui fait quoi, oĂč, comment, qui a besoin de quoi, etc… Permettrait d’ĂȘtre plus performant dans notre maniĂšre d’aborder le travail collaboratif et notre maniĂšre d’apprĂ©hender notre sociĂ©tĂ©. C’est un moteur considĂ©rable pour l’Ă©volution de notre systĂšme vers un autre, plus collaboratif.

Communecter dans tout ça ?

Le but est que communecter s’intĂšgre parfaitement dans les valeurs citĂ©es plus haut et qu’elle devienne la plateforme de rĂ©fĂ©rence pour tous les projets ouverts de notre siĂšcle !

Cahier des charges de la nouvelle fonctionnalité

Les applis ça sert à qui ? Qui peut en créer ?

Toutes les ENTITÉS de communecter, aussi bien une ORGANISATION, qu’un CITOYEN, qu’un PROJET, qu’un LIEU peuvent crĂ©er des applis.

Des applis connectées entre elles

Toutes les applis sont connectées entre elles.

C’est Ă  dire que si par exemple une ORGANISATION crĂ©e une action dans un des ses PROJET dans l’application wekan et qu’elle prĂ©cise que ce PROJET se passe dans un LIEU gĂ©rĂ©e par des CITOYENS. Alors on pourra accĂ©der Ă  l’action de par le wekan de toutes les ENTITÉS citĂ©es.

Cela veut aussi dire qu’on peut ajouter/enlever du contenu dans une appli alors qu’on est dans une autre (comme par exemple le lien entre trello et slack).

Ce type de feature doit ĂȘtre dĂ©terminĂ© en fonction de nos besoins et listĂ©s pour faire des demandes aux dĂ©veloppeurs de chaque appli

Comment accéder à une appli, comment naviguer entre elles ?

Une gestion des applis Ă  la Google

L’une des choses qu’on peut reprocher Ă  sandstorm c’est d’avoir une barre sur la gauche qui met constamment les outils qu’on utilise. Alors c’est pratique quand tu veux facilement changer d’outils, mais par contre ça t’obstrue toute une partie de l’Ă©cran. Et si tu travailles sur un PC portable, ce n’est pas gĂ©rable.

Google utilise une barre horizontale pour naviguer entre ces applis et gĂ©rer des options pour spĂ©cifique Ă  chaque appli. Dans certaines applis (par exemple Google doc), nous n’avons pas accĂšs aux autres applis.

Copions les ! CrĂ©ons une icone “appli” en haut Ă  droite qui liste toutes les applis auxquelles on a accĂšs.

Remarquons que chaque appli (rocketchat, loomio, wekan, mediawiki) a dĂ©jĂ  une barre horizontale qui reste. quand on scroll. Il suffira alors d’ajouter l’icĂŽne applis.

Si on veut vite passer d’une appli Ă  une autre, alors il suffit que de les laisser dans ses onglets actifs.

Lien de l’appli aussi au sein de l’ENTITE dans communecter

Je pourrais aussi accĂ©der Ă  une appli dans une ENTITÉ quelconque, que ce soit un PROJET, une ORGANISATION, un LIEU, ou un CITOYEN. Elle sera prĂ©sente dans la partie "application" de la page de prĂ©sentation de l’ENTITE.

Lien de toutes les applis auxquelles le CITOYEN est attaché

On pourra aussi accĂ©der Ă  l’appli souhaitĂ©e en allant sur la page "toutes mes applis" dans communecter. Cette page centralise toutes les applis auxquelles le CITOYEN contribue, elles peuvent ĂȘtre classĂ©es de diffĂ©rentes maniĂšre :

Mais ce n’est pas tout, on peut passer d’un projet Ă  l’autre dans l’appli elle-mĂȘme.

Dans chaque appli on a accùs à toutes nos ENTITÉS

Quand on est dans une application, on peut facilement passer d’une ENTITÉ Ă  une autre. Par exemple, je suis dans le wekan d’un PROJET quelconque, je peux facilement naviguer dans le wekan pour voir les autres PROJETS auxquels je contribue.

Comment créer une appli au sein de communecter ?

A la crĂ©ation de votre ENTITÉ

Quand vous crĂ©ez une ENTITÉ, vous pouvez cocher les applis que vous utiliserez pour la gĂ©rer.

A n’importe quel moment

En modifiant votre ENTITÉ, vous pouvez facilement cocher de nouvelles applis.

Vous pouvez aussi crĂ©er de nouveaux tableaux dans wekan, channel dans rocketchat, etc…

Comment ça se passe ?

Quand vous crĂ©ez une appli, toutes les personnes faisant partie de l’ENTITE dans laquelle vous l’avez créée, vont recevoir dans leurs notifications la possibilitĂ© d’ĂȘtre ajoutĂ©es Ă  cette nouvelle appli. On demande aux personnes rejoignant l’ENTITE en cours de route si elles veulent ĂȘtre ajoutĂ©es aux applis de cette ENTITÉ.

Quelles sont les particularités pour chaque appli

Wekan

De base dans wekan on a un tableau personnel nommé "Perso". Ce dernier regroupe toutes les actions auxquelles on contribue.

Quand on ouvre une nouvelle instance de wekan, cela crĂ©e un nouveau tableau dans l’application.

Soit cette instance vient d’une ENTITE parente (ORGANISATION ou LIEU par exemple). Dans ce cas cela va ouvrir un tableau dont le nom sera le mĂȘme que le nom de l’ENTITE.

Soit cette instance vient d’une ENTITE enfant (PROJET par exemple). Dans ce cas on va crĂ©er un nouveau dossier dans le wekan du nom de l’ENTITE parente avec dans ce dossier deux tableaux : "General" qui est le tableau qui regroupe toutes les actions de tous les tableaux du dossier, et "NomDeLEntiteEnfant" qui est le tableau de l’ENTITE enfant. Quand on ajoute une action dans le tableau de l’ENTITE enfant, l’action est aussi visible dans le tableau gĂ©nĂ©ral.

Quels liens entre les différentes applis ?

Le plus important est d’avoir de rĂ©els liens entre les diffĂ©rentes applis et de pouvoir interagir facilement les unes avec les autres. Par exemple on pourrait ajouter une action dans un wekan en mettant +add nomdelaction dans le rocket chat. Comme ça tout le monde est au courant de l’ajout qui a Ă©tĂ© fait et on pourrait faire en sorte que tout le monde puisse aussi s’ajouter Ă  cette action en cliquant sur le plus qui est mis sur le message.

Lister ici tous les liens qu’on aimerait avoir entre les applis

Exemple concret

CrĂ©ation d’une ORGANISATION

Je suis nouveau sur la plateforme et je fais partie de l’association Livin’Coop, organisation qui a pour but de crĂ©er du lien entre les diffĂ©rents acteur/ices de la mĂ©tropole. J’ajoute donc les infos nĂ©cessaires pour crĂ©er mon ORGANISATION, Ă  cela j’ajoute que j’aimerais utiliser 4 outils : le wekan, le loomio, le wiki et le rocketchat. J’ai maintenant une ORGANISATION et des outils Ă  disposition pour bien gĂ©rer cette organisation.

Ajout d’un PROJET

Nouvelle décision dans le loomio pour décider de la pertinence du projet

J’aimerais maintenant ajouter un PROJET : "FĂȘte des commoners", le but du projet est de faire un Ă©vĂ©nement qui va rassembler tous les commoners et potentiels commoners de la mĂ©tropole lilloise pour qu’ils Ă©changent sur leurs pratiques et qu’ils contribuent ensemble Ă  l’amĂ©lioration de l’Ă©cosystĂšme des communs. Ça sera aussi l’occasion de communecter tout le monde et de faire des ateliers sur des sujets divers.

Chez Livin’Coop, pour ajouter un PROJET, il faut que tous les CITOYENS concernĂ©es par ce PROJET soit consultĂ©s. Je dois alors crĂ©er une "nouvelle dĂ©cision" dans le loomio de l’ORGANISATION. Pour ce faire, je dois accĂ©der au groupe Loomio de Livin’Coop pour crĂ©er ma "nouvelle dĂ©cision", voilĂ  comment je peux m’y prendre :

Ajout du PROJET

Tout le monde est d’accord et s’enjaille de cette idĂ©e ! Pour crĂ©er le PROJET, je vais dans l’ORGANISATION "Livin’Coop" et je fais "Ajouter un nouveau projet". Je mets les informations nĂ©cessaires et oh magie, les prĂ©cĂ©dentes applis sont dĂ©jĂ  cochĂ©es. Je veux bien utiliser les mĂȘmes applications pour ce projet. Elles sont donc automatiquement créées de la maniĂšre suivante :

Ajout d’une action dans un PROJET

Je veux ajouter une action dans le tableau wekan de mon PROJET "FĂȘte des commoners". Cette action consiste Ă  faire une liste de tous les commoners de la mĂ©tropole pour leur parler du projet. Cette action ne concernant directement personne de l’ORGANISATION, je peux directement crĂ©er mon action. Je prĂ©fĂšre tout de mĂȘme laisser un message sur le chat, sur le channel #livincoop_fete.des.commoners pour informer tout le monde ce que je m’apprĂȘte Ă  faire. Ceci Ă©tant fait, je dois donc accĂ©der Ă  mon tableau. A moi s’offre un large panel de choix :


En gros tout est interconnectĂ© donc il est trĂšs facile d’accĂ©der Ă  ce que l’on veut. La plupart du temps on utilisera le bouton appli et on choisira l’application que l’on veut. Et on naviguera dans les diffĂ©rentes applis en les laissant dans nos onglets actifs.

Comment mettre en place une telle fonctionnalité

Tel google : nomappli.communecter.org

Chaque appli sera disponible sĂ©parĂ©ment, par exemple il suffira de marquer l’url d’un channel de chat pour pouvoir y accĂ©der.

Login

Un login commun pour toutes les applis sera requis. On pourra se connecter depuis n’importe quelle appli. Le mieux Ă©tant de faire comme facebook/google : se connecter automatiquement.

CrĂ©ation d’une ou plusieurs applis

Quand on crĂ©e une ou plusieurs appli dans communecter, le serveur va automatiquement crĂ©er le groupe si c’est un loomio, le channel si c’est un rocketchat, le tableau si c’est un wekan, l’article si c’est un wiki, etc… Pour ce faire il va utiliser l’API de chacune de ces applications.

Les applis peuvent trĂšs bien marcher toute seule.

On peut par exemple utiliser communecter que pour son wekan.

Liens entre les différentes applis

Toutes les applis marcheront en synergie les unes avec les autres via leur API. Elle s’Ă©changeront constamment des donnĂ©es et se mettront Ă  jour automatiquement en fonction des informations qu’elles Ă©changeront.

Voir Ă  long terme

Nous pouvons aussi voir Ă  long terme et voir vers oĂč on veut aller avec cette nouvelle fonctionnalitĂ©.

Permettre aux auto-hĂ©bergeurs d’hĂ©berger leur propre communecter

N’importe qui pourrait tĂ©lĂ©charger communecter et les applis qui lui sont associĂ©es pour les installer sur son propre serveur. Son serveur s’il est sur internet pourra interagir avec les autres serveurs communecter (dont le notre) pour Ă©changer toutes les datas nĂ©cessaires. Il aura les mĂȘmes fonctionnalitĂ©s qu’un utilisateur lambda, sauf qu’il l’hĂ©bergera sur un autre serveur.

On pourrait aussi par exemple travailler en local sans avoir besoin d’internet, puis ensuite push ses datas sur un serveur liĂ© Ă  internet.

Regrouper toutes les données de tous les serveurs qui font tourner les applis

Le problĂšme aujourd’hui c’est qu’on ne peut pas avoir une information sur "qu’est ce qui se passe dans ce monde et oĂč est ce que je peux contribuer ?". Et je ne pense pas (enfin je n’espĂšre pas) que le but de communecter c’est de rassembler tout le monde derriĂšre une seule plateforme (la notre + nos serveurs Ă  nous).

On peut effectuer un travail Ă  long terme d’intĂ©gration d’autres serveurs dans la plateforme communecter.

Par exemple, on peut aller voir un serveur wekan et leur dire : "Eh ! C’est sympa ce que vous faites, ce qu’on peut faire pour vous c’est recenser tous vos tableau dans notre plateforme et on peut vous donner la possibilitĂ© d’ajouter des outils Ă  la votre". Ce qui fait qu’ils pourraient sĂ©lectionner les outils dont leur communautĂ© aurait besoin (et donc sĂ»rement communecter parce que c’est de la boulette) et comme ça on Ă©largit notre cercle, sans utiliser aucune ressource et en laissant une communautĂ© lĂ  oĂč elle est. C’est ça aussi la puissance de la dĂ©centralisation et de la crĂ©ation de lien, agrandir sa communautĂ© sans abĂźmer celle des autres ;) .

On pourrait mĂȘme imaginer des serveurs diffĂ©rents pour chaque appli qui Ă©changeraient entre elles les infos nĂ©cessaires. Le but c’est de trouver la meilleure maniĂšre de coder ça pour rendre le tout plus souple. Dans l’idĂ©e je pourrais trĂšs bien ĂȘtre sur les serveurs de loomio pour mon appli loomio, les serveur indie.io pour mon wekan, mon serveur perso pour le wiki et le serveur d’un hĂ©bergeur indĂ© pour communecter, et que tout marche ensemble via les APIs !

Bref, j’espĂšre trĂšs sincĂšrement qu’on se dirige par lĂ , parce que je ne veux pas imposer communecter Ă  tou-te-s, je veux juste leur dire, si tu veux c’est disponible et en plus ça marche avec ce que tu fais dĂ©jĂ  !

Questions

Pourquoi utiliser l’API des applications plutĂŽt que les intĂ©grer entiĂšrement Ă  communecter ?

En faisant cela, cela offre une plus grande libertĂ© Ă  l’Ă©cosystĂšme des applis open source. Cela permet

Et si l’API d’une appli n’est pas assez fournie

Rentrer en contact avec les développeurs et leur faire les yeux doux

Soit ils nous aident et on est content, soit ils ne peuvent pas, ce qui nous amĂšne Ă  :

Se dĂ©patouiller nous mĂȘme

A ce moment lĂ , on aura plus qu’Ă  forker leur projet et push de nouvelles fonctionnalitĂ©s. Comme ça on amĂ©liore notre projet tout en amĂ©liorant celui des autres. Et on crĂ©e cette Ă©cosystĂšme dont on parlait dans les valeurs.