MyPads : seconde version admissible

Rappel des épisodes précédents : MyPads est un « plugin » qui permet à notre service en ligne Framapad (un outil en ligne de rédaction collaborative), d’organiser ses documents.
Pour savoir de quoi il retourne : http://fr.ulule.com/etherpad-framapad/
Cet article sur le Framablog est l’avant-dernier d’une longue série présentant les avancées du développement de ce plugin. Voir https://framablog.org/tag/mypads/
Ainsi, cet article est (volontairement) plutôt technique, et non un article généraliste plutôt dédié au grand public comme habituellement sur le Framablog.

 

La première version admissible – Release Candidate – est sortie il y a dix jours. Un grand merci à ceux qui ont pris la peine de la tester et de nous faire des retours. Ces derniers ont conduit à une seconde version admissible.

MyPadsChangements depuis la RC1

Depuis le début de la semaine dernière et les premiers échanges :

  • Jusqu’ici tous les éléments de MyPads étaient dotés d’un identifiant unique aléatoire généré par la bibliothèque cuid. Efficaces et ordonnés, les identifiants ainsi générés avaient pour défaut principal d’être trop peu visuels et compréhensibles pour un usage en adresse web. Il a ainsi été décidé de passer à une génération empreinte de davantage de sens.
    Par exemple, un groupe nommé Affaires classées 312 aura maintenant pour identifiant affaires-classees-312-xxxxxxx. Les derniers caractères restent cependant aléatoires afin de ne pas imposer l’usage de noms uniques lors de la création dans toute l’instance. Ont été impactés par ce changement les groupes, pads, utilisateurs et listes d’utilisateurs.
  • L’email était d’ores et déjà obligatoire pour la création d’un compte utilisateur. Pourtant, il n’était pas forcément unique en base de données : seuls les identifiants devaient l’être. Ce choix avait été fait pour permettre de créer plusieurs comptes sur une même adresse mail. Nous avons souhaité revenir sur cet état de fait et de rendre les adresses elles aussi uniques, ce qui nous permet dorénavant :
    • au niveau des groupes restreints, d’inviter des utilisateurs ou de partager avec eux l’administration de ces groupes via leurs adresses email en plus de leurs identifiants;
    • pour le module de listes utilisateurs, également les emails en plus des identifiants;
    • enfin, le recouvrement de mot de passe se fait maintenant par la saisie de l’adresse email.
  • Lorsque vous invitez des utilisateurs, vous êtes maintenant plus clairement informés concernant ceux pour qui l’opération a réussi et ceux pour qui ce n’est pas le cas.
  • L’ensemble des éléments de MyPads possède aujourd’hui un champ contenant leur date de création, pour un tri plus fiable au sein de l’application.
  • Un bug gênant introduit par le changement récent de méthode d’authentification a été corrigé : en effet, un certain nombre de modifications concernant les comptes utilisateurs, par exemples les favoris, n’étaient pas reflétées au niveau du cache serveur, ce qui entrainait la perte des informations après un rafraîchissement manuel de la page.
  • Des correctifs concernant les traductions.
  • Une partie non négligeable des tests unitaires et fonctionnels ont dû être adaptés suite à ces modifications.

La suite

À court terme il est toujours important que cette seconde version admissible soit massivement testée et que les anomalies rencontrées puissent être rapportées dans notre espace Gitlab.

Vous pouvez maintenant tester cette version (dont seules quelques améliorations nous séparent de la version définitive) à l’adresse : https://mypads.framapad.org

Comme nous considérons l’application suffisamment stable, nous ne supprimerons à priori pas les données des pads créés à cette adresse (cependant, nous ne pouvons pas le garantir de façon absolue).

Note importante : si vous utilisez de comptes privés sur l’ancienne version d’Etherpad, nous vous invitons dès aujourd’hui à copier-coller le contenu de vos anciens pads dans de nouveaux pads créés pour l’occasion sur https://mypads.framapad.org

MyPads

MyPads RC2

The first MyPads release candidate version has been published more than a week ago. A big thank you to those who have spent some time to test and formalize some feedback. The latter have brought us to the second release candidate.

Changes from RC1

