1 vote

By Timothée Jaussoin, on 11/12/2013 at 16:17. View post detail

Depuis déjà quelques versions Movim permet la création, l'administration et la publication sur des flux Publish-Suscribes via la fonctionnalité Groupes. Ce petit tutoriel va vous permettre de récupérer les articles de vos flux RSS et Atom préférés pour les injecter dans des groupes qui seront créés automatiquement par le module en question.

Toute la configuration se fera sur le merveilleux serveur XMPP Metronome, fork de Prosody qui possède une implémentation exemplaire de Pubsub.

Mise en place des fichiers nécessaires

L'élément central sera surement le module en question qui sera à glisser dans le dossier des modules du serveur Metronome. Sur ma distribution (Debian) il est dans

# cat /usr/local/lib/metronome/modules/mod_pubsub_feeds.lua

Vous pouvez télécharger ce fichier sur ici : Module Pubsub Feeds. C'est une version modifiée du même module pour Prosody corrigée pour Metronome par le développeur du serveur (Maranda).

Il vous faut ensuite récupérer l'ensemble des dépendances nécessaires au bon fonctionnement du module. Ces fichiers se trouvent sur le dépot d'une des personnes avant travaillé sur le module original (pour Prosody donc) : code.matthewwild.co.uk/lua-feeds. Il vous faut ici télécharger la version brute du fichier du dépot et la placer dans le dossier de référence de Lua sur votre distribution. Pour ma part tout s'est fait dans le dossier

# cd /usr/share/lua/5.1/

J'ai donc directement récupéré les fichiers en question dans le dossier :

# wget http://code.matthewwild.co.uk/lua-feeds/raw-file/4afd0e6206b2/feeds.lua
# wget http://code.matthewwild.co.uk/lua-feeds/raw-file/4afd0e6206b2/stanza.lua
# wget http://code.matthewwild.co.uk/lua-feeds/raw-file/4afd0e6206b2/xmlstream.lua

Une fois tout les éléments en place nous pouvons passer à la configuration du serveur.

Configuration du module

La configuration générale est expliquée ici : code.google.com/p/prosody-modules. L'idée étant de compléter la partie de la configuration du module Pubsub (mod_pubsub) du serveur en lui rattachant le module Pubsub Feeds (mod_pubsub_feeds). Tout se fait en quelques lignes.

Component "pubsub.example.com" "pubsub"
    modules_enabled = { "pubsub_feeds" }
   
    feeds = {
                        planet_jabber = "http://planet.jabber.org/atom.xml";
                        prosody_blog = "http://blog.prosody.im/feed/atom.xml";
                  }

Ensuite nous allons simplement lister les flux Atom ou RSS qui nous intéressent, au chargement du module le serveur créera automatiquement les nœuds Pubsub liés, la clef de la liste associative fait ici office d'identifiant pour le nœud Pubsub du serveur. Dans mon cas j'ai par exemple :

Component "pubsub.movim.eu" "pubsub"
    name = "Movim Publish/Subscribe"
    modules_enabled = { "pubsub_feeds" }
    feeds = {
               Numerama = "http://www.numerama.com/rss/news.rss";
               BouletCorp = "http://www.bouletcorp.com/feed/atom/";
               JournalDuGeek = "http://feeds2.feedburner.com/LeJournalDuGeek";
               ...
               }
    use_pubsubhubub = false

Vous trouverez donc le flux du Journal Du Geek dans Movim dans une adresse ressemblant à celle-ci : http://example.com/node/pubsub.movim.eu/JournalDuGeek.

N'oubliez pas de déclarer vos flux persistants dans la configuration du nœud (http://example.com/nodeconfig/pubsub.movim.eu/JournalDuGeek dans notre cas) afin de le rendre persistant et ainsi conserver les souscriptions existantes en cas de reboot ou crash du serveur.

Amusez-vous bien :)

 
0 vote

By Blog, on 14/11/2013 at 11:24. View post detail

Hello,

Timothée and Vincent will be at the Cité des sciences, in Paris, to give a conference about the project. Named “Movim, réseau social et décentralisation”, you’ll be able to see the last version of the software and have a look on the decentralization advantages.

The podcast will be published as soon as possible.

 
0 vote

By Blog, on 03/10/2013 at 23:07. View post detail

Hi everyone !

After a long silence we are proud to announce the 0.7.2 version of Movim. This is quite a big update with a lot of new features.

The database layer : Modl2

