• chevron_right

    This is where Movim is made GEAR

    Timothée Jaussoin · Wednesday, 9 June, 2021 - 19:29 edit

Just a small picture of my desk.

I'm writting the Movim sourcecode since 2013 on this #Thinkpad T430. It's a wonderful computer that I'm planning to keep as long as possible. A really nice keyboard, replaceable battery, 1Tb of SSD, Full HD IPS screen, 8Gb of RAM… and a nice dock to easily switch to a triple FullHD screens setup.

Everything is running on #Debian Testing with #XFCE 💕

It's also funny to see what you can do today with a small setup like that.

  • wifi_tethering open_in_new

    This post is public

  • favorite

    6 Like

    chrisalzo, Adrien Dorsaz, arlngshen, Mathias Poujol-Rost ✅ , debxwoody, chunk9


  • person

    13 June, 2021 chrisalzo

    awesome setup good job on movim very impressive

  • person

    15 June, 2021 arlngshen

    The space where cyber magic happens :)

  • person

    15 June, 2021 arlngshen

    I really like Movim

  • person

    21 June, 2021 chunk9

    I really want to learn how xmpp pubsub works and movim is such a cool and unique things <3

  • 29 June, 2021 Mathias Poujol-Rost ✅


  • chevron_right

    Ubuntu Core 20 adds secure boot with hardware-backed encryption / ArsTechnica · Tuesday, 2 February, 2021 - 22:26

You might draw a fairly similar schematic diagram to give someone a simplified idea of how a traditional Linux distribution is put together—but it wouldn

Enlarge / You might draw a fairly similar schematic diagram to give someone a simplified idea of how a traditional Linux distribution is put together—but it wouldn't be as close to literal accuracy as this Ubuntu Core diagram is. (credit: Canonical )

Canonical released Ubuntu Core 20 today, which is now available for download. If you're already familiar with Ubuntu Core 20, the standout new feature is added device security with secure boot, full-disk encryption, and secure device recovery baked in. If you're not familiar with Ubuntu Core yet... read on!

The key difference between regular Ubuntu and Ubuntu Core is the underlying architecture of the system. Traditional Linux distributions rely mostly on traditional package systems— deb , in Ubuntu's case—while Ubuntu Core relies almost entirely on Canonical's relatively new snap package format.

Ubuntu Core also gets a full 10 years of support from Canonical, rather than the five years traditional Ubuntu LTS releases get. But it's a bit more difficult to get started with, since you need an Ubuntu SSO account to even log into a new Ubuntu Core installation in the first place.

Read 40 remaining paragraphs | Comments

  • chevron_right

    Chat picture resolver and Telegram stickers

    Timothée Jaussoin · / Movim · Friday, 15 May, 2020 - 07:50 edit · 3 minutes

Movim 0.18 is planned to be released soon.

In the meantime, let's have a look at one specific feature that is really useful when you integrate Movim with the Spectrum2 - Telegram bridge.

For those that are not aware, XMPP can connect to other chat networks using tools called "transport". One of the most used is called Spectrum2 and can connect to many other networks thanks to its libpurple support.

Telegram transport setup

What will we do here is:

  • Setup telegram-purple in Spectrum2 on Debian
  • Connect it to a XMPP server (here ejabberd)
  • Adapt the transport to integrate with Movim

Setup Spectrum2 and telegram-purple

Here I will not detail the basic installation, the official Spectrum2 documentation is pretty complete.

Once the repository is setup, please install the base package and the libpurple module:

apt install spectrum2 spectrum2-backend-libpurple

For telegram-purple the README is also quite complete

Create a Telegram transport

Once all the packages are setup, we will create a transport configuration file. You can reuse the spectrum.cfg.example located in the /etc/spectrum2/transports/ as a base.

# nano /etc/spectrum2/transports/spectrum_telegram.cfg

This is basically the config file that I used for my own transport:

server_mode = 0

jid =
password = spectrumpassword
server =
port = 5347
backend_host =




name=Telegram Transport

config = /etc/spectrum2/logging.cfg
backend_config = /etc/spectrum2/backend-logging.cfg

