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