Since the 0.7 version, Movim is based on a brand new database library called Modl (for Movim Data Layer). With this release, Modl has been totally rewritten with two major updates :

  • The requests are now in standard SQL and are executed threw the PDO PHP extension. That way, they can be ported easily on different database engines. Since this major improvement Movim can be installed on MySQL and PostgreSQL.
  • Modl is also shipped with a new tool called SmartDB. This awesome feature can detect the state of your current database and update it properly when you update the Movim source-code by creating dynamically the columns and the keys. So, when Movim will be updated, the data stored on your database will be preserved.

Theses two features have also been integrated in the admin panel.

XMPP Support

Movim now support the XEP-0084: User Avatar. With this new feature the contacts pictures are updated dynamically.

The Bookmark/Subscription system has also been totally rewritten to prevent some minor issues.

Lot of bugs have been fixed in the Group feature :

  • Clean properly the database on unsubscription and post deletion
  • Handle correctly the group configuration form
  • Display more information on the Explorer and Server page (such as the subscription state and the current number of posts in each Groups)
  • Add the support of Youtube links (display some thumbnails of the video)
  • Some optimizations on the CSS of the posts for the mobile version
  • Posts links are now more clearly displayed (with a little favicon)
  • Lot of old code has been cleaned up

Some bugs have also been fixed in the chat-room feature which is still in a “development stage”.

In the Movim Core

The Movim log system has been fully rewritten by Jérôme Ilune. It can handle more properly the internal errors and events and greatly simplify the development and debugging of the source-code.

A huge optimization of the source-code has been made, especially in the XMPP event handler and dispatcher. The authentication on the XMPP account is now up to 10 times faster than the previous release. This enhancement is probably the most visible in all the modifications made in this release.
I hope you will enjoy this release, you can download it on Launchpad. You can also test it on the demonstration pod : pod.mov.im.

 
2 votes

By Timothée Jaussoin, on 23/07/2013 at 10:23. View post detail

À peine quelques jours après la release de la 0.7 , voici la première version mineure de la branche.

Même si celle-ci ne contient pas de changement majeurs je vous invite fortement à mettre à jour votre version actuelle afin de profiter des optimisations et améliorations suivantes :

  • Un très important bug a été corrigé dans le système de traitement de paquets, j'ai rajouté un filtre qui permet d'éviter de charger inutilement des pans entier de code à la réception d'un paquet XMPP, ce qui permet de booster considérablement (x10) les performances de Movim. Sur un compte "chargé" (avec de nombreux contacts et abonnements) la connexion ne prend plus que quelques secondes (contre plusieurs dizaines de secondes sur la 0.7). Ce correctif permet également à Movim de retrouver des performances acceptables sur des petits serveurs (comme mon EeePc 701).
  • Les émoticones ont été remplacés pour mieux s'intégrer au sein de la nouvelle interface et quelques bugs ont été corrigés dans le chat.
  • J'ai finalement intégré un nouveau panneau dans l'interface de publication de posts, celui-ci permet d'insérer automatiquement le code Mardown pour les images de la gallerie (page Média)
  • De nombreux petits bugs ont été corrigé, j'ai également porté d'autres widgets sur le nouveau moteur de template.

Ce n'est pas une grosse release mais celle-ci offre une version plus "finie" de Movim avec des meilleures performances à la clef.

Pour télécharger, c'est toujours la même adresse https://launchpad.net/movim/+download.

:)

 
0 vote

By Timothée Jaussoin, on 13/07/2013 at 23:45. View post detail

Après plus de 6 mois de développement, la nouvelle version de Movim est enfin là. Je pense qu'une petite rétrospective sur ce qui a été fait peut être intéressante :)

Le projet Movim atteint maintenant un bon niveau de maturité, ce qui tend à me faire croire que la version 0.7 peut être présentée comme quelque chose d'utilisable par le grand public (peut-être pas Mme Michu, mais presque). L'actualité pourrait également nous être favorable puisque nous pouvons nous placer comme une excellente solution aux problèmes de surveillance et de tentative de contrôle des données personnelles par les différents gouvernements américain et européens.

Voilà donc plusieurs mois que nous travaillons d'arrache pied sur la futur version 0.7 du projet Movim. J'ai en effet été rejoint par ma copine qui m'a aidé à développer la fonctionnalité Groupes ainsi que 2/3 petits trucs ici et là (grâce à un projet d'étude qu'on a fait ensemble au sein de notre école d'ingénieur).