From the beginning of last week and first issues reported :

  • Until now all the MyPads elements had an unique random identifier, generated by the cuid library. Efficient and ordered, theses identifiers had a main problem : being no human readable for an URL usage. It has been decided to move to a more meaningful generation.
    For example, a group named Classed cases 312 now have for identifier classed-cases-312-xxxxxxx. The last characters are random in the purpose to not command unique names at creation across the whole instance. This change impacts groups, pads, users and and user lists.
  • Email has already been required for user account creation. However, uniqueness into database was not enforced : only the logins were. This choice has been made in order to allow multiple accounts creation with a same email. We have chosen to revisit our opinion and now MyPads requires unique email addresses, which allows :
    • for restricted groups, user invitation or administration sharing from email address in addition to their login;
    • in the user lists module, emails and logins too;
    • last, password recovery now ask for email address.
  • From now on user invitation, you are more clearly informed about those for who the operation has succeeded and those where it has failed.
  • All MyPads elements now handle a creation date field, allowing a more reliable ordering inside the application.
  • An annoying bug has been introduced with the recent authentication method change and has been fixed : actually number of changes around accounts, like bookmarks, were not reflected at the server cache level, and had for consequence data loss after manual reloading of the page.
  • Some corrections for translations.
  • A significant part  of unit and functional tests had to be adapted after these modifications.

Suite

Short-term it’s still important for this RC2 to be massively tested and that the encountered bugs can be reported into our Gitlab.

You can try this version (only few changes before final) here : https://mypads.framapad.org

As we consider the application stable enough, in principle we won’t remove data for pads and groups created at this domain (even so, we can’t absolutely guarantee that).

important note : if you have used private accounts on the old Etherpad version at Framapad, we invite you, as soon as possible, to copy paste your old pads content into new pads created on https://mypads.framapad.org




MyPads : version admissible

Après deux semaines de tests sur la bêta 2, nous atteignons aujourd’hui un nouveau palier et n’avons jamais été aussi proches de la version stable : nous vous présentons aujourd’hui MyPads version admissible (release candidate).

MyPadsDerniers travaux réalisés

Depuis le point du 30 juillet :

  • Comme prévu, la gestion de l’envoi de mails depuis MyPads avec
    • au souhait de l’administrateur, la vérification des adresses mails avant activation du nouvel inscrit;
    • une procédure de recouvrement de mot de passe;
    • la génération de jetons dont la validité est limitée dans le temps pour ces deux actions;
    • côté administration la configuration du serveur SMTP qui sera employé pour l’envoi des mails.
  • La possibilité de fournir des paramètres propres à chaque pad. Par exemple, dans un groupe sur invitation, il est dorénavant possible d’y créer un pad public ou en lecture seule. Dans un groupe protégé par mot de passe, vous pouvez créer un pad qui aura son propre mot de passe etc. Par défaut le comportement reste le même, à savoir que les pads héritent des propriétés de leur groupe parent.
  • L’ajout d’un champ facultatif de description pour chaque groupe.
  • Un certain nombre de corrections concernant les visibilités publiques et par mot de passe, notamment lorsque les pads ont des options différentes des groupes auxquels ils sont rattachés.
  • Quelques améliorations concernant les traductions.

Plus récemment, une refonte conséquente de l’authentification a du être entreprise. L’un des plugins d’etherpad, dont nous avions parlé en semaine 17, a la fâcheuse tendance à empêcher le fonctionnement de MyPads. Ce comportement s’est avéré aléatoire en fonction de la base de données utilisée par l’instance et le temps que celle-ci mettait à répondre après le lancement d’etherpad. Il faut dire que les plugins etherpad sont lancés suite à un événement global et que nous ne pouvons à notre connaissance pas contrôler leur ordre de lancement. Pour passer outre, il a fallu initialiser MyPads plus tôt, ce qui a empêché ce dernier de se brancher sur le système de sessions utilisé d’etherpad. C’est pourquoi, afin de garantir un fonctionnement sans conflit, il a été nécessaire de passer d’un système d’authentification simple en local vers un système à jetons,  JSON Web Token, mais toujours au travers de la bibliothèque passportjs.

L’aboutissement

Cela fait un peu plus d’un an que le projet MyPads a été financé. Le développement, dont le début était prévu pour novembre, a été reculé à février de cette année et la charge de travail initialement prévue a été largement dépassée, en partie en raison d’une mésestimation du travail nécessaire pour créer un tel plugin pour Etherpad (ce type d’extension étant rare) et de bonus vis à vis du cahier des charges initial, ajoutés gracieusement par le prestataire. Ce dernier s’étant engagé, le dépassement est resté à sa charge et le plugin ne coûtera pas davantage que ce qui était prévu. Notez que Framasoft n’a de son côté pas souhaité appliquer des pénalités pour les retards constatés (MyPads, une fois le développement repris en février, devait être publié avant la fin du mois d’avril).

Quelques chiffres : MyPads, c’est aujourd’hui un peu plus de 13.000 lignes pour 10.000 lignes de code. Les deux tiers de ce total sont consacrés aux tests unitaires et fonctionnels du plugin. En tout, le logiciel aura vu passer un peu moins de 80.000 lignes – ajouts et suppressions – dont une faible partie provient des dépendances et le reste de refactorisations du code.

De nouvelles tâches sont prévues pour les mois à venir mais il ne devrait plus y avoir d’ajout avant la version stable et la mise en production sur les serveurs de Framasoft.