type = sqlite3


When Spectrum2 will connect to the Telegram network, the stickers will be downloaded as files on the server. By default an ugly path is simply sent to the XMPP clients. We will turn it to a proper URL and let Movim to its magic.

To do that we need to configure the Web Storage module. You can also find more documentation about it there.


It's pretty self explanatory. The downloaded stickers will be put in the web_directory directory. The second parameter, web_url, is basically telling Spectrum2 how to general its URL before sending them in the messages.

Configure ejabberd

Then we need to add a new service in our ejabberd.yml configuration file.

    port: 5347
    module: ejabberd_service
    access: all
    ip: ""
    global_routes: false
        password: "spectrumpassword"

Once everything is setup, restart Spectrum2 and ejabberd. For Spectrum2 you can do it using spectrum2_manager or a dedicated systemd configuration file.

Configure our web server

We then need to expose those files to the web. A simple nginx configuration will handle it.

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;


    root /home/movim/upload;

    location /spectrum {
        alias /home/movim/movim/spectrum;

Fix the nasty file rights with Incron

If you start to use your Telegram transport at this point you'll notice that the stickers URLs are returning a 403 Forbidden error.

Indeed, Spectrum2 is writting the files in the directory using it's own rights. And this can't be configured.

We will then use another useful tool called Incron. This tool works like CRON but instead of working on time events, it works on file events.

You can find a pretty complete documentation there.

apt install incron 
nano /etc/incron.allow # add your spectrum user there
sudo -su spectrum
incrontab -e

In the incrontab file well then change dynamicaly the rights of the files once they are wrote in the directory (check the documentation for more details).

/home/movim/upload/spectrum   IN_CLOSE_WRITE          chmod 664 $@/$#

Enjoy your nice Telegram stickers in Movim

In Movim, nothing more to do. With the version 0.18, Movim will try to resolve the incoming messages that contains a URL and see if it's a valid picture. Which is the case for Telegram stickers.

Telegram stickers displayed in the Movim chat

You can also note that it works for any other incoming picture URL, including those sent using Conversations or other XMPP clients.

That's all folks!

#telegram #xmpp #movim #transport #stickers #ejabberd #admin

  • La chevron_right

    Aide-mémoire Terminal : DPKG (Debian Package) / LaVacheLibre · Saturday, 30 March, 2019 - 21:09 · 3 minutes

dpkg (Debian package) est un outil bas niveau utilisable en ligne de commande, conçu pour la gestion des paquets .deb sous Debian et dérivés. Il permet en autres l’installation, la suppression et la gestion des paquets Debian (.deb), mais aussi la gestion de paquets provenants de sources extérieures aux dépôts apt. dpkg peut également s’avérer utile (voir indispensable) pour intervenir sur un conflit, un blocage d’apt, ou sur la gestion d’un paquet possédant beaucoup de dépendances. Ne gérant pas ces dernières il permet en effet d’intervenir sur un paquet sans bouleverser ses dépendances. Il est d’ailleurs assez souvent utilisé par Synaptic et d’autres gestionnaires d’applications. Enfin dpkg permet d’obtenir pas mal d’informations sur les paquets installés, voir même au besoin d’en recréer un depuis une application déjà installée. Je pose ici quelques commandes que j’utilise régulièrement et comme d’habitude n’hésitez pas à intervenir dans les commentaires pour une éventuelle correction ou pour un complément d’info. Je sais comment et quand je dois les utiliser, mais j’avoue que parfois l’idée que je m’en fais (le descriptif) ne correspond pas toujours à la façon dont elle agissent réellement. Donc n’hésitez pas.

Installation de paquets :

  • Installer un paquet au format .deb :
~$ sudo dpkg -i [paquet.deb]
  • L’option -R (recursive) installera l’ensemble des paquets présents dans un répertoire et ses sous-répertoires) :
~$ sudo dpkg -i -R *.deb

NB : Les deux commandes suivantes m’ont souvent aidé quand une installation c’était mal passée et que quelque chose était manquant ou flingué.

  • Compléter l’installation d’un paquet qui nécessite des dépendances non satisfaites :
