Wallabag sur un hébergement mutualisé
Wallabag est une application web libre permettant la lecture différée d’articles. Je ne l’utilisais plus parce que la migration de la version 1 à la version 2 sur un hébergement mutualisé était plutôt mal documentée. J’ai décidé de m’y remettre et de partager avec vous la procédure que j’ai suivi sur Gandi.
Présentation de Wallabag
Wallabag, initialement nommée « poche », est une application web créée en 2013 et distribuée sous licence libre, la licence MIT. Ses auteurs sont Nicolas Lœuillet, Thomas Citharel, Jérémy Benoist, mais la communauté participe également au développement. L’application étant open source, vous pouvez retrouver son code sur le dépôt Github.

Cette application web vous permet de sauvegarder des articles et de les organiser pour les lire plus tard. Le principe est assez similaire aux marques pages, sauf qu’il est possible de lire les articles sauvegardés en dehors de sites originels. Le contenu est extrait de la page web et vous pouvez alors le lire dans une interface épurée et homogénéisée. Il s’agit ainsi d’une alternative à Pocket ou Instapaper.
Wallabag doit au préalable être installé sur un serveur web. Le logiciel peut ensuite être utilisé depuis son navigateur, une application mobile ou une application pour liseuse. Si vous n’avez pas les moyens de l’installer sur votre propre serveur, vous pouvez trouver des sites proposant des instances de l’application. Certains seront payants, comme Wallabag.it, d’autres seront gratuits mais auront des limitations, comme Framabag.
Guide : installer Wallabag sur un hébergement mutualisé
La documentation pour installer Wallabag sur un serveur dédié semble assez complète, même si je n’ai pas testé. En revanche, pour installer la version 2 sur un hébergement mutualisé, la documentation laisse à désirer. En l’état, comme beaucoup (moi y compris), vous risquez de vous retrouver bloqué ou, au mieux, de vous retrouver avec une page blanche. Finalement, grâce aux réponses de andrewchenshx et cukabeka sur Github, j’ai réussi à installer Wallabag v2.
Je ne connais pas les fonctionnalités des différents hébergements mutualisés. Je ne peux pas vous garantir que ça marchera pour vous. Ici, je vais utiliser l’offre « Hébergement web » de Gandi (anciennement « Simple Hosting »). Ce dernier donne accès à une console SSH qui est nécessaire pour exécuter certaines commandes et compléter l’installation de Wallabag. Si vous ne pouvez pas vous connecter avec SSH, consultez la réponse de cukabeka : il propose une alternative (que je n’ai pas testé, donc je ne l’aborderai pas).
Prérequis
Pour suivre ce guide, il vous faudra évidemment un hébergement mutualisé. Ensuite, il vous faudra un nom de domaine ou un sous-domaine. Vérifiez également que votre serveur gère PHP et que vous disposez d’une base de données MySQL, SQLite ou PostgreSQL. Ci-dessous, j’utiliserais MySQL. Il vous faudra également un accès SSH.
Télécharger Wallabag
Pour commencer télécharger l’archive Wallabag et décompressez la :
wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Placez-vous dans le dossier créé (nommé à partir du numéro de version normalement) et créez un lien symbolique entre les dossiers web
et htdocs
:
ln -s /srv/data/web/vhosts/votreSousDomaine.votreNomDeDomaine.com/wallabag-2.4.3/web /srv/data/web/vhosts/votreSousDomaine.votreNomDeDomaine.com/htdocs
Quelques précisions :
- Gandi utilise un dossier
htdocs
pour les fichiers accessibles publiquement sur le web ; votre hébergeur utilise peut-être un autre dossier (www
par exemple). Pensez à faire les changements nécessaires. - Si vous n’êtes pas sur Linux et que vous ne savez pas comment créer un lien symbolique, vous pourrez le faire une fois connecté en SSH, avant de saisir les autres commandes.
- Pensez à mettre à jour le numéro de version dans le nom du répertoire s’il ne correspond pas à votre version.
Modifier la configuration
Ensuite, allez dans le dossier app/config
et modifiez le fichier parameters.yml
. Pour ce faire, il faut que vous connaissiez le type de base de données que vous utilisez, le nom de la base de données à utiliser, le nom d’utilisateur et le mot de passe associé. Il faudra également indiquer l’URL pour accéder à Wallabag.
Dans mon cas, avec Gandi, voici les informations que j’ai modifié :
database_host: localhost
database_name: leNomDeVotreBaseDeDonnees
database_user: leNomDUtilisateurDeVotreBaseDeDonnees
database_password: leMotDePasseAssocie
domain_name: 'https://votreSousDomaine.votreNomDeDomaine.com'
locale: fr
secret: uneChaineDeCaracteres (la longueur par défaut est de 30, j'ai choisi de respecter la même longueur)
fosuser_registration: false (si vous ne souhaitez pas autoriser la création de compte)
En fonction de votre configuration, vous aurez peut-être d’autres modifications à apporter comme le type de base de données (si vous n’utilisez pas MySQL) par exemple.
Transférer les fichiers sur le serveur
Une fois les modifications terminées, vous pouvez vous connecter en SFTP à votre serveur. Placez-vous dans le dossier du sous-domaine qui servira à Wallabag et supprimez le répertoire htdocs
. Maintenant, vous pouvez transférez l’ensemble des fichiers sur le serveur. Le transfert est long… soyez patient ; le dossier contient 21 148 éléments.
Se connecter en SSH
Il faut maintenant se connecter à la console SSH. Sur Gandi, l’option se trouve dans l’onglet « Administration » de votre instance « Simple Hosting ». Après avoir cliqué sur le bouton « Activer la console », vous obtiendrez une adresse vous permettant de vous connecter en SSH depuis un terminal. Il faudra ainsi saisir :
ssh *****@console.sd*.gpaas.net
# Les étoiles (*) sont à remplacer.
Il faut ensuite se placer dans le répertoire de Wallabag :
cd web/vhosts/votreSousDomaine.votreNomDeDomaine.com/
Si vous n’avez pas pu créer de liens symboliques précédemment, c’est le moment de le faire. Si c’est déjà fait, vous pouvez directement saisir les commandes suivantes.
Il faut nettoyer le cache :
php bin/console cache:clear --env=prod
Il faut maintenant installer Wallabag :
php bin/console wallabag:install --env=prod
# Vous aurez peut-être un « PHP Warning », mais l'installation devrait tout de même fonctionner.
# Vous allez maintenant avoir plusieurs informations à saisir :
# Wallabag vérifie si une base de données existe déjà.
#output#It appears that your database already exists. Would you like to reset it? (yes/no) [no]:
yes
#output#
# Wallabag demande si un administrateur doit être créé.
# Si oui, il faut indiquer son nom, son mot de passe et son adresse e-mail.
#output#Would you like to create a new admin user (recommended)? (yes/no) [yes]:
yes
#output#
#output#Username [wallabag]:
votreUsername
#output#
#output#Password [wallabag]:
votreMotDePasse
#output#
#output#Email []:
votreEmail
Si tout s’est bien passé, l’installation est terminée. Maintenant, vous pouvez vous rendre à l’adresse de votre Wallabag, il est alors possible de se connecter. Il ne vous reste plus qu’à le paramétrer selon vos préférences et à l’utiliser !

Utiliser Wallabag
Je ne vais pas détailler toutes les fonctionnalités de Wallabag, ce n’était pas l’objectif de l’article et la documentation peut vous aider sur ce point. Je vais simplement vous donner un aperçu de ce qu’il est possible de faire avec Wallabag.
Ajouter un nouvel article
Plusieurs méthodes existent pour sauvegarder des articles :
- le formulaire accessible depuis le bouton « + »
- l’utilisation d’une extension pour votre navigateur
- l’application pour smartphone
- l’utilisation d’un bookmarklet à sauvegarder dans ses marques pages

Personnellement, je préfère le bookmarklet. La méthode est simple d’utilisation et ça ne surcharge pas le navigateur avec une nouvelle extension. Je ne modifie jamais les titres des articles sauvegardés donc je n’ai pas besoin de plus de fonctionnalités avant la sauvegarde.
Consulter les articles sauvegardés
Lorsque vous aurez sauvegardé plusieurs articles, ils seront accessibles dans Wallabag sous forme de tuiles ou de liste. Vous pourrez les « marquer comme lu », « marquer comme favori » ou les supprimer.


En cliquant sur un article, vous pourrez le lire directement dans Wallabag. Vous aurez également accès à un menu pour ajouter un tag, voir l’article original ou le partager par exemple.

Autres fonctionnalités
Personnalisation
Vous pouvez changer le thème, le nombre de mots par minute qui permet d’estimer le temps de lecture ou le nombre d’articles à afficher par page. Vous pouvez également configurer les services de partage en les activant / désactivant ou en renseignant l’URL à utiliser (pour Shaarli ou Diaspora* par exemple).
Tags automatiques
Vous pouvez définir des règles de tag automatiques basé sur le titre ou l’URL de l’article par exemple. Ainsi, si le titre de l’article contient « WordPress » vous pouvez lui ajouter automatiquement un tag « WordPress ».
Import
Si vous utilisez déjà un service comme Pocket ou si vous avez de nombreux marques-pages dans votre navigateur, il est possible de les importer dans Wallabag.
Et d’autres fonctionnalités
Pour le reste, je vous laisse les découvrir par vous-même soit en explorant Wallabag soit en consultant la documentation.
Bonjour,
Merci pour cette explication.
En effet, j’essaie depuis quelques jours d’installer wallabag sur mon Gandi web host, j’ai suit tous les étapes dans votre billet, mais au moment où j’arrive à l’étape de l’installation je reçois ce message :
There is no extension able to load the configuration for “iparameters” (in “/srv/data/web/vhosts/read.waeltahhan.com/wallabag-2.5.2/app/config/parameters.y
ml”). Looked for namespace “iparameters”, found “”framework”, “security”, “twig”, “monolog”, “swiftmailer”, “doctrine”, “sensio_framework_extra”, “fos_rest
“, “fos_user”, “jms_serializer”, “nelmio_api_doc”, “nelmio_cors”, “liip_theme”, “bazinga_hateoas”, “lexik_form_filter”, “fos_oauth_server”, “stof_doctrine_
extensions”, “scheb_two_factor”, “kphoen_rulerz”, “doctrine_migrations”, “craue_config”, “babdev_pagerfanta”, “fos_js_routing”, “bd_guzzle_site_authenticat
or”, “old_sound_rabbit_mq”, “httplug”, “sentry”, “wallabag_core”, “wallabag_api”, “wallabag_user”, “wallabag_import”, “wallabag_annotation””.
J’ai cherché par tout dans la documentation de Gandi et Wallabag, mais je n’ai pas trouvé grande chose. Est-ce que j’ai raté quelque choose dans les étapes ?
Merci par avance.
Suite à mon message précédent, j’ai résolu le problème. En effet, j’ai supprimé wallabag et le réinstaller à travers le ssh directement dans mon dossier de sub-domaine plutôt que le sftp et voilà tout est fonctionnel maintenant.
Merci encore une fois pour votre billet, sans lequel je ne serait jamais capable de configurer mon app vue le manque de documentation sur ce cas.