Testez

Merci à ceux qui ont déjà fait l’effort de tester MyPads. Pour cette toute dernière ligne droite, nous avons à nouveau besoin de vous. MyPads a été installé sur notre instance bêta. Plus cette version sera utilisée et plus les anomalies rencontrées seront rapportées, moins il y aura de mauvaises surprises pour le déploiement et l’utilisation par tous. Ceci est prévu dans à peine quelques semaines.

MyPads

MyPads : release candidate

After two weeks of beta 2, today we reach another step and we’ve never been so close to release: here we have MyPads RC – release candidate.

Last progress

Since our last point:

  • As planned, email sending management into MyPads with
    • as the administrator desires, email addresses checking before subscriber account activation;
    • password recovery procedure;
    • token generation with a time limited validity for both actions;
    • on the plugin administration,  SMTP server configuration.
  • The ability to opt for pad personal parameters. For example, in a restricted group, it is now possible to create a public pad  or a readonly one. In a password-protected group, you can add a pad with its own password etc. By default, behavior stays as before : pads inherit their properties from their parent group.
  • An optional description field for each group had been added.
  • Some bugs around public and private visibility have been fixed, in particular when pads have their own properties.
  • Some enhancements on translations.

Recently, a substantial rewriting of the authentication system has been made. One of the etherpad plugins, which we talk about into week 17 point, has a nasty tendency to prevent MyPads to work. This behavior has been randomly experienced, depending on the database used by the instance and the time it needs to setup after etherpad launch. Etherpad plugins are called through a global event and we can not, as far as we know, control their order. To disregard, we had to setup MyPads sooner, what prevents it to correctly plug with the session system used by etherpad. That’s why we decide, to secure functioning, to migrate from a simple local authentication to a token system, JSON Web Token, but still with the help of the passportjs library.

Completion

MyPads crowdfunding campaign has ended more than a year ago. Development, which has been initially expected on November, has been delayed to February and the predictable workload has been overstepped to a great extent. Reasons include a wrong initial estimation of needed work to create such a plugin (this kind of extension is rare into etherpad ecosystem) and some bonus features regarding the specifications; features added free of charge. The contractor has been engaged to complete the plugin, so the overload is on him and the plugin won’t cost more than expected. Note that Framasoft has not wanted to apply some fees for the delays (MyPads, once the development starts again in February, has been announced to be published before the end of April).

Some numbers : MyPads today represents a little more than 13,000 lines for 10,000 lines of code. Two thirds has been dedicated to unit and functional testing. In all, the plugin has regrouped a bit less than 80,000 lines – additions and deletions – including a little part from dependencies and mainly code refactorizations.

New features are planned next monthes but it won’t be any addition before stable version and deployment on the Framasoft and Framapad servers.

Tests

Thanks to all who have already took some time to test MyPads. For this last home straight, we need you, again. MyPads has been installed on our beta instance. More this version will be used and bugs will be reported, less we got bad surprises in a few weeks, when MyPads will be published and installed publicly.




Apple bloque les pubs sur iOS… pour son bien.

Que l’on considère la publicité en ligne utile ou néfaste, qu’on l’ignore ou qu’on la bloque, il est important de se rendre compte des stratégies mises en œuvre par les géants du net (les GAFAM pour les intimes) pour contrôler cette manne et comprendre l’influence qu’a cette guerre sur le Web ouvert.

Eric Lawrence nous explique ici celle d’Apple, traduit par l’équipe de Framalang.

Dommage collatéral

Source : http://textslashplain.com/2015/06/10/collateral-damage/

Traduction : egilli, Piup, andionuma, amaha, sinma, goofy, Obny

 

iSiphonne
Modifié par Obny à partir d’une image par Kelvinsong (CC-BY).

La plupart des utilisateurs du Web tolèrent les pubs ; beaucoup la haïssent avec la passion dévorante de mille soleils. Il existe beaucoup de bonnes raisons pour lesquelles les utilisateurs n’aiment pas les pubs (elles dégradent les performances, la sécurité et la vie privée) ainsi que des reproches moins universels et plus discutables (par exemple, elles sont pénibles, la valeur des services que l’on obtient en échange est contestable, etc.).

Apple, une entreprise qui tire environ 80 % de ses revenus de produits basés sur iOS (son système d’exploitation, NdT), a annoncé récemment que iOS 9 forcera l’usage de son interface de programmation pour le filtrage des publicités dans le navigateur Safari.

De plus, et c’est probablement une pure coïncidence, le seul vrai concurrent d’Apple et iOS tire environ 90 % de ses revenus de la publicité.