~$ sudo apt install -f
  • Reconfiguration de dpkg et pour faire simple, des paquets cassés. Peut être associé (et ou complété) par apt install -f :
~$ sudo dpkg --configure -a

NB : Si un paquet refuse de s’installer il est possible de forcer la chose à l’aide de certaines options, mais je ne vais pas les lister ici. Cela présente des risques qui bien souvent n’en valent pas la peine. Si vous voulez en savoir plus sur le sujet vous pouvez jeter un œil sur cet article .

Suppression de paquets :

  • Supprimer un paquet mais pas les fichiers de configuration associés :
~$ sudo dpkg -r [paquet.deb]
  • Supprimer un paquet et les fichiers de configuration associés :
~$ sudo dpkg -P [paquet.deb]

!!! La commande suivante peut être dangereuse et ne doit être utilisée que dans des contextes bien particuliers. Je la liste quand même car elle m’a déjà sorti de la panade, mais soyez prudents et renseignez-vous avant de l’utiliser !!!

  • Forcer la suppression d’un paquet et de ses fichiers de configuration quand apt se trouve bloqué par exemple :
~$ sudo dpkg --force-all --purge [paquet.deb]

Lister et rechercher ses paquets :

  • Afficher la liste complète des paquets installés sur le système (peut être redirigé dans un fichier texte via >> list.txt ) :
~$ dpkg -l
  • Vérifier la présence et l’état d’un paquet :
~$ dpkg -l [paquet]
  • Lister l’ensemble des paquets liés à une application :
~$ dpkg -l *nom_du_paquet*
  • Afficher la liste paquets contenant le fichier relatif au terme de recherche) (je ne sais pas comment la décrire de manière moins bancale :)) :
~$ dpkg -S [paquet]

Aide :

~$ man dpkg (manuel de dpkg)
~$ dpkg --help (aide de dpkg)

Voilou. La liste est courte mais pour le moment je n’ai jamais eu besoin de plus.

source :

Dernière modification le 30/03/2019 22h00

  • chevron_right

    Movim 0.14 - Scotty - Anniversary Edition

    Timothée Jaussoin · / Movim · Sunday, 18 November, 2018 - 09:17 edit · 5 minutes

Movim is 10 years old and it's with a lot of satisfaction that we are bringing this version 0.14 after 9 long months of development.

Movim is a new concept of social network with instant messaging features that sits between #Instagram, #WhatsApp for the user experience and federated networks such as #Diaspora or #Mastodon.

Ou goal is to bring everything you need to communicate with your community, classroom, company or friend circle in one simple application. Movim can easily be deployed on a server and rely on the XMPP protocol to federate them. Therefore Movim can, by design, already communicate with many XMPP/Jabber clients and doesn't need you to create a new account if you already have an XMPP one 😋.

This new #release is coming with several core changes that greatly improved the stability and performances of the project but it also brings many design and navigation improvements to always provide you with the best experience regarding publication of content and messaging.

Movim and PHP 7.3

Movim is currently having technical issues to run on the upcoming version of PHP 7.3.

This is a known and documented issue that is caused by some incompatibilities with one of the official dependencies of PHP, php-zmq, that is used at several places in the core of the daemon.

A ticket has been open to track and give updates about this issue: Movim is not working with PHP 7.3.

Technical changes

Before presenting the improvements and new features let's talk a bit about what was done under the hood.


The biggest change in this version is certainly the complete replacement of the database layer from the historical, Movim specific, Modl library to the widely used Eloquent.

This work has been detailed in a previous article: From Modl to Eloquent, or how to change a social network database engine. To sum it up, it brought coherence in the database of the project and a huge performance boost on all the pages.

Without any cache involved, Movim is now loading pages in only a few hundred milliseconds.

A little chart, people always like charts

The new database structure is also keeping good performances with a huge amount of data (millions of messages, thousands of articles on our official pods a this moment).

With Eloquent, Movim is compatible with #MySQL, #PostgreSQL but also, since this version, with #SQLite which can greatly simplify the deployment of small instances. Thanks to JKingweb for his awesome work on this port.

