wallabag Documentation

Transcription

wallabag Documentation
wallabag Documentation
Version 2.1.0
Nicolas Lœuillet
20 February 2017
Documentation utilisateur
1
.
.
.
.
3
3
4
5
7
2
Mettre à jour votre installation de wallabag
2.1 Mettre à jour de la 2.1.x à la 2.2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Mettre à jour de la 2.0.x à la 2.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Depuis wallabag 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
10
11
3
Configuration
3.1 Paramètres . . . . . . . . .
3.2 RSS . . . . . . . . . . . . .
3.3 Mon compte . . . . . . . .
3.4 Mot de passe . . . . . . . .
3.5 Règles de tag automatiques
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
14
15
15
Migrer depuis ...
4.1 Pocket . . . . . .
4.2 Readability . . . .
4.3 Depuis Pinboard .
4.4 Depuis Instapaper
4.5 wallabag 1.x . . .
4.6 wallabag 2.x . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
18
18
19
19
5
Se créer un compte et se connecter
5.1 Se créer un compte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Se connecter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
23
25
6
Articles
6.1 Sauvegardez votre premier article
6.2 Téléchargez vos articles . . . . .
6.3 Partagez vos articles . . . . . . .
6.4 Annotez vos articles . . . . . . .
.
.
.
.
27
27
28
28
29
Erreur durant la récupération des articles
7.1 Pourquoi la récupération des articles échoue ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Comment puis-je aider pour réparer ça ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
31
4
7
Installer wallabag
1.1 Pré-requis . . . . . . . . . . . . . . .
1.2 Installation . . . . . . . . . . . . . .
1.3 Virtual hosts . . . . . . . . . . . . .
1.4 Droits d’accès aux dossiers du projet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
7.3
8
9
Comment puis-je réessayer de récupérer le contenu ? . . . . . . . . . . . . . . . . . . . . . . . . . .
Retrouver des articles grâce aux filtres
8.1 Statut . . . . . . . . . . . . . . .
8.2 Image de prévisualisation . . . .
8.3 Langage . . . . . . . . . . . . .
8.4 Statut HTTP . . . . . . . . . . .
8.5 Temps de lecture . . . . . . . . .
8.6 Nom de domaine . . . . . . . . .
8.7 Date de création . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Tags
31
33
33
34
34
34
34
34
34
35
10 Configurer les applications mobile pour wallabag
10.1 Étapes pour configurer les applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
11 Application Android
11.1 But de ce document . . . . . . . . . .
11.2 Étapes pour configurer votre application
11.3 Limitations connues . . . . . . . . . .
11.4 Références . . . . . . . . . . . . . . .
.
.
.
.
39
39
39
59
59
12 À quoi servent les paramètres ?
12.1 Fichier parameters.yml par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Meaning of each parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
61
62
13 Sauvegarde de wallabag
13.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
65
65
65
14 Foire Aux Questions
14.1 Durant l’installation, je rencontre cette erreur Error Output: sh: 1: @post-cmd: not
found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2 Je ne peux pas valider le formulaire de création de compte . . . . . . . . . . . . . . . . . . . . . . .
14.3 Je n’ai pas reçu mon email d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4 Quand je clique sur le lien d’activation, j’ai ce message : The user with confirmation
token "DtrOPfbQeVkWf6N" does not exist. . . . . . . . . . . . . . . . . . . . . . . .
14.5 J’ai oublié mon mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.6 J’ai l’erreur failed to load external entity quand j’essaie d’installer wallabag . . . . .
67
15 Documentation de l’API
15.1 Pré-requis . . . . . . . . . . .
15.2 Créer un nouveau client d’API
15.3 Créer un jeton . . . . . . . .
15.4 Récupérer les articles existants
15.5 Créer votre premier article . .
15.6 Supprimer un article . . . . .
15.7 Autres méthodes . . . . . . .
15.8 Ressources tierces . . . . . .
.
.
.
.
.
.
.
.
69
69
69
69
70
71
72
73
73
16 Exécuter wallabag avec docker-compose
16.1 Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.2 Changer de SGBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.3 Exécuter wallabag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
75
75
75
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
67
67
67
68
17 Articles derrière un paywall
17.1 Activer l’authentification pour les paywall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.2 Configurer les accès dans wallabag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3 Fichiers de configuration pour parser les articles . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
77
77
77
18 Contribuer à cette documentation
79
19 Traduire wallabag
19.1 L’application web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.2 Documentation de wallabag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
81
82
20 Tâches asynchrones
20.1 Installer RabbitMQ pour des tâches asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2 Installer Redis pour des tâches asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
83
84
iii
iv
wallabag Documentation, Version 2.1.0
wallabag est une application de lecture différée : elle permet simplement d’archiver une page web en ne conservant
que le contenu. Les éléments superflus (menu, publicité, etc.) sont supprimés.
La documentation principale de cette application est découpée en plusieurs sections :
— Documentation utilisateur
— Documentation développeur
La documentation est disponible dans d’autres langues :
— Documentation in english
— Deutsch Dokumentation
Documentation utilisateur
1
wallabag Documentation, Version 2.1.0
2
Documentation utilisateur
CHAPITRE 1
Installer wallabag
Pré-requis
wallabag est compatible avec PHP >= 5.5, PHP 7 inclus.
Note : Pour installer wallabag facilement, nous avons créé un Makefile, vous avez donc besoin d’avoir installé
l’outil make.
wallabag utilise un grand nombre de bibliothèques PHP pour fonctionner. Ces bibliothèques doivent être installées à
l’aide d’un outil nommé Composer. Vous devez l’installer si ce n’est déjà fait et vous assurer que vous utilisez bien la
version 1.2 (si vous avez déjà Composer, faite un composer selfupdate).
Installation de Composer :
curl -s https://getcomposer.org/installer | php
Vous pouvez trouver des instructions spécifiques ici (en anglais).
Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de PHP, donc vous n’avez pas forcément besoin d’installer tous les
paquets correspondants.
— php-session
— php-ctype
— php-dom
— php-hash
— php-simplexml
— php-json
— php-gd
— php-mbstring
— php-xml
— php-tidy
— php-iconv
— php-curl
— php-gettext
— php-tokenizer
— php-bcmath
wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d’une extension et d’un
système de bases de données parmi :
— pdo_mysql
— pdo_sqlite
3
wallabag Documentation, Version 2.1.0
— pdo_pgsql
Installation
Sur un serveur dédié (méthode conseillée)
Pour installer wallabag, vous devez exécuter ces commandes :
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
Pour démarrer le serveur interne à php et vérifier que tout s’est installé correctement, vous pouvez exécuter :
make run
Et accéder wallabag à l’adresse http://lipdevotreserveur:8000
Astuce : Pour définir des paramètres via des variables d’environnement, vous pouvez les spécifier avec le préfixe
SYMFONY__. Par exemple, SYMFONY__DATABASE_DRIVER. Vous pouvez lire la documentation Symfony pour en
savoir plus.
Sur un serveur mutualisé
Nous mettons à votre disposition une archive avec toutes les dépendances à l’intérieur. La configuration par défaut
utilise SQLite pour la base de données. Si vous souhaitez changer ces paramètres, vous devez modifier le fichier
app/config/parameters.yml.
Nous avons déjà créé un utilisateur : le login et le mot de passe sont wallabag.
Prudence : Avec cette archive, wallabag ne vérifie pas si les extensions obligatoires sont présentes sur votre
serveur pour bien fonctionner (ces vérifications sont faites durant le composer install quand vous avez un
serveur dédié, voir ci-dessus).
Exécutez cette commande pour télécharger et décompresser l’archive :
wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Vous trouverez le hash md5 du dernier package sur notre site.
Maintenant, lisez la documentation ci-dessous pour crééer un virtual host. Accédez ensuite à votre installation de
wallabag. Si vous avez changé la configuration pour modifier le type de stockage (MySQL ou PostgreSQL), vous
devrez vous créer un utilisateur via la commande php bin/console wallabag:install --env=prod.
Installation avec Docker
Nous vous proposons une image Docker pour installer wallabag facilement. Allez voir du côté de Docker Hub pour
plus d’informations.
4
Chapitre 1. Installer wallabag
wallabag Documentation, Version 2.1.0
Commande pour démarrer le containeur
docker pull wallabag/wallabag
Virtual hosts
Configuration avec Apache
En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag et que vous utilisiez PHP
comme un module Apache, voici un vhost pour wallabag :
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
#
#
#
#
#
uncomment the following lines if you install assets as symlinks
or run into problems when compiling LESS/Sass/CoffeScript assets
<Directory /var/www/wallabag>
Options FollowSymlinks
</Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
</VirtualHost>
Astuce : Pour Apache 2.4, dans la section <Directory /var/www/wallabag/web> vous devez remplacer les directives
suivantes :
AllowOverride None
Order Allow,Deny
Allow from All
1.3. Virtual hosts
5
wallabag Documentation, Version 2.1.0
par
Require All granted
Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l’adresse
http://domain.tld.
Configuration avec Nginx
En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag, voici un fichier de configuration Nginx pour wallabag :
server {
server_name domain.tld www.domain.tld;
root /var/www/wallabag/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l’adresse
http://domain.tld.
Astuce : Si vous voulez importer un fichier important dans wallabag, vous devez ajouter cette ligne dans votre
configuration nginx client_max_body_size XM; # allows file uploads up to X megabytes.
6
Chapitre 1. Installer wallabag
wallabag Documentation, Version 2.1.0
Configuration avec lighttpd
En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag, voici un fichier de configuration pour wallabag (éditez votre fichier lighttpd.conf collez-y cette configuration) :
server.modules = (
"mod_fastcgi",
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_rewrite",
)
server.document-root = "/var/www/wallabag/web"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
server.follow-symlink = "enable"
index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
dir-listing.activate = "disable"
url.rewrite-if-not-file = (
"^/([^?])(?:\?(.))?" => "/app.php?$1&$2",
"^/([^?]*)" => "/app.php?=$1",
)
Droits d’accès aux dossiers du projet
Environnement de test
Quand nous souhaitons juste tester wallabag, nous lançons simplement la commande php bin/console
server:run --env=prod pour démarrer l’instance wallabag et tout se passe correctement car l’utilisateur qui a
démarré le projet a accès naturellement au repertoire courant, tout va bien.
Environnement de production
Dès lors que nous utilisons Apache ou Nginx pour accéder à notre instance wallabag, et non plus la commande php
bin/console server:run --env=prod pour la démarrer, il faut prendre garde à octroyer les bons droits aux
bons dossiers afin de préserver la sécurité de l’ensemble des fichiers fournis par le projet.
Aussi, le dossier, connu sous le nom de DocumentRoot (pour apache) ou root (pour Nginx), doit être impérativement accessible par l’utilisateur de Apache ou Nginx. Le nom de cet utilisateur est généralement www-data,
apache ou nobody (selon les systèmes linux utilisés).
1.4. Droits d’accès aux dossiers du projet
7
wallabag Documentation, Version 2.1.0
Donc le dossier /var/www/wallabag/web doit être accessible par ce dernier. Mais cela ne suffira pas si nous
nous contentons de ce dossier, et nous pourrions avoir, au mieux une page blanche en accédant à la page d’accueil du
projet, au pire une erreur 500.
Cela est dû au fait qu’il faut aussi octroyer les mêmes droits d’accès au dossier /var/www/wallabag/var que
ceux octroyés au dossier /var/www/wallabag/web. Ainsi, on règle le problème par la commande suivante :
chown -R www-data:www-data /var/www/wallabag/var
Il en est de même pour les dossiers suivants :
— /var/www/wallabag/bin/
— /var/www/wallabag/app/config/
— /var/www/wallabag/vendor/
en tapant
chown -R www-data:www-data /var/www/wallabag/bin
chown -R www-data:www-data /var/www/wallabag/app/config
chown -R www-data:www-data /var/www/wallabag/vendor
sinon lors de la mise à jour vous finirez par rencontrer les erreurs suivantes :
Unable to write to the "bin" directory.
file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
8
Chapitre 1. Installer wallabag
CHAPITRE 2
Mettre à jour votre installation de wallabag
Vous trouverez ici différentes manières de mettre à jour wallabag :
— de la 2.1.x à la 2.2.x
— de la 2.0.x à la 2.1.1
— de la 1.x à la 2.x
Mettre à jour de la 2.1.x à la 2.2.x
Mise à jour sur un serveur dédié
Depuis 2.1.x :
make update
php bin/console doctrine:migrations:migrate --no-interaction -e=prod
Depuis 2.2.0 :
make update
Explications à propos des migrations de base de données
Durant la mise à jour, nous exécutons des migrations de base de données.
Toutes les migrations de base de données sont stockées dans le dossier app/DoctrineMigrations. Vous
pouvez exécuter chaque migration individuellement : bin/console doctrine:migrations:execute
20161001072726 --env=prod.
Voici la liste des migrations de la 2.1.x à la 2.2.0 :
— 20161001072726 : ajout de clés étrangères pour la réinitialisation de compte
— 20161022134138 : conversion de la base de données à l’encodage utf8mb4 (pour MySQL uniquement)
— 20161024212538 : ajout de la colonne user_id sur la table oauth2_clients pour empêcher les
utilisateurs de supprimer des clients API d’autres utilisateurs
— 20161031132655 : ajout du paramètre interne pour activer/désactiver le téléchargement des images
— 20161104073720 : ajout de l’index created_at sur la table entry
— 20161106113822 : ajout du champ action_mark_as_read sur la table config
— 20161117071626 : ajout du paramètre interne pour partager ses articles vers unmark.it
— 20161118134328 : ajout du champ http_status sur la table entry
— 20161122144743 : ajout du paramètre interne pour activer/désactiver la récupération d’articles derrière un
paywall
9
wallabag Documentation, Version 2.1.0
— 20161122203647 : suppression des champs expired et credentials_expired sur la table user
— 20161128084725 : ajout du champ list_mode sur la table config
— 20161128131503 : suppression des champs locked, credentials_expire_at et expires_at sur
la table user
— 20161214094402 : renommage du champ uuid en uid sur la table entry
— 20161214094403 : ajout de l’index uid sur la table entry
— 20170127093841 : ajout des index is_starred et is_archived sur la table entry
Mise à jour sur un hébergement mutualisé
Effectuez une sauvegarde du fichier app/config/parameters.yml.
Téléchargez la dernière version de wallabag :
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Vous trouverez le hash md5 du dernier package sur notre site.
Décompressez
l’archive
dans
votre
répertoire
app/config/parameters.yml avec le votre.
d’installation
et
remplacez
le
fichier
Merci de vérifier que votre fichier app/config/parameters.yml contient tous les paramètres requis. Vous
trouverez ici une documentation détaillée concernant les paramètres.
Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire data/.
Videz le répertoire var/cache.
Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du
principe que le préfixe de vos tables est wallabag_.
Vous trouverez toutes les requêtes à exécuter ici.
Mettre à jour de la 2.0.x à la 2.1.1
Avant cette migration, si vous aviez configuré l’import depuis Pocket en ajoutant votre consumer key dans les paramètres internes, pensez à effectuer une sauvegarde de celle-ci : vous devrez l’ajouter dans la configuration de wallabag
après la mise à jour.
Mise à jour sur un serveur dédié
rm -rf var/cache/*
git fetch origin
git fetch --tags
git checkout 2.1.1 --force
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console doctrine:migrations:migrate --env=prod
php bin/console cache:clear --env=prod
Mise à jour sur un hébergement mutualisé
Effectuez une sauvegarde du fichier app/config/parameters.yml.
Téléchargez la version 2.1.1 de wallabag :
10
Chapitre 2. Mettre à jour votre installation de wallabag
wallabag Documentation, Version 2.1.0
wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
(hash md5 de l’archive 2.1.1 : 9584a3b60a2b2a4de87f536548caac93)
Décompressez
l’archive
dans
votre
répertoire
app/config/parameters.yml avec le votre.
d’installation
et
remplacez
le
fichier
Merci de vérifier que votre fichier app/config/parameters.yml contient tous les paramètres requis. Vous
trouverez ici une documentation détaillée concernant les paramètres.
Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire data/.
Videz le répertoire var/cache.
Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du
principe que le préfixe de vos tables est wallabag_ et que le serveur SQL est un serveur MySQL :
ALTER TABLE
INSERT INTO
ALTER TABLE
INSERT INTO
INSERT INTO
ALTER TABLE
DELETE FROM
`wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1',
`wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis',
`wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitm
`wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
`wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
Depuis wallabag 1.x
Il n’y a pas de script automatique pour mettre à jour wallabag 1.x en wallabag 2.x. Vous devez :
— exportez vos données
— installer wallabag 2.x (lisez la documentation d’installation )
— importer vos données dans votre installation toute propre (lisez la documentation d’import )
2.3. Depuis wallabag 1.x
11
wallabag Documentation, Version 2.1.0
12
Chapitre 2. Mettre à jour votre installation de wallabag
CHAPITRE 3
Configuration
Maintenant que vous êtes connecté, il est temps de configurer votre compte.
Cliquez sur le menu Configuration. Vous avez accès à 5 onglets : Paramètres, RSS, Mon compte, Mot de
passe and Règles de tag automatiques.
Paramètres
Thème
L’affichage de wallabag est personnalisable. C’est ici que vous choisissez le thème que vous préférez. Le thème par
défaut est Material, c’est celui qui est utilisé dans les captures d’écran de la documentation.
Nombre d’articles par page
Vous pouvez définir le nombre d’articles affichés sur chaque page.
Vitesse de lecture
wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si
vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article.
Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?
Chaque fois que vous ferez certaines actions (après avoir marqué un article comme lu / comme favori, après avoir
supprimé un article, après avoir retiré un tag d’un article), vous pouvez être redirigé :
— sur la page d’accueil
— sur la page courante
Langue
Vous pouvez définir la langue de l’interface de wallabag.
13
wallabag Documentation, Version 2.1.0
RSS
wallabag propose un flux RSS pour chaque statut d’article : non lus, favoris et lus.
Tout d’abord, vous devez vous créer un jeton personnel : cliquez sur Créez votre jeton. Il est possible de
regénérer votre jeton en cliquant sur Réinitialisez votre jeton.
Vous avez maintenant trois liens, un par statut : ajoutez-les dans votre agrégateur de flux RSS préféré.
Vous pouvez aussi définir combien d’articles vous souhaitez dans vos flux RSS (50 est la valeur par défaut).
Une pagination est aussi disponible pour ces flux. Il suffit de rajouter ?page=2 pour aller à la seconde page, par
exemple. Cette pagination suit la RFC, ce qui signifie que vous trouverez la page suivante (next), précédente
(previous) et la dernière (last) dans la balise <channel> de chaque flux RSS.
Mon compte
Vous pouvez ici modifier votre nom, votre adresse email et activer la Double authentification.
Si l’instance de wallabag compte plus d’un utilisateur actif, vous pouvez supprimer ici votre compte. Attention, nous
supprimons toutes vos données.
Double authentification (2FA)
L’authentification à deux facteurs (également appelée 2FA) est une technologie brevetée en 1984 qui
fournit l’identification des utilisateurs au moyen de la combinaison de deux composants différents .
https://fr.wikipedia.org/wiki/Authentification_forte
Attention : l’activation de la 2FA depuis l’interface de configuration n’est possible que si elle a au préalable été
autorisée dans app/config/parameters.yml en passant la propriété twofactor_auth à true (n’oubliez pas d’exécuter php
bin/console cache :clear -e=prod après modification).
Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez un code par email. Vous devez renseigner ce code dans le formulaire suivant :
14
Chapitre 3. Configuration
wallabag Documentation, Version 2.1.0
Si vous ne souhaitez pas recevoir un code à chaque fois que vous vous connectez, vous pouvez cocher la case Je
suis sur un ordinateur de confiance : wallabag se souviendra de vous pour 15 jours.
Mot de passe
Vous pouvez changer de mot de passe ici (8 caractères minimum).
Règles de tag automatiques
Si vous voulez automatiquement assigner un tag à de nouveaux articles en fonction de certains critères, cette partie de
la configuration est pour vous.
Que veut dire « règles de tag automatiques » ?
Ce sont des règles utilisées par wallabag pour automatiquement assigner un tag à un nouvel article. À chaque fois
que vous ajoutez un nouvel article, toutes les règles sont utilisées pour ajouter les tags que vous avez configurés, vous
épargnant ainsi la peine de classer manuellement vos articles.
Comment les utiliser ?
Admettons que vous voulez ajouter comme tag « lecture rapide » quand le temps de lecture d’un article est inférieur
à 3 minutes. Dans ce cas, vous devez ajouter « readingTime <= 3 » dans le champ Règle et « lecture rapide » dans le
champ Tags. Plusieurs tags peuvent être ajoutés en même temps en les séparant par une virgule : « lecture rapide, à
3.4. Mot de passe
15
wallabag Documentation, Version 2.1.0
lire ». Des règles complexes peuvent être écrites en utilisant les opérateurs pré-définis : if « readingTime >= 5 AND
domainName = “github.com” » then tag as « long reading, github ».
Quels variables et opérateurs puis-je utiliser pour écrire mes règles ?
Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles (attention, pour certaines
valeurs, vous devez ajouter des guillemets, par exemple language = "en") :
Variable
Sens
title
url
isArchived
isStarred
Titre de l’article
URL de l’article
Si l’article est archivé ou
non
Si l’article est en favori ou
non
Le contenu de l’article
La langue de l’article
content
language
mimetype
readingTime
domainName
16
Opérateur
<=
<
=>
Sens
>
Strictement supérieur à . . .
=
Égal à . . .
Différent de . . .
!=
Inférieur ou égal à . . .
Strictement inférieur à . . .
Supérieur ou égal à . . .
The type MIME de l’article
OR
Telle règle ou telle autre règle
Le temps de lecture de
l’article, en minutes
Le nom de domaine de
l’article
AND
Telle règle et telle règle
matches Contient telle chaîne de caractère (insensible à la casse).
Exemple : title matches “football”
Chapitre 3. Configuration
CHAPITRE 4
Migrer depuis ...
Dans wallabag 2.x, vous pouvez importer des données depuis :
— Pocket
— Readability
— Instapaper
— wallabag 1.x
— wallabag 2.x
Nous avons aussi développé un script pour exécuter des migrations via la ligne de commande.
Puisque les imports peuvent gourmands en ressource, nous avons mis en place un système de tâche asynchrone. Vous
trouverez la documentation ici (niveau expert).
Pocket
Créer une nouvelle application dans Pocket
Pour importer vos données depuis Pocket, nous utilisons l’API de Pocket. Vous devez créer une nouvelle application
sur leur site dédié aux développeurs pour continuer.
— Créez une nouvelle application sur leur site Développeurs
— Remplissez les champs requis : nom de l’application, description de l’application, permissions (seulement
retrieve), la plateforme (web), acceptez les termes d’utilisation du service et soumettez votre application
Pocket vous fournira une Consumer Key (par exemple, 49961-985e4b92fe21fe4c78d682c1). Vous devez configurer
la pocket_consumer_key dans le menu Configuration.
Maintenant, tout est bien configuré pour migrer depuis Pocket.
Importez vos données dans wallabag 2.x
Cliquez sur le lien Importer dans le menu, sur Importer les contenus dans la section Pocket puis sur Se
connecter à Pocket et importer les données.
Vous devez autoriser wallabag à se connecter à votre compte Pocket. Vos données vont être importées. L’import de
données est une action qui peut être couteuse pour votre serveur.
17
wallabag Documentation, Version 2.1.0
Readability
Exportez vos données de Readability
Sur la page des outils (https://www.readability.com/tools/), cliquez sur “Export your data” dans la section “Data Export”. Vous allez recevoir un email avec un lien pour télécharger le json.
Importez vos données dans wallabag 2.x
Cliquez sur le lien Importer dans le menu, sur Importer les contenus dans la section Readability et ensuite
sélectionnez votre fichier json pour l’uploader.
Vos données vont être importées. L’import de données est une action qui peut être couteuse pour votre serveur.
Depuis Pinboard
Exportez vos données de Pinboard
Sur la page « Backup » (https://pinboard.in/settings/backup), cliquez sur « JSON » dans la section « Bookmarks ». Un
fichier json (sans extension) sera téléchargé (pinboard_export).
Importez vos données dans wallabag 2.x
Cliquez sur le lien Importer dans le menu, sur Importer les contenus dans la section Pinboard et ensuite
sélectionnez votre fichier json pour l’uploader.
Vos données vont être importées. L’import de données est une action qui peut être couteuse pour votre serveur.
Depuis Instapaper
Exportez vos données de Instapaper
Sur la page des paramètres (https://www.instapaper.com/user), cliquez sur “Download .CSV file” dans la section “Export”. Un fichier CSV se téléchargera (instapaper-export.csv).
Importez vos données dans wallabag 2.x
Cliquez sur le lien Importer dans le menu, sur Importer les contenus dans la section Instapaper et ensuite
sélectionnez votre fichier CSV pour l’uploader.
Vos données vont être importées. L’import de données est une action qui peut être couteuse pour votre serveur.
18
Chapitre 4. Migrer depuis ...
wallabag Documentation, Version 2.1.0
wallabag 1.x
Si vous utilisiez wallabag v1.x, vous devez exporter vos données avant de migrer à wallabag v2.x, à cause du changement complet de l’application et de sa base de données. Sur votre ancienne instance de wallabag v1, vous pouvez
exporter vos données en allant sur la page de configuration de l’application.
Note : Si vous avez plusieurs comptes sur la même instance de wallabag, chaque utilisateur doit exporter ses données
depuis wallabag v1 et les importer dans la v2.
Note : S’il vous arrive des problèmes durant l’export ou l’import, n’hésitez pas à demander de l’aide.
Une fois que vous avez récupéré le fichier json contenant vos données, vous pouvez installer wallabag v2 si c’est
nécessaire en suivant la procédure standard.
Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance de wallabag v2, rendez-vous dans la
section Import. Vous devez choisir l’import depuis wallabag v1 puis sélectionner votre fichier json récupéré précédemment.
wallabag 2.x
Depuis l’instance sur laquelle vous étiez, rendez-vous dans la section Tous les articles, puis exportez ces articles au
format json.
4.5. wallabag 1.x
19
wallabag Documentation, Version 2.1.0
Depuis votre nouvelle instance de wallabag, créez votre compte utilisateur puis cliquez sur le lien dans le menu pour
accéder à l’import. Choisissez l’import depuis wallabag v2 puis sélectionnez votre fichier json pour l’uploader.
Note : S’il vous arrive des problèmes durant l’export ou l’import, n’hésitez pas à demander de l’aide.
Import via la ligne de commande (CLI) ————————————-<http://doc.wallabag.org/en/master/user/parameters.html
Si vous avez accès à la ligne de commandes de votre serveur web, vous pouvez exécuter cette commande pour import
votre fichier wallabag v1 :
bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
Remplacez les valeurs :
— 1 est l’identifiant de votre utilisateur en base (l’ID de votre premier utilisateur créé sur wallabag est 1)
— ~/Downloads/wallabag-export-1-2016-04-05.json est le chemin de votre export wallabag v1
Si vous voulez marquer tous ces articles comme lus, vous pouvez ajouter l’option --markAsRead.
Pour importer un fichier wallabag v2, vous devez ajouter l’option --importer=v2.
Vous obtiendrez :
20
Chapitre 4. Migrer depuis ...
wallabag Documentation, Version 2.1.0
Start : 05-04-2016 11:36:07 --403 imported
0 already saved
End : 05-04-2016 11:36:09 ---
4.6. wallabag 2.x
21
wallabag Documentation, Version 2.1.0
22
Chapitre 4. Migrer depuis ...
CHAPITRE 5
Se créer un compte et se connecter
Se créer un compte
Sur la page de connexion, cliquez sur le bouton Créer un compte.
23
wallabag Documentation, Version 2.1.0
Vous devez renseigner le formulaire. Faites attention de bien renseigner une adresse email valide, nous allons vous
envoyer un email d’activation.
24
Chapitre 5. Se créer un compte et se connecter
wallabag Documentation, Version 2.1.0
Vérifiez votre boite de réception, vous avez un nouvel email avec un lien comme celui-ci
http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4.
Cliquez dessus pour activer votre compte.
Votre compte est maintenant actif.
Se connecter
Votre compte est maintenant actif, félicitations !
Pour vous connecter à wallabag, remplissez le formulaire de connexion.
5.2. Se connecter
25
wallabag Documentation, Version 2.1.0
Si vous êtes sur un ordinateur de confiance et que vous souhaitez rester connecté vous pouvez cocher la case Restez
connecté : wallabag se souviendra de vous pour un an.
26
Chapitre 5. Se créer un compte et se connecter
CHAPITRE 6
Articles
Sauvegardez votre premier article
La fonctionnalité principale de wallabag est de sauvegarder des articles. Vous avez plusieurs manières de le faire.
Note : Un guide de démarrage s’affichera dans l’application jusqu’à ce que vous enregistriez votre premier article.
En utilisant le bookmarklet
Sur la page Aide, vous avez un onglet Bookmarklet. Glissez/déposez le lien bag it! dans votre barre de favoris
de votre navigateur.
Maintennat, à chaque fois que vous lisez un article et que vous souhaitez le sauvegarder, cliquez sur le lien bag it!
dans votre barre de favoris. L’article est enregistré.
En utilisant le formulaire classique
Dans la barre haut de wallabag, vous avez trois icônes. Avec la première icône, un signe plus, vous pouvez facilement
ajouter un nouvel article.
Cliquez dessus pour afficher un nouveau champ, collez-y l’URL de l’article et appuyez sur la touche Entrée. L’article
est enregistré.
En utilisant l’extension de votre navigateur
Firefox
Vous pouvez télécharger l’extension Firefox ici.
27
wallabag Documentation, Version 2.1.0
Chrome
Vous pouvez télécharger l’extension Chrome ici.
En utilisant l’application de votre smartphone
Android
Vous pouvez télécharger l’application Android ici.
Windows Phone
Vous pouvez télécharger l’application Windows Phone ici.
Téléchargez vos articles
Vous pouvez télécharger chaque article dans plusieurs formats : ePUB, MOBI, PDF, XML, JSON, CSV.
Lorsque vous lisez un article, cliquez sur cette icône dans la barre latérale :
Vous pouvez aussi télécharger une catégorie (non lus, favoris, lus) dans ces formats. Par exemple, dans la vue Non lus,
cliquez sur cette icône dans la barre supérieure :
Partagez vos articles
Quand vous lisez un article, vous pouvez le partager. Cliquez sur le bouton de partage :
Vous pouvez maintenant le partager :
— avec une URL publique (vous obtiendrez une vue allégée de l’article)
— avec un tweet
— dans votre Shaarli
— avec un message dans Diaspora*
— sur Carrot
— avec un email
28
Chapitre 6. Articles
wallabag Documentation, Version 2.1.0
Annotez vos articles
Sur chaque article que vous lisez, vous pouvez écrire des annotations. Puisqu’une image vaut mieux qu’un long
discours, voici ce que ça donne.
Sélectionnez la zone du texte que vous souhaitez annoter et cliquez sur le crayon :
Ensuite, écrivez votre annotation :
Le texte est maintenant surligné et vous pouvez lire le annotation en le survolant avec votre souris.
Vous pouvez créer autant de annotations que vous le souhaitez.
6.4. Annotez vos articles
29
wallabag Documentation, Version 2.1.0
30
Chapitre 6. Articles
CHAPITRE 7
Erreur durant la récupération des articles
Pourquoi la récupération des articles échoue ?
Il peut y avoir plusieurs raisons :
— problème de connexion internet
— wallabag ne peut pas récupérer le contenu à cause de la structure du site web
Comment puis-je aider pour réparer ça ?
Vous pouvez essayer de résoudre ce problème vous même (comme ça, nous restons concentrés pour améliorer wallabag
au lieu d’écrire ces fichiers de configuration :) ).
Vous pouvez essayer de voir si ça fonctionne ici : http://f43.me/feed/test (ce site utilise principalement la même manière
de fonctionner que wallabag pour récupérer les articles).
Si ça fonctionne ici et pas sur wallabag, c’est qu’il y a un souci avec wallabag qui casse le parser (difficile à résoudre :
merci d’ouvrir un nouveau ticket à ce sujet).
Si ça ne fonctionne pas, vous pouvez essayer de créer un fichier de configuration en utilisant :
http://siteconfig.fivefilters.org/ (sélectionnez les parties du contenu qui correspondent à ce que vous souhaitez garder).
Vous pouvez lire cette documentation avant.
Vous pouvez tester ce fichier sur le site f43.me : cliquez sur Want to try a custom siteconfig ? et insérez le fichier
généré depuis siteconfig.fivefilters.org.
Répétez cette opération jusqu’à avoir quelque chose qui vous convienne.
Ensuite, vous pouvez créer une pull request ici https://github.com/fivefilters/ftr-site-config, qui est le projet principal
pour stocker les fichiers de configuration.
Comment puis-je réessayer de récupérer le contenu ?
Si wallabag échoue en récupérant l’article, vous pouvez cliquer sur le bouton suivant (le troisième sur l’image cidessous).
31
wallabag Documentation, Version 2.1.0
32
Chapitre 7. Erreur durant la récupération des articles
CHAPITRE 8
Retrouver des articles grâce aux filtres
Pour retrouver plus facilement vos articles, vous pouvez utiliser les filtres. Cliquez sur la troisième icône de la barre
supérieure.
Tous ces filtres peuvent être combinés.
Statut
Utilisez ces cases à cocher pour retrouver les articles lus ou mis en favori.
33
wallabag Documentation, Version 2.1.0
Image de prévisualisation
Cochez ce filtre si vous voulez retrouver les articles avec une image de prévisualisation.
Langage
wallabag (via graby) peut détecter la langue dans laquelle l’article est écrit. C’est ainsi facile pour vous de retrouver
des articles écrits dans une langue spécifique.
Statut HTTP
Vous pouvez retrouver des articles en filtrant par leur code HTTP : 200, 404, 500, etc.
Temps de lecture
wallabag estime combien de temps vous avez besoin pour lire un article. Avec ce filtre, vous pouvez par exemple
retrouver les articles qui ont une estimation entre 2 et 5 minutes.
Nom de domaine
Grâce à ce filtre, vous pouvez retrouver les articles venant d’un même nom de domaine. Par exemple, dans ce champ,
saisissez lemonde.fr pour retrouver les articles de ce site.
Date de création
Quand vous ajoutez un article, wallabag stocke la date courante. C’est très pratique pour retrouver les articles ajoutés
entre le 1er et le 31 janvier par exemple.
34
Chapitre 8. Retrouver des articles grâce aux filtres
CHAPITRE 9
Tags
35
wallabag Documentation, Version 2.1.0
36
Chapitre 9. Tags
CHAPITRE 10
Configurer les applications mobile pour wallabag
Étapes pour configurer les applications
— Tout d’abord, créez un nouveau client dans la section Gestion des clients API. Le nom de votre
application importe peu. Ce qui nous intéresse, ce sont l’ID Client et la clé secrète. Notez bien ces
deux valeurs.
— Quand vous installez une application smartphone, on va vous demander de renseigner l’adresse de votre serveur
de wallabag. Par exemple, pour wallabag.it, c’est https://app.wallabag.it.
— Les deux valeurs notées précédemment vous seront également demandées. Insérez-les dans les champs correspondants.
— Enfin, vous devez renseigner votre nom d’utilisateur et votre mot de passe. Ce sont les mêmes
valeurs que lorsque vous vous connectez à wallabag.
Vous pouvez également regarder du côté de la page Android. Particulièrement la section sur les limitations connues.
37
wallabag Documentation, Version 2.1.0
38
Chapitre 10. Configurer les applications mobile pour wallabag
CHAPITRE 11
Application Android
But de ce document
Ce document explique comment configurer votre application Android pour qu’elle fonctionne avec votre instance de
wallabag. Il n’y a pas de différence dans cette procédure entre wallabag v1 et wallabag v2.
Étapes pour configurer votre application
Quand vous démarrez l’application pour la première fois, vous voyez le message de bienvenue, où il vous est d’abord
conseillé de configurer l’application avec votre instance de wallabag.
39
wallabag Documentation, Version 2.1.0
40
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Vous devez confirmer le message et vous serez redirigé vers l’écran de configuration.
11.2. Étapes pour configurer votre application
41
wallabag Documentation, Version 2.1.0
42
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Saisissez vos données wallabag. Vous devez entrer l’adresse de votre instance de wallabag. Il ne faut pas que cette
adresse se termine par un slash. Ajoutez également vos identifiants wallabag dans les champs correspondants.
11.2. Étapes pour configurer votre application
43
wallabag Documentation, Version 2.1.0
44
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Après cet écran, appuyez sur le bouton de test de connexion et attendez que le test se termine.
11.2. Étapes pour configurer votre application
45
wallabag Documentation, Version 2.1.0
46
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Le test de connexion devrait se terminer avec succès. Si ce n’est pas le cas, vous devez résoudre ça avant de continuer.
11.2. Étapes pour configurer votre application
47
wallabag Documentation, Version 2.1.0
48
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Après le test de connexion réussi, vous pouvez cliquer sur le bouton pour récupérer vos informations de flux (feed
credentials). L’application essaie maintenant de se connecter à wallabag pour récupérer votre identifiant et votre jeton
pour les flux RSS.
11.2. Étapes pour configurer votre application
49
wallabag Documentation, Version 2.1.0
50
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Quand le processus est terminé avec succès, vous verrez une notification comme quoi l’identifiant et le jeton ont été
remplis correctement.
11.2. Étapes pour configurer votre application
51
wallabag Documentation, Version 2.1.0
52
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Maintenant, vous devez naviguer jusqu’en bas de l’écran des paramètres. Bien sur, vous pouvez régler les paramètres
comme vous le souhaitez. Enregistrez la configuration.
11.2. Étapes pour configurer votre application
53
wallabag Documentation, Version 2.1.0
54
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Après avoir enregistré les paramètres, vous vous retrouvez face à l’écran suivant. L’application vous propose de démarrer une synchronisation pour récupérer vos articles. Il est recommandé de confirmer cette action.
11.2. Étapes pour configurer votre application
55
wallabag Documentation, Version 2.1.0
56
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Une fois la synchronisation terminée avec succès, vous pouvez lire vos articles.
11.2. Étapes pour configurer votre application
57
wallabag Documentation, Version 2.1.0
58
Chapitre 11. Application Android
wallabag Documentation, Version 2.1.0
Limitations connues
Double authentification (2FA)
Actuellement, l’application Android ne supporte la double authentification. Vous devez la désactiver pour que l’application fonctionne correctement.
Limiter le nombre d’articles avec wallabag v2
Dans votre instance de wallabag, vous pouvez configurer combien d’articles se trouvent dans les flux RSS. Cette option
n’existe pas dans wallabag v1, où tous les articles se retrouvent donc dans le flux RSS. So if you set the amount of
articles being displayed greater than the number of items being content of your RSS feed, you will only see the number
of items in your RSS feed.
Cryptage SSL/TLS
Si vous souhaitez accéder à votre instance de wallabag via HTTPS, vous devez le définir dans les paramètres. Surtout si
votre URL HTTP redirige vers l’URL HTTPS. Actuellement, l’application ne gère pas cette redirection correctement.
Références
— Code source de l’application Android
— Télécharger l’application Android sur F-Droid
— Télécharger l’application Android sur Google Play
11.3. Limitations connues
59
wallabag Documentation, Version 2.1.0
60
Chapitre 11. Application Android
CHAPITRE 12
À quoi servent les paramètres ?
Fichier parameters.yml par défaut
Voici la dernière version par défaut du fichier app/config/parameters.yml. Soyez sur que le votre respecte celui-ci. Si
vous ne savez pas quelle valeur vous devez mettre, laissez celle par défaut.
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
database_table_prefix: wallabag_
database_socket: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
twofactor_auth: true
twofactor_sender: [email protected]
fosuser_registration: true
fosuser_confirmation: true
from_email: [email protected]
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
redis_password: null
61
wallabag Documentation, Version 2.1.0
Meaning of each parameter
Tableau 12.1 – Paramètres de base de données
name
default
description
datapdo_sqlite
Doit être pdo_sqlite ou pdo_mysql ou pdo_pgsql
base_driver
data127.0.0.1
Hôte de votre base de données (généralement localhost ou
base_host
127.0.0.1)
data~
Port de votre base de données (vous pouvez laisser ~ pour utiliser
base_port
celui par défaut)
datasymfony
Nom de votre base de données
base_name
dataroot
Utilisateur de votre base de données
base_user
data~
Mot de passe de cet utilisateur
base_password
data"%kernel.root_dir%/../data/db/wallabag.sqlite"
Uniquement pour SQLite. Chemin du fichier de base de données.
base_path
Laissez vide pour les autres bases de données.
dataToutes les tables de wallabag seront préfixées par cette chaine.
wallabag_
base_table_prefix
Vous pouvez ajouter un _ pour plus de clarté
datanull
Si votre base de données utilise un socket plutôt que tcp, spécifiez
base_socket
le chemin du socket (les autres paramètres de connexion seront
alors ignorés)
Tableau 12.2 – Configuration pour envoyer des emails depuis wallabag
name
default
smtp
description
maiMéthode de transport exacte utilisée pour envoyer des emails. Les valeurs correctes sont :
ler_transport
smtp, gmail, mail, sendmail, null (ce qui désactivera l’envoi des emails)
mai127.0.0.1Hôte sur lequel se connecter quand on utilise smtp comme transport.
ler_host
mai~
Utilisateur smtp.
ler_user
mai~
Mot de passe de cet utilisateur.
ler_password
62
Chapitre 12. À quoi servent les paramètres ?
wallabag Documentation, Version 2.1.0
Tableau 12.3 – Autres options de wallabag
name
locale
secret
default
en
ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
true
description
Langue par défaut de votre instance wallabag (comme en, fr, es, etc.)
C’est une chaine qui doit être unique à votre application et qui est
couramment utilisée pour ajouter plus d’entropie aux opérations relatives à
la sécurité.
true pour activer l’authentification à deux facteurs
twofactor_auth
twofacnotor_sender [email protected]
fosutrue
ser_registration
fosutrue
ser_confirmation
from_email [email protected]
rss_limit
50
Email de l’expéditeur du code de l’authentification à deux facteurs
true pour activer l’inscription publique
true pour envoyer un email de confirmation pour chaque création de compte
Email de l’expéditeur pour chaque email envoyé
Limite pour les flux RSS
Tableau 12.4 – Configuration RabbitMQ
name
rabbitmq_host
rabbitmq_port
rabbitmq_user
rabbitmq_password
default
localhost
5672
guest
guest
description
Hôte de votre instance RabbitMQ
Port de votre instance RabbitMQ
Utilisateur de votre instance RabbitMQ
Mot de passe de cet utilisateur
Tableau 12.5 – Configuration Redis
name
redis_scheme
redis_host
redis_port
redis_path
default
tcp
localhost
6379
null
renull
dis_password
description
Définit le protocole utilisé pour commuiquer avec l’instance Redis. Les valeurs correctes
sont : tcp, unix, http
IP ou hôte du serveur cible (ignoré pour un schéma unix)
Port TCP/IP du serveur cible (ignoré pour un schéma unix)
Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en
utilisant les sockets du domaine UNIX
Mot de passe défini dans la configuration serveur de Redis (paramètre requirepass dans
redis.conf )
12.2. Meaning of each parameter
63
wallabag Documentation, Version 2.1.0
64
Chapitre 12. À quoi servent les paramètres ?
CHAPITRE 13
Sauvegarde de wallabag
Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce
que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données.
Cette documentation décrit ce que vous devez sauvegarder.
Configuration
wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier
app/config/parameters.yml.
Base de données
Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base
de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante.
Quelques exemples :
— MySQL : http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
— PostgreSQL : https://www.postgresql.org/docs/current/static/backup.html
SQLite
Pour sauvegarder une base SQLite, vous devez juste copier le répertoire data/db de votre installation wallabag.
Images
Les images sauvegardées par wallabag sont stockées dans web/assets/images (le stockage des images sera implémenté
dans wallabag 2.2).
65
wallabag Documentation, Version 2.1.0
66
Chapitre 13. Sauvegarde de wallabag
CHAPITRE 14
Foire Aux Questions
Durant l’installation, je rencontre cette erreur Error Output: sh:
1: @post-cmd: not found
Il semblerait que vous ayiez un problème avec votre installation de composer. Essayez de le désinstaller puis de le
réinstaller.
Vous pouvez lire la documentation de composer pour savoir comment l’installer.
Je ne peux pas valider le formulaire de création de compte
Soyez sur d’avoir bien renseigné tous les champs :
— une adresse email valide
— le même mot de passe dans les deux champs
Je n’ai pas reçu mon email d’activation
Êtes-vous sur d’avoir renseigné votre bonne adresse ? Avez-vous vérifié le dossier de spams ?
Quand je clique sur le lien d’activation, j’ai ce message : The user
with confirmation token "DtrOPfbQeVkWf6N" does not
exist.
Vous avez déjà activé votre compte ou l’URL d’activation n’est pas correcte.
J’ai oublié mon mot de passe
Vous pouvez réinitialiser votre mot de passe en cliquant sur Mot de passe oublié ?, sur la page de connexion.
Ensuite, renseignez votre adresse email ou votre nom d’utilisateur, un email vous sera envoyé.
67
wallabag Documentation, Version 2.1.0
J’ai l’erreur failed to load external entity quand j’essaie
d’installer wallabag
Comme
décrit
ici,
modifiez
le
fichier
web/app.php
libxml_disable_entity_loader(false); à la ligne 5.
et
ajoutez
la
ligne
C’est un bug lié à PHP et Doctrine, nous ne pouvons rien faire de notre côté.
68
Chapitre 14. Foire Aux Questions
CHAPITRE 15
Documentation de l’API
Grâce à cette documentation, nous allons voir comment interagir avec l’API de wallabag.
Pré-requis
— wallabag fraichement installé et disponible à http://localhost:8000
— httpie installé sur votre ordinateur (voir le site du projet). Vous pouvez également adapter les commandes
en utilisant curl ou wget.
— toutes les méthodes de l’API documentées ici http://localhost:8000/api/doc
Créer un nouveau client d’API
Depuis
votre
wallabag,
vous
pouvez
http://localhost:8000/developer/client/create.
créer
un
nouveau
client
d’API
à
cette
URL
Vous devez renseigner l’URL de redirection de votre application et créer votre client. Si votre application est une
application desktop, renseignez l’URL que vous souhaitez.
Vous obtiendrez les informations suivantes :
Client ID:
1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
Client secret:
636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
Créer un jeton
Pour chaque appel d’API, vous aurez besoin d’un jeton. Créons-le avec la commande suivante (remplacez
client_id, client_secret, username and password par leur valeur) :
http POST http://localhost:8000/oauth/v2/token \
grant_type=password \
client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
69
wallabag Documentation, Version 2.1.0
username=wallabag \
password=wallabag
Vous obtiendrez :
HTTP/1.1 200 OK
Cache-Control: no-store, private
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 08:44:33 GMT
Host: localhost:8000
Pragma: no-cache
X-Debug-Token: 19c8e0
X-Debug-Token-Link: /_profiler/19c8e0
X-Powered-By: PHP/7.0.4
{
"access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2
"expires_in": 3600,
"refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTF
"scope": null,
"token_type": "bearer"
}
Nous allons utiliser la valeur de access_token dans nos prochains appels.
Exemple cURL :
curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocw
Récupérer les articles existants
Documentation pour cette méthode : http://localhost:8000/api/doc#get–api-entries.{_format}
Comme nous venons tout juste d’installer wallabag, nous n’aurons aucun résultat avec cette commande :
http GET http://localhost:8000/api/entries.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
retournera :
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 08:51:32 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
X-Debug-Token: 4fbbc4
X-Debug-Token-Link: /_profiler/4fbbc4
X-Powered-By: PHP/7.0.4
{
"_embedded": {
"items": []
},
70
Chapitre 15. Documentation de l’API
wallabag Documentation, Version 2.1.0
"_links": {
"first": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
},
"last": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
},
"self": {
"href": "http://localhost:8000/api/entries?page=1&perPage=30"
}
},
"limit": 30,
"page": 1,
"pages": 1,
"total": 0
}
Le tableau items est vide.
Exemple cURL :
curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzky
Créer votre premier article
Documentation pour cette méthode : http://localhost:8000/api/doc#post–api-entries.{_format}
http POST http://localhost:8000/api/entries.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.ht
retournera :
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 09:07:54 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
X-Debug-Token: e01c51
X-Debug-Token-Link: /_profiler/e01c51
X-Powered-By: PHP/7.0.4
{
"_links": {
"self": {
"href": "/api/entries/1"
}
},
"content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readab
"created_at": "2016-04-05T09:07:54+0000",
"domain_name": "www.numerama.com",
"id": 1,
"is_archived": 0,
15.5. Créer votre premier article
71
wallabag Documentation, Version 2.1.0
"is_starred": 0,
"language": "fr-FR",
"mimetype": "text/html",
"preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
"reading_time": 2,
"tags": [],
"title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
"updated_at": "2016-04-05T09:07:54+0000",
"url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnal
"user_email": "",
"user_id": 1,
"user_name": "wallabag"
}
Maintenant, si vous exécutez la précédente commande (voir Récupérer les articles existants), vous obtiendrez
quelque chose.
Exemple cURL :
curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNW
Supprimer un article
Documentation pour cette méthode : http://localhost:8000/api/doc#delete–api-entries-{entry}.{_format}
http DELETE http://localhost:8000/api/entries/1.json \
"Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI
retournera :
HTTP/1.1 200 OK
0: application/json
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Tue, 05 Apr 2016 09:19:07 GMT
Host: localhost:8000
Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
X-Debug-Token: 887cef
X-Debug-Token-Link: /_profiler/887cef
X-Powered-By: PHP/7.0.4
{
"_links": {
"self": {
"href": "/api/entries/"
}
},
"annotations": [],
"content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readab
"created_at": "2016-04-05T09:07:54+0000",
"domain_name": "www.numerama.com",
"is_archived": 0,
"is_starred": 0,
"language": "fr-FR",
"mimetype": "text/html",
72
Chapitre 15. Documentation de l’API
wallabag Documentation, Version 2.1.0
"preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
"reading_time": 2,
"tags": [],
"title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
"updated_at": "2016-04-05T09:07:54+0000",
"url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnal
"user_email": "",
"user_id": 1,
"user_name": "wallabag"
}
Et si vous voulez voir la liste des articles existants (voir Récupérer les articles existants), le tableau sera vide.
Exemple cURL :
curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjc
Autres méthodes
Nous n’écrirons pas d’exemples pour toutes les méthodes de l’API.
Jetez un œil à la liste complète ici http://localhost:8000/api/doc pour connaitre chaque méthode.
Ressources tierces
Certaines applications ou bibliothèques utilisent notre API. En voici une liste non exhaustive :
— Java wrapper for the wallabag API par Dmitriy Bogdanov.
— .NET library for the wallabag v2 API par Julian Oster.
— Python API for wallabag par FoxMaSk, pour son projet Trigger Happy.
— Un plugin conçu pour Tiny Tiny RSS qui utilise l’API wallabag v2. Par Josh Panter.
— Golang wrapper for the wallabag API par Strubbl, pour son projets wallabag-stats graphe et l’outil de ligne de
commande wallabag-add-article.
— Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader wallabako
par anarcat.
15.7. Autres méthodes
73
wallabag Documentation, Version 2.1.0
74
Chapitre 15. Documentation de l’API
CHAPITRE 16
Exécuter wallabag avec docker-compose
Pour faire tourner votre propre instance de développement de wallabag, vous pouvez utiliser les fichiers docker préconfigurés.
Pré-requis
Soyez sur d’avoir Docker et Docker Compose installés et à jour sur votre système.
Changer de SGBD
Par défaut, wallabag fonctionne avec une base de données SQLite. Depuis que wallabag supporte Postgresql et
MySQL, les conteneurs Docker sont aussi disponibles pour ces SGBD.
Dans docker-compose.yml, en fonction de votre SGBD, décommentez :
— la définition du conteneur (le block racine postgres ou mariadb)
— le conteneur links dans le conteneur php
— le conteneur env_file dans le conteneur php
Pour que les commandes Symfony (par exemple wallabag:install) continuent de fonctionner sur votre système,
vous devez aussi :
— charger le bon fichier d’environnement dans votre ligne de commandes (source),
pour que les variables comme SYMFONY__ENV__DATABASE_HOST existent. - ajouter une ligne 127.0.0.1
rdbms dans votre fichier hosts
Exécuter wallabag
1. Forker et cloner le projet
2. Editer app/config/parameters.yml pour remplacer les propriétés database_* par les lignes
commentées (celles avec des valeurs préfixées par env.)
3. composer install pour installer les dépendances
4. php bin/console wallabag:install pour créer le schéma de la BDD
5. docker-compose up pour démarrer les conteneurs
6. Enfin, se rendre sur http://localhost:8080/ pour accéder à une installation tout propre de wallabag.
75
wallabag Documentation, Version 2.1.0
Il est possible de rencontrer des problèmes de droits UNIX, de mauvais chemins dans les fichiers de cache, etc. . .
Les opérations comme vider le cache ou restaurer les permissions des fichiers peuvent être fréquemment nécessaires,
n’ayez crainte !
76
Chapitre 16. Exécuter wallabag avec docker-compose
CHAPITRE 17
Articles derrière un paywall
wallabag peut récupérer le contenu des articles des sites qui utilisent un système de paiement.
Activer l’authentification pour les paywall
Dans les paramètres internes, section Article, activez l’authentification pour les articles derrière un paywall (avec la
valeur 1).
Configurer les accès dans wallabag
Éditez le fichier app/config/parameters.yml pour modifier les accès aux sites avec paywall. Voici un exemple
pour certains sites :
sites_credentials:
mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
arretsurimages.net: {username: "myASILogin", password: "mypassword"}
Note : Ces accès seront partagés entre chaque utilisateur de votre instance wallabag.
Fichiers de configuration pour parser les articles
Note : Lisez cette documentation pour en savoir plus sur ces fichiers de configuration.
Chaque fichier de configuration doit être enrichi en ajoutant requires_login,
login_username_field, login_password_field et not_logged_in_xpath.
login_uri,
Attention, le formulaire de connexion doit se trouver dans le contenu de la page lors du chargement de celle-ci. Il sera
impossible pour wallabag de se connecter à un site dont le formulaire de connexion est chargé après coup (en ajax par
exemple).
login_uri correspond à l’URL à laquelle le formulaire est soumis (attribut action du formulaire).
login_username_field correspond à l’attribut name du champ de l’identifiant. login_password_field
correspond à l’attribut name du champ du mot de passe.
77
wallabag Documentation, Version 2.1.0
Par exemple :
title://div[@id="titrage-contenu"]/h1[@class="title"]
body: //div[@class="contenu-html"]/div[@class="page-pane"]
requires_login: yes
login_uri: http://www.arretsurimages.net/forum/login.php
login_username_field: username
login_password_field: password
not_logged_in_xpath: //body[@class="not-logged-in"]
78
Chapitre 17. Articles derrière un paywall
CHAPITRE 18
Contribuer à cette documentation
Les sources de notre documentation sont ici https://github.com/wallabag/wallabag/tree/master/docs
Nous utilisons ReadTheDocs pour la générer.
Les pages sont écrites au format Restructured Text. Vous pouvez utiliser des outils en ligne comme
http://rst.aaroniles.net/ ou http://rst.ninjs.org/ pour prévisualiser vos articles.
Si vous créez une nouvelle page, n’oubliez pas d’éditer le fichier index.rst pour ajouter un lien dans la barre latérale.
79
wallabag Documentation, Version 2.1.0
80
Chapitre 18. Contribuer à cette documentation
CHAPITRE 19
Traduire wallabag
L’application web
Fichiers de traductions
Note : Comme wallabag est principalement dévelopée par une équipe française, c’est cette traduction qui est considérée comme la plus récente. Merci de vous baser sur celle-ci pour créer votre traduction.
Les principaux fichiers de traduction se trouvent ici : https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resour
Vous devez créer les fichiers messages.CODE.yml et validators.CODE.yml, où CODE est le code ISO
639-1 de votre langue (cf wikipedia).
Autres fichiers à traduire :
— https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
— https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
Vous devez créer les fichiers LE_FICHIER_DE_TRADUCTION.CODE.yml.
Fichier de configuration
Vous devez éditer app/config/config.yml pour afficher votre langue dans la page Configuration de wallabag (pour
permettre aux utilisateurs de choisir cette nouvelle traduction).
Dans la section wallabag_core.languages, vous devez ajouter une nouvelle ligne avec votre traduction. Par
exemple :
wallabag_core:
...
languages:
en: 'English'
fr: 'Français'
Pour la première colonne (en, fr, etc.), vous devez ajouter le code ISO 639-1 de votre langue (voir ci-dessus).
Pour la seconde colonne, c’est juste le nom de votre langue.
81
wallabag Documentation, Version 2.1.0
Documentation de wallabag
Note : Contrairement à l’application, la langue principale de la documentation est l’anglais
Les fichiers de documentation se trouvent ici : https://github.com/wallabag/wallabag/tree/master/docs
Vous devez respecter la structure du dossier en quand vous crééz votre traduction.
82
Chapitre 19. Traduire wallabag
CHAPITRE 20
Tâches asynchrones
Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ
ou Redis.
Installer RabbitMQ pour des tâches asynchrones
Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ.
Pré-requis
Vous devez installer RabbitMQ sur votre serveur.
Installation
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc
apt-get update
apt-get install rabbitmq-server
Configuration et démarrage
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://lo
rabbitmq-server -detached
Arrêter RabbitMQ
rabbitmqctl stop
Configurer RabbitMQ dans wallabag
Modifiez votre fichier app/config/parameters.yml pour éditer la configuration RabbitMQ. Celle par défaut
devrait convenir :
83
wallabag Documentation, Version 2.1.0
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
rabbitmq_prefetch_count: 10 # lire http://www.rabbitmq.com/consumer-prefetch.html
Activer RabbitMQ dans wallabag
Dans les paramètres internes, section Import, activez RabbitMQ (avec la valeur 1).
Démarrer les clients RabbitMQ
En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez
en supporter plusieurs) cron job :
# for Pocket import
bin/console rabbitmq:consumer -e=prod import_pocket -w
# for Readability import
bin/console rabbitmq:consumer -e=prod import_readability -w
# for Instapaper import
bin/console rabbitmq:consumer -e=prod import_instapaper -w
# for wallabag v1 import
bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
# for wallabag v2 import
bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
# for Firefox import
bin/console rabbitmq:consumer -e=prod import_firefox -w
# for Chrome import
bin/console rabbitmq:consumer -e=prod import_chrome -w
Installer Redis pour des tâches asynchrones
Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser Redis.
Pré-requis
Vous devez installer Redis sur votre serveur.
Installation
apt-get install redis-server
84
Chapitre 20. Tâches asynchrones
wallabag Documentation, Version 2.1.0
Démarrage
Le serveur devrait déjà être démarré après l’installation. Si ce n’est pas le cas, vous pouvez le démarrer ainsi :
redis-server
Configurer Redis dans wallabag
Modifiez votre fichier app/config/parameters.yml pour éditer la configuration Redis. Celle par défaut devrait
convenir :
redis_host: localhost
redis_port: 6379
Activer Redis dans wallabag
Dans les paramètres internes, section Import, activez Redis (avec la valeur 1).
Démarrer les clients Redis
En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez
en supporter plusieurs) cron job :
# for Pocket import
bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocke
# for Readability import
bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-
# for Instapaper import
bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-i
# for wallabag v1 import
bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-
# for wallabag v2 import
bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-
# for Firefox import
bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-fire
# for Chrome import
bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrom
Si vous souhaitez démarrer l’import pour quelques messages uniquement, vous pouvez spécifier cette valeur en paramètre (ici 12) et le client va s’arrêter après le 12ème message :
bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
20.2. Installer Redis pour des tâches asynchrones
85

Documents pareils