Si vous trouviez déjà agaçantes les fenêtres d’invitation qui vous demandaient « Installez notre application » sur les sites web, imaginez ce qui va se passer quand seules les applications natives pourront afficher des publicités de façon fiable ! Il n’y aura probablement plus de lien « Non merci », en particulier quand le site détectera que vous utilisez un bloqueur de publicités (cf. l’article en anglais sur l’évaluation des mécanismes de blocage, NdT).

Récapitulons :

  • Les sites web se chargent (temporairement) ≃40 % plus rapidement sur iOS ? Apple et ses utilisateurs sont gagnants.
  • Les sites web sont obligés d’avoir recours à des applications natives pour être payés ? Apple est gagnant.
  • Les sites d’information sont obligés d’utiliser l’application Apple News pour être payés ? Apple est gagnant.
  • Les revenus de Google diminuent inexorablement ? Apple est gagnant.
  • Les sites financés par la publicité et qui ne peuvent se payer une application native ? Dommage collatéral.
  • Le web ouvert ? Dommage collatéral.

C’est un plan résolument brillant.

Lors de son procès pour abus de position dominante, Microsoft était accusé d’essayer d’« asphyxier Netscape ». Cet été, Apple posera négligemment sa main sur la pompe à fric de Google.

On ne peut guère prédire comment cela finira, mais des dommages collatéraux semblent inévitables.

 

Note :

Suite à de nombreuses réactions concernant l’article original, l’auteur a tenu à y répondre dans un autre article (en anglais).

 




MyPads : lancement de la seconde beta

Le dernier point concernant MyPads remonte au début du mois. Il était donc temps de donner des nouvelles. Au menu : seconde, et sans doute dernière, bêta mais aussi des avancées significatives.

MyPadsCes dernières semaines

La liste des tâches réalisées est la suivante :

  • Quitter un groupe de pads : dans le cadre des groupes sur invitation, la possibilité de quitter un groupe, pour un administrateur s’il n’est pas le seul administrateur ou pour tout autre utilisateur.
  • Les listes d’utilisateurs : chaque personne disposant d’un compte peut créer des listes d’utilisateurs, lesquelles regroupent, à partir de leurs identifiants, d’autres inscrits à l’instance MyPads. Cela est surtout utile lorsque vous créez un groupe et que vous voulez soit partager l’administration de ce groupe soit dans le cadre d’un groupe restreint, inviter des inscrits à celui-ci. Vous pouvez maintenant ajouter une liste complète d’inscrits au lieu de le faire personne après personne.
  • L’accès aux groupes et pads dont vous n’êtes pas utilisateur ni administrateur, avec ou sans compte :
    • Les groupes publics : l’adresse Web suffit.
    • Ceux protégés par mot de passe : l’adresse Web saisie, le mot de passe est demandé avant affichage des informations.
    • Les données visibles sont filtrées par rapport à un groupe restreint : il n’y a par exemple pas les informations sur les administrateurs du groupe de pads.
    • Pour faciliter le partage des liens, des boutons de partage sont disponibles un peu partout.
  • Le tri des listes de groupes et des listes de pads. Par défaut, ceux-ci sont rangés par ordre de création. Il est dorénavant possible d’opter pour un tri par nom, dans les deux sens.
  • Le module de configuration de MyPads
    • Avec un couple identifiant / mot de passe qui emploie celui de l’administration de l’instance Etherpad ;
    • Lequel permet la gestion des paramètres de MyPads : titre à afficher, taille des mots de passe, paramètres d’envoi de mail…
    • Mais aussi la gestion des utilisateurs : après une recherche par identifiant, il est possible pour les administrateurs de modifier un profil, de changer un mot de passe ou encore de supprimer un compte.
  • Et bien entendu les classiques correctifs et autres petites améliorations.

Fonctionnellement, avant la version stable, il ne reste plus qu’à terminer la gestion de l’envoi des mails par serveur SMTP et ce qui en découle : vérification, selon les souhaits de l’administrateur de l’instance, des adresses mail saisies à l’inscription et récupération de mot de passe pour les utilisateurs.

MyPads recherche testeurs

Maintenant que MyPads est quasiment terminé, il est important que nous disposions de vos retours et de personnes testant la solution afin que nous puissions envisager un passage en production.
Pour rappel, la dernière version de MyPads est mise en place à cette adresse. Attention, car il s’agit d’une adresse de démonstration et les données y sont régulièrement supprimées. Si possible, merci d’utiliser notre instance Gitlab pour effectuer vos retours, notamment les anomalies que vous pourriez rencontrer.

MyPads : beta2

Last point about MyPads development has been done at the beginning of the month. It’s time to give you some fresh news. Here you’ll find : the second, and probably the last, beta version as well as significant progress.

MyPads

Last weeks