Packaging and dependencies

Scotty will be the first version to be packaged for the #Debian project. Big improvements were made in the dependencies of the project thanks to the work of our contributors mirabilos and nik. Several were fully removed and some are replaced with more stable and reliable ones (like the SASL library, used for the authentication). This package will come a bit later regarding the issue that we have with PHP 7.3.

Movim 0.14 is also the first version to drop the support of PHP5 (now deprecated) to focus on PHP7+.

What's new?

After being a bit boring with those technical changes let's have a look at what you will find as a user in this new version.


The publication of articles is now simpler than ever and has been fully redesigned. You can quickly publish a link or upload a picture directly from the home page or you can still switch to the more complete form to write long articles (like this one 😉).

A more simple publication form

When sharing a link that contains several pictures you can now pick the one that you would like to include in your publication (or no picture at all).

Picking the perfect kitten picture :3

The publication visibility toggle has been redesigned to be clearer as well.


The cards containing the preview of the articles were fully redesigned to be more compact and adaptable to smaller screens.

The news page, contact publications and communities are now paginated allowing simpler navigation.

If you receive articles containing NSFW content and you asked to not display them in the configuration, Movim will now display a spoiler overlay on top of them.

Click on the spoiler to show the content

The search feature has been improved and now supports searching in tags as well.

The loading performances of the articles and comments were also greatly improved. Navigating between the articles feels like a breeze.


All the notifications are now grouped in a panel easily available from the main menu both on desktop and on mobile. Thanks to XMPP all those notifications are received and synchronized in real time 😀.

The new notifications panel

Those notifications contain likes, comments and invitations that you received.


Several message synchronisation issues were fixed allowing Movim to handle properly the receival and read acknowledgement of the sent messages.


The chatrooms were slightly redesigned, the moderators messages are now shown with a specific color. The messages addressed to you are also displayed with a colored border.

Improved design for the chatrooms

You can now also publish Stickers and emojis in your favorite chatrooms.

But also!

You can now use Movim to authenticate to third party websites using your XMPP account. On the websites that implement that feature, you just have to give your XMPP account and a notification will be displayed in Movim.

The authentication notification

You just have to accept it and you'll be automatically authenticated to the external website. How easy is it?

More information there Journal of a Bot - Authentication with XMPP.

Several small bugs were also fixed in the Video Conference feature. Movim is now clearer about the state of the video session and is giving proper feedbacks if the contact hung-up.

The pictures can be directly previewed within Movim before going to the external link.

Around the project

The new redesigned version of the official website will now present more clearly what the project is about and all the exciting features that you can use within Movim.

You will also find there all the apps for your desktop (Windows, macOS, Linux) and your Android phone.

What's next?

We are not done yet! There is already some plans for the upcoming release.

The 0.15 will focus on the integration of the OMEMO end to end encryption protocol. The related ticket has been reopened with more proper explanations. This will be a big risky project.

Some improvements will also be done on the suggestions of the chatrooms and communities to allow Movim users to explore and discover content more easily.

In the meantime we all invite you to try out this new version on our official instances or deploy it on your server. You will find everything to do so on the official website.

You can also always help us with donation to the project or support us on Liberapay or Patreon :). Giving feedbacks or talking about Movim around you is also helping us a lot!

That's all folks!

  • chevron_right

    Workaround for Remmina launch with the Wayland backend

    Adrien Dorsaz · Friday, 16 December, 2016 - 22:16

A simple way to workaround the Remmina segfault in a Wayland session is to use the X11 backend. So I've copied the remmina.desktop original file to my user's ~/.local/share/applications directory with these modifications:

adrien@t420s:~/.local/share/applications$ diff /usr/share/applications/remmina.desktop remmina.desktop 
< Exec=remmina
> Exec=env GDK_BACKEND=x11 remmina
  • #801963 - remmina crashes with Gnome 3.18/Wayland - Debian Bug report logs


  • version.cgi?height=2%3Babsolute%3D0%3Bfound%3Dremmina%2F1.1.2-3%3Bwidth%3D2%3Bcollapse%3D1%3Bpackage%3Dremmina