Voici donc une petite liste (non exhaustive) des principales fonctionnalités qui vous attendent pour cette release :)

  • Les Groupes sont certainement la plus importante fonctionnalité de cette version. Movim est le premier client au monde qui exploite réellement PubSub au travers de son interface. Nous nous sommes en effet basés sur cette XEP (une XEP, je le rappelle, est une extension XMPP) afin de développer les Groupes qui permettent, toujours de façon standardisée et décentralisée, de créer des "flux" d'actualités autour de sujets, à la manière des forums, mais via le protocole XMPP. Vous avez ainsi la possibilité de choisir un serveur, y créer un sujet de discussion, inviter vos amis à participer, publier des posts et bien sûr de vous abonner aux autres sujets pour suivre et participer aux échanges.
  • La page "Média" fait son entrée. Elle permet d'uploader vos photos au sein d'un petit espace de stockage (20Mo par défaut mais modifiable par l'administrateur). Pour le moment, il n'y a pas encore de lien entre cette page et la page de publication (qui pourrait permettre d'insérer une photo uploadée dans un article, par exemple) mais cette fonctionnalité est prévue pour la 0.8.
  • La page d'inscription a été entièrement revue. Une mini-carte vous permet maintenant de visualiser la position sur la planète des différents serveurs que nous conseillons. Movim supporte également l'inscription sur un plus grand nombre de types de serveurs différents.
  • La bibliothèque d'affichage des cartes OpenStreetMap a été remplacée par Leaflet, plus légère et plus simple à utiliser.
  • Movim supporte un nombre toujours plus important de XEP, lui permettant dorénavant de se déclarer proprement sur le réseau XMPP et de mieux interpréter les actions qu'il reçoit.
  • Vous avez maintenant la possibilité d'externaliser le chat dans une fenêtre pop-up. C'est un petit défi technique en soit puisqu'ici il a fallu garder la connexion ouverte même en cas de rechargement de la fenêtre principale (résolu par une petite bidouille en javascript).
  • De grosses optimisations ont été faites dans le code source (notamment grâce à l'utilisation d'un profiler me permettant de voir clairement les bouts de code ralentissant l'exécution). J'ai ainsi remanié certaines parties faisant gagner plus de 50% de temps de calcul à Movim. Les pages se chargent donc plus vite (c'est pas forcément perceptible mais sur des petits serveurs avec une forte charge ça sera utile).
  • Vous avez maintenant la possibilité de supprimer certains éléments stockés dans la base de données vous concernant dans le panneau de configuration (messages, contacts, posts).
  • L'interface a été profondément repensée et est maintenant capable de s'afficher sur la quasi-totalité des appareils et résolutions (via l'utilisation du responsive design).
  • et énormément d'autres petites choses que vous découvrirez vous même sur l'un des nombreux pods mis à disposition.

Pour les hackerz

Pour les développeurs, de très importantes modifications on été faites dans le framework du projet, certaines d'entre-elles sont inspirées de certains concepts que j'ai vu sur Ruby On Rails.

  • L'organisation des fichiers sources du projet est maintenant beaucoup plus logique avec une séparation claire entre le "cœur" et l'application Movim l'exploitant.
  • Un moteur de template, RainTPL a été ajouté au projet ce qui m'a permis de séparer clairement certains pans de codes qui étaient précédemment étroitement liés. Le code des widgets devient donc beaucoup plus clair et facile à débugger.
  • L'API faisant la liaison entre le navigateur et le serveur web a été réécrite et dialogue maintenant en JSON (XML auparavant).

Le projet

Et, plus globalement, de très (très !) nombreux bugs on été corrigés. C'est pas moins de 11 Alphas et 2 Betas qui ont été diffusées sur Internet afin de tester au maximum cette version. Les flux Atom générés par Movim sont maintenant valides, suivant la norme Atom officielle.

Nous avons également migré notre serveur XMPP vers le projet Metronome, fork du projet Prosody avec un super support de Pubsub et des performances impressionnantes !

Le site officiel a été mis à jour et un nouveau tutoriel d'installation a été écrit sur le Wiki du projet.

Je remercie également toutes les personnes qui m'ont aidé à débugger l'application, encore plus ceux qui ont proposé des correctifs au code. Je remercie également l'ensemble des traducteurs pour leur travail formidable, Vincent pour son investissement dans le projet (conférences, communication) et ma copine pour son aide sur la fonctionnalité Groupes et quelques autres features :).

That's all folk !

 
0 vote

By @influencepc, on 26/06/2013 at 00:42. View post detail

J’ai présenté une autre conférence ce weekend, samedi 22 juin, à Pas Sage En Seine dans Paris. J’ai été reçu avec une bouteille de Club-Mate, dans ces conditions difficile de ne pas se sentir chez soit !

Je dois avouer une chose, après 240km de route, 30min de métro (avec changement de ligne), le plus difficile a été de me repérer à la sortie et surtout de trouver le passage. Après un peu de stress, je suis arrivé à l’heure.

Il y avait d’ailleurs une heure de retard, mais le conférencier devant passer avant moi était absent, je suis donc passé miraculeusement à l’heure. Amusant.

 

 

Je m’attendais à discuter très technique avec des jeunes très calés sur les réseaux, au final j’ai été un peu déçu de constater que les candidats étaient plutôt dans un coin de la salle sur leurs ordi portables. C’est finalement les jeunes pousses qui sont venues à ma rencontre, et avec qui j’ai eu l’occasion de refaire le monde, devant l’entrée de La Cantine.

Je remercie chaleureusement les organisateurs de l’évènement, Skhaen en particulier pour l’invitation, ainsi que ceux que je ne connaissais pas pour avoir réuni tout ce monde là et permit les enregistrements/retransmissions des conférences. Je suis également très content d’avoir pu parler avec Goffi, le fondateur de Salut à Toi (SàT), dont le projet est très proche de Movim (mais en Python) et dont le rapprochement me semble encore plus évident :)

Bon visionnage.

Note : le player HTML5 se lance sous Chromium mais pas Firefox, pourtant c’est du webm.

 
0 vote

By Blog, on 26/06/2013 at 00:40. View post detail

Vincent has given another conference in french this weekend, on the 22th June.

It seem that Firefox is not able to read this Webm video, tell us is it works for you.

 
0 vote

By @influencepc, on 09/06/2013 at 12:30. View post detail

J’ai présenté une conférence la semaine dernière, dimanche 2 juin, à la Ubuntu Party de Paris, autour du réseau social décentralisé Movim qui se base sur XMPP. L’ambiance était fun, même si l’évènement était un peu plus modeste que d’habitude, ça n’empêche pas de faire de bonnes rencontres.

Je vous conseille de regarder la vidéo avec les slides à côté, ils sont juste en dessous.

 

 

Vincent at the conference

Vincent at the conference

Il se trouve qu’on a aussi été invité au PSES2013 (Pas Sage en Seine 2013, à Paris) et que je me retrouve donc présenter Movim à nouveau dans deux semaines.

Vous pourrez me rencontrer samedi 22 juin de 18h30 à 19h30 (plus d’info).

 
0 vote

By Blog, on 09/06/2013 at 12:11. View post detail

Vincent has given a conference in french last week, on the 2nd June.

Vincent at the conference

Vincent at the conference

We are also pleased to announce that the PSES2013 (Pas Sage en Seine 2013, in Paris) has invited us to present Movim at this event!
=> You can meet us on the saturday 22th June from 6.30PM to 7.30PM

 
0 vote

By Blog, on 07/03/2013 at 22:25. View post detail

Movim keeps getting improving a step at a time and now boasts a responsive design layout, a better and much faster database access layer and customizable CSS3 elements like the page background.

marketplace-giantfox-combined

Perhaps you’ve heard that Mozilla has released its new mobile operating system Firefox OS. This new operating system is a breath of fresh air in a market that focuses much of its development into repackaging HTML5 and javascript websites into native “apps”. Indeed Firefox OS lets developers create an application to run on their platform by simply adding a description file to it, the OS is entirely written in HTML5 and javascript itself so websites just run natively on it.

At Movim we’re very excited by this new opportunity and we plan to release Movim as a webapp for Firefox OS. This means that we could be the second social platform on the Mozilla marketplace (after Twitter) and get more attention from the general public.

That also means that our existing server platform will not suffice to back a webapp. So we’ve invested into an AWS instance that now runs Movim’s reference pod. This isn’t an official pod, as we insist we will never have one. However it will be maintained by us and kept in sync with the development trunk. And thus it has all the goodness you’ll find in the next version!

bitcoin

Before you rush to the new pod, consider making us a small donation. We already supported Flattr, and now we also accept donations in Bitcoin. We try to run with minimal expenses, but still need a bit of money to cover the domain names and AWS hosting.

You can now check out the latest code, or go ahead and try out the latest and greatest pod!

Quick news

BilboPlanet - An Open Source RSS feed aggregator written in PHP.