Tasks which have been done :

  • Group leaving : in the context of restricted groups, the ability to quit a group, for a non-unique administrator or for any invited user.
  • Userlists : everyone who own an account can now create lists of users. They regroup, by their login, other MyPads node subscribers. This is mainly useful when you create a new group and want either sharing its administration or invite users to participate. You can now add a complete list of users instead of only adding them one by one.
  • Groups and pads access, even if you are not user or administrator, with or without an account :
    • Public groups : you only need the URL.
    • Password protected groups : once the Web address is reached, the password will be asked before displaying any useful information.
    • Visible data is then filtered : for example, for guests there are no details about administrators.
    • To make sharing easier, share buttons are available on many pages.
  • Groups and pads ordering. By default, they are ordered by creation. You can now choose a name order, in both directions.
  • MyPads configuration module
    • With user/password that match Etherpad node administrators ;
    • From where you can handle MyPads settings : title, password sizes, mail sending parameters…
    • And also users management : after a research by login, administrators can update a profile, change a password or remove an account.
  • And of course small fixes and improvements.

About features, before stable version, there are very few things left : finish the mail sending module and then what will be result from : email verification, according to the option checked or not by the admin, and password recovery for users.

MyPads need beta testers

Now that MyPads is almost done, it matters that we can have feedback and people who test the plugin before we deploy it. Please remember that the last MyPads version is available here. Be careful : it’s a demo and data is frequently trashed. If possible, thank you to use our Gitlab website to give us your feedback, particularly bugs you may encounter.




MyPads : point de la semaine 27

MyPads

Ce qui a été fait

Depuis le dernier point, voici les tâches qui ont été réalisées :

  • un module de gestion de favoris qui regroupe les groupes et pads marqués comme tels, permettent de les en retirer ou encore d’y accéder rapidement ;
  • la suppression de compte depuis le module de gestion du profil, laquelle entraine celle des groupes et pads pour lesquels l’utilisateur était le seul administrateur ;
  • le déplacement de tous les pads d’un groupe vers un autre depuis la page de détails de chaque groupe, utile avant de supprimer complètement un groupe existant ou pour en fusionner plusieurs ;
  • la prise en charge des permissions avec la différenciation entre :
    • des administrateurs globaux de MyPads, les mêmes que ceux de l’instance Etherpad, et lesquels ont droit de procéder à toute action, depuis l’API de MyPads ;
    • des utilisateurs, dont chaque action est vérifiée : un utilisateur peut modifier ou voir son compte mais pas celui des autres, modifier ses pads et groupes mais pas ceux dont il est seul invité, etc. ;
    • la suppression des actions non autorisées dans le client Web.
  • quelques corrections de bugs lors de la destruction de compte sous Etherpad, l’ajout de favori depuis la page de travail des pads ou encore un souci avec l’une des bases de données supportées par Etherpad, à savoir Dirty, du fait que celle-ci renvoie les éléments qui ont déjà été supprimés.

Le travail se poursuit. Il reste une dizaine de tâches à réaliser avant la version admissible (release candidate). Bien sûr, vous pouvez tester les dernières avancées sur la bêta en ligne. Pour rappel, ne travaillez pas sur cette version, les données y sont régulièrement écrasées et le prestataire ne fournit aucune garantie de service à cet endroit.

MyPads

MyPads : development point

What has been recently done

Since last news, here are achieved tasks :

  • a bookmark management module that bring together groups and pads, allowing to remove them from favorites or to quickly access to their details ;
  • account removal from the profile module; this action leads to deletion of groups and pads where the user was the unique administrator ;
  • group pads mass move to another group from the details page; useful before group removing or for merging several groups ;
  • permissions management with differences between:
    • MyPads global administrators, the same as Etherpad instance ones, who are authorized to do everything through the MyPads API ;
    • users for which every action is checked : a user can update or see his account but not another one, edit his groups and pads but not those he has just been invited to contribute, etc. ;
    • forbidden actions have been removed from the Web client.
  • a few fixes : a problem with account removal under Etherpad, bookmark adding from pads page, an issue with one of the databases supported by Etherpad, DirtyDb, because it returns already deleted elements « by design ».

Work is going on. There are still ten tasks to do before the release candidate. Of course, you can test last progress on the online beta version. Remember not to work with this version: data is frequently wiped out and the contractor doesn’t provide any service warranty from this place.




RMLL 2015 et Résistances : Framasoft en Festivals !

C’est la canicule, on sort les recettes d’eau libre (à consommer avec modération ^^), les stands, les beaux T-shirts… c’est officiel, on arrive à l’été des Rencontres et échanges Libristes !

 

RMLL 2015 : rendez-vous à Beauvais

Logo RMLL
Logo RMLL

Rendez-vous incontournable du monde Libre, les « ReuMeuLeuLeu » (ou Rencontres Mondiales du Logiciel Libre) sont cette années accueillies et organisées par Beauvais, et c’est du 4 au 11 Juillet !

Comme nous vous l’avions annoncé, nous ne tiendrons un stand que lors des Journées Grand Public (samedi 4 et dimanche 5 juillet). Ce qui nous nous empêchera pas d’être présents lors du reste des rencontres, que ce soit entre les stands (un indice : repérez les badges « Framateam ») ou durant des conférences.

Car les RMLL proposent un programme complet de conférences, tables rondes et autre réjouissances auxquelles Framasoft se joint avec plaisir… Vous nous retrouverez donc :

Bien entendu, au delà des Framasofteries, TOUT le programme des RMLL est empli de pépites qui sauront faire pétiller votre intérêt, vos neurones et vos processeurs…

Résistances, du cinéma et des idées

affiche2015Du 3 au 11 juillet, dans la ville de Foix[1] (en Ariège), a lieu un festival de cinéma aussi engageant qu’engagé : Résitances.

L’idée de ce festival, qui fête cette année sa 19e édition, est de mettre en valeur des films qui bousculent notre vision du monde, montrent d’autres façons de vivre, de voir de raconter et de partager… bref : qui nous nourrissent l’esprit comme la société.

Framasoft sera présent lors du week-end final (10 et 11 juillet) à l’occasion de leur thématique Une civilisation du partage. l’occasion pour nous d’échanger avec un public pas forcément rompu aux codes du Libre, et pour Pouhiou de réitérer sa conférence Créateurs, la confiance paye

 

Voilà pour les quelques rencontres estivales… promis, il y aura encore plus d’occasions de se voir, de boire de la limonade libre (avec modération ^^) et de parler Dégooglisation dès la rentrée !

 

 Note inutile et donc indispensable :

[1] Et le premier ou la première qui commente « Il était une fois, dans la ville de Foix… » Pouhiou se jure de lui émonder les arquemuses… soyez prévenu-e-s !)




Framadate : un tuto et un openbar.

Parmi les divers services en ligne que nous proposons, il en est un plus… « particulier » que les autres : Framadate. On pourrait croire qu’un simple service de sondages et d’organisations de rendez-vous ferait figure d’outsider face à un tableur, un réseau social ou un service d’hébergement d’images chiffré et libre. Mais en vérité, Framadate est le deuxième service le plus visité de la galaxie Framasoft, ce juste derrière les framapads.

En témoignent aussi les nombreuses attentes, réflexions et propositions d’améliorations que nous apportent les utilisateurs et utilisatrices de ce service. Régulièrement, via notre formulaire de contact ou depuis notre git, nous recevons ces attentes, suggestions et râleries (ben ça arrive, aussi, hein ^^) auxquelles nous nous efforçons de répondre.

Car Framadate est une exception : basé sur Studs (un logiciel créé par l’université de Strasbourg) il s’agit du seul code maintenu et développé par Framasoft (sans compter ce que font certains de nos membres de leur côté… n’est-ce pas, Luc ?). Framasoft n’a pas vocation à créer du code : d’autres le font très bien, et nous sommes bien plus à notre aise à mettre en valeur leurs travaux.

Le tutoriel comme arme d’éducation populaire massive

La vocation première de Framasoft, c’est l’éducation populaire au Libre. Derrière l’expression un poil pompeuse se cache une volonté simple : amener plus de Libre dans la vie de la famille Dupuis-Morizeau (et même des Michus, bien qu’ils veulent qu’on leur fiche la paix ^^). Il s’agit pour nous d’aider à accomplir le travail qui reste une fois que le code est écrit, vérifié, testé, arrangé. Mettre ce logiciel en valeur, le faire connaître (en en parlant ou en démontrant ses vertus), parfois le traduire… ou l’expliquer.

Parler d’un logiciel (et/ou d’un service) Libre c’est bien. Dire qu’il ne faut plus utiliser Doodle mais Framadate, c’est énorme (et merci à vous qui le faites, on le voit chaque jour !). Mais qui pense à la solitude de papy Dupuis ou de cousine Morizeau lorsqu’ils se retrouvent devant ce nouveau logiciel, sans leurs repères ni leurs habitudes ? Qui pense aussi au petit dernier, qui commence à peine à tâter de la souris et veut organiser son goûter d’anniversaire, tout seul, comme un grand ?

Capture_tuto_framadate_20150622
Cliquez sur l’image pour découvrir notre tutoriel Framadate

Chez nous, sur ce coup, c’est Christophe, notre spécialiste du LaTeX[1]. C’est pour aider ses collègues à se dé-Doodliser qu’il a commencé ce tutoriel. C’est en pensant à vos proches qu’il l’a revu et amélioré. Désormais, si vous voulez présenter cette solution libre de sondages, vous pourrez donner le lien de ce tutoriel (que vous retrouvez aisément en page d’accueil de Framadate) pour que vos proches soient totalement autonomes dans la création et l’administration d’un sondage de rendez-vous.

Framadate vous ouvre son Openbar

Chez Framasoft, donc, Framadate est un cas à part. Lorsque Studs n’a plus été maintenu, nous avons décidé de remonter nos manches et notre framaslave[2] JosephK s’est évertué à créer une V2 avec de nouvelles fonctionnalités, une meilleure ergonomie et une accessibilité sans faille… Puis Jo s’est fait enterrer vivant par sa to-do list et a tenté, tant bien que vaille, de maintenir le code et d’appliquer tests et bugfix tout en continuant de dégoogliser les internets à temps plein.

Depuis quelque mois, Jo a été rejoint par Olivier Perez, un courageux bénévole qui s’est emparé du code pour tenter de lui apporter des modifications, améliorations, parmi lesquelles :

  • tel Mirza, on se demande parfois où est passé tel ou tel framadate. Cette époque est révolue ! Grâce à la possibilité (en page d’accueil) de retrouver tous les sondages par le mail de l’administrateur, vous pourrez retrouver en un clin d’œil tous les sondages dont vous êtes l’administrateur ;
  • le nom de l’auteur, la date d’expiration et l’intitulé du sondage sont modifiables : fini la corvée de refaire un sondage pour une faute de typographie ;
  • les votes « Si nécessaire » sont décomptés entre parenthèses, permettant de ne pas baser son choix uniquement sur le nombre de votants « fermes » ;
  • une nouvelle option « Chaque participant peut modifier son propre vote » donnera à vos sondés un lien leur permettant d’éditer leur vote (et uniquement le leur) ;
  • une nouvelle option « Vote caché, seul le créateur du sondage peut voir les résultats » permet de créer un sondage où le décompte des votes sera visible uniquement par l’administrateur. Il pourra d’un clic rendre les résultats visibles à la fin par transparence ;
  • le formulaire d’administration (si vous avez installé votre propre version de Framadate) a lui aussi été complètement revu.

Par ailleurs, le code a été en grande partie réécrit, et de plusieurs bugs existants corrigés !

La liste des modifications (changelog) est disponible à cette adresse. Tout un tas d’améliorations sont au programme de cette nouvelle version que nous avons nommée… Openbar[3].

Allez, cliquez : c'est openbar !
Allez, cliquez : c’est openbar !

Aujourd’hui, l’openbar est ouvert. C’est une version de test (donc pas encore de https, on le sait, ce n’est pas encore parfait ^^). Il y a encore certainement plein de petits bogues à chasser dans les coins, des morceaux pas tout à fait comme il faudrait… et pour cela on a besoin de vous.

Pensez à nous donner vos retours

Nous vous ouvrons cette version bêta justement pour que vous nous aidiez par vos retours et suggestions… Alors bien entendu, ne nous envoyez pas tout de suite vos envies de telle ou telle nouvelle fonctionnalité : nous allons d’abord tester et mettre en production celles de la version openbar avant de nous attaquer à une nouvelle montagne d’améliorations ;).

Mais si vous repérez des bogues, incohérences, soucis et autres astuces qui peuvent permettre d’améliorer cette version-ci, n’hésitez pas à nous en faire part que ce soit dans les issues et commits de notre dépôt git (où se trouve le code de Framadate) ou dans les commentaires de cet article.

Avec votre aide, nous espérons pouvoir passer au plus vite cette version openbar en production, c’est à dire en faire le Framadate officiel par défaut. C’est ça la force du Libre : pouvoir demander de l’aide à la communauté quand le besoin s’en fait sentir. Et pouvoir, aussi, vous ouvrir l’openbar.

Santé !

Notes superfétatoires :

[1] Ceci n’est pas une allusion textuelle. Merci de ne pas en tirer de conclusions personnelles.
[2] C’est le petit nom réservé aux employés de Framasoft, parce que nous ne manquons ni de lucidité ni d’ironie ;p.
[3] Les framasoftien-ne-s ont une réputation de buveurs et buveuses de bière -Libre- à tenir. L’abus d’alcool est dangereux pour la santé, consommez avec modération !




MyPads : point de la semaine 25

MyPadsTâches réalisées

Les avancées de cette semaine ne sont pas aussi importantes que prévu. Deux raisons à cela : un prestataire moins disponible et des tâches plus compliquées à réaliser qu’elles n’avaient été estimées. Voici donc ce qui a été fait :

  • La localisation des messages côté serveur a été faite. Il s’agit des messages renvoyés par l’API de MyPads, laquelle est utilisée par le client Web principal. Ceci était important notamment car certains messages, des erreurs avant tout, étaient affichés tels quels par le client Web et n’étaient pas traduits depuis l’anglais. Cette tâche a pris un peu de temps, car il a fallu faire le tour des fichiers pour la mettre en place puis traduire les messages vers le français.
  • La récupération de l’identifiant utilisateur et le choix d’une couleur pouvant être affichés par défaut dans les pads. C’est cette tâche, qui paraissait assez triviale, qui a été la plus chronophage. MyPads, en tant que plugin Etherpad, se sert du système d’événements renvoyés par Etherpad pour pouvoir interagir avec ce dernier. Modifier les paramètres de la session utilisateur était bel et bien possible, mais il n’y avait pas de moyen simple de connaître, dans le contexte renvoyé par Etherpad, quel était l’utilisateur actuel sous MyPads et de ce fait les informations à utiliser. Comme il n’était pas envisageable de modifier le cœur d’Etherpad pour renvoyer des données supplémentaires ni de modifier à la volée le code client d’Etherpad, il a fallu éprouver plusieurs pistes. Voilà comment cela se passe au final du point de vue utilisateur :
    • À l’inscription, vous pouvez d’ores et déjà opter pour une couleur par le biais de l’élément HTML5 dédié. Notez que ce choix est facultatif.
    • Par défaut, l’identifiant et la couleur, si elle a été sélectionnée, seront utilisés au sein des pads.
    • Dans votre profil, vous pouvez modifier votre couleur mais aussi demander à MyPads de ne pas utiliser vos données au sein des pads. Dans ce cas, MyPads n’interférera pas avec un usage classique d’Etherpad et il vous reviendra de spécifier votre nom et votre couleur au sein du pad.

Bien entendu, même si vous avez choisi d’employer par défaut vos données, vous pourrez toujours modifier, pour une session donnée, vos paramètres, par exemple si un invité a choisi la même couleur que vous.

Ces nouveautés sont disponibles sur la version en ligne. N’hésitez pas à tester et à nous donner vos impressions.

Pour la semaine 26

Sont prévus les deux éléments non réalisés la semaine dernière, à savoir le module de gestion des favoris ainsi que les pages publiques pour les groupes du même type ou ceux protégés par mot de passe. Également :

  • Lorsqu’un groupe est supprimé, les pads qui lui sont attachés le sont également. L’idée est de vous proposer, si vous le souhaitez, de déplacer les pads du groupe supprimé vers un autre groupe.
  • Vous laisser le choix de supprimer complètement votre compte. Si vous confirmez, tous les groupes et pads dont vous êtes le seul administrateur seront supprimés.
  • L’administration de MyPads
    • Réservée aux administrateurs de l’instance Etherpad.
    • Avec un module de gestion des utilisateurs.
    • Et un module de paramétrage de MyPads (taille des mots de passe, configuration pour l’envoi de mail etc).

MyPads

MyPads : week 25

Tasks done

Progress made this week haven’t been as important as expected. Two main reasons : less time for the contractor, and tasks more complicated than estimated. Then, what have been done:

  • Server-side messages localization, messages sent by the MyPads API, which is used by the Web client. This point was important especially because some messages, mainly errors, were displayed as received by the Web client and so were in English only. This task has taken some time because all server files had to inspected to setup this feature and then have been translated to French.
  • Login and user chosen color by default on MyPads pads. This work, that seems easy, has been time-consuming. MyPads, as an Etherpad plugin, uses hook system provided by Etherpad to be able to interact with it. Updating user session parameters is easily done but there is no simple way to know, within the context sent by Etherpad, who is the current user from MyPads and so which information to use. As it wasn’t conceivable to edit Etherpad core to get additional data neither live patching Etherpad client code, some ways have been explored. Here is how it works, from the user point of view :
    • When you subscribe, you can choose a color, thanks to the HTML 5 dedicated element. Please note this choice is optional.
    • By default, login and color, if it has been selected, are used for pad authorship.
    • Into your profile, you can update your color but also ask MyPads to not use your data into the pads. In that case, the plugin will be transparent and classical Etherpad feature will be here : it’s up to you to enter your name and choose your color from the pad interface.
    • Of course, even if you choose to use your data from MyPads, you can always overwrite it for a given session. Useful for example when another user has chosen the same color as you.

These new features are available on the online beta. Don’t hesitate to test and give us your feedback.

Week 26

Are planned the two remaining items from last week: bookmarks management module and public pages for public groups and password protected ones. Also:

  • When a group is removed, linked pads are too. The idea here is to offer you, if you wish, to move the pads to another existing group.
  • Let you the ability to completely remove your account. After confirmation, all groups and pads which you are the unique administrator will be removed.
  • MyPads administration
    • Restricted to Etherpad instance administrators.
    • With a user management module.
    • And a MyPads configuration module (password length, email sending parameters etc).