You are using an outdated browser. Please update your browser for a better user experience.

wallabag v2, quelles nouveautés ?

wallabag symfony php

Bon maintenant, on ne rigole plus, depuis que j'ai annoncé aux RMLL qu'une alpha de wallabag v2 allait sortir en septembre 2015, il a fallu se mettre à bosser activement.

Listons donc les dernières nouveautés de ce mois d'août.

Un peu de technique pour une fois

OK, wallabag, c'est bien, ça marche, mais c'est quoi dedans ?

Pour cette v2, on utilise le framework Symfony2 (oui c'est du PHP, et alors ? #troll). Parmi les bundles ajoutés dernièrement, arrêtons-nous sur LexikFormFilterBundle. C'est celui que nous utilisons pour les filtres (voir plus bas).

Ce bundle est vraiment bien fait et très simple d'utilisation. Si on souhaite ajouter un filtre sur les articles présents dans wallabag, une seule ligne est nécessaire (la condition est que la donnée filtrée doit se trouver en base).

Par exemple, le filtre pour le temps de lecture, c'est ça :

$builder->add('readingTime', 'filter_number_range');

Le bundle va se charger d'ajouter les listes sur le formulaire et d'ajouter ce qu'il faut à la requête pour retourner les bons résultats.

Capistrano

capistrano, c'est entre autre un outil de déploiement. Bon, c'est en Ruby, personne n'est parfait #troll.

J'ai mis cet outil en place pour le site de démo de la v2. À terme, Framabag sera également mis à jour de cette façon (mon état lors des mises en prod de Framabag s'en trouvera alors amélioré, j'aurai le poil soyeux, etc.).

L'avantage de cet outil, c'est que vous n'avez plus à démarrer Filezilla pour mettre à jour votre appli en envoyant vos milliers de fichiers.
Pour résumer, capistrano va :

  • se connecter sur votre serveur
  • mettre à jour votre appli (et faire une sauvegarde de l'ancienne version, pratique pour un rollback)
  • et jouer les commandes dont vous avez besoin (vider le cache par exemple)

Voici le fichier que j'utilise pour mettre à jour le site de la v2 :

set :application, 'wallabag'
set :repo_url, 'git@github.com:wallabag/wallabag.git'

set :ssh_user, 'mon_user'
server 'mon_serveur', user: fetch(:ssh_user), roles: %w{web app db}

set :scm, :git

set :format, :pretty
set :log_level, :info
# set :log_level, :debug

set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader'

set :linked_files, %w{app/config/parameters.yml}
set :linked_dirs, %w{app/logs web/uploads}

set :keep_releases, 3

after 'deploy:finishing', 'deploy:cleanup'

Les filtres

Voila, on a fini avec la technique, repassons aux choses sérieuses.

C'est une fonctionnalité attendue, et je suis bien content qu'elle fasse son arrivée.

Estimation du temps de lecture

Dans wallabag, depuis toujours, on vous donne une estimation du temps de lecture nécessaire pour un article. OK, c'est pratique quand on commence à lire l'article, on sait à quoi s'en tenir.

Problématique : je sais que j'ai 15 minutes devant moi, je veux lire un article, tu me proposes quoi, wallabag ?

Solution : le filtre par temps de lecture (screenshot plus bas).

Nom de domaine

Problématique : je veux lire tout un dossier qui se trouve sur monsite.fr et que j'ai archivé en plusieurs fois dans wallabag. Le moteur de recherche, c'est pas mal, mais pas la meilleure solution.

Solution : le filtre par nom de domaine.

Date de sauvegarde

Problématique : ah, j'ai sauvegardé un article super intéressant l'autre jour, mais je ne me souviens pas de son titre. Je sais que c'était lundi.

Solution : le filtre par date de sauvegarde.

Type d'articles

Problématique : j'ai mis de côté pas mal de vidéos, et je veux me faire une petite séance cinéma. Je fais comment dans wallabag, hein ?

Solution : le filtre par type d'articles (vidéo, audio, image, PDF, etc.).

Nouveau design : material

Depuis que le projet a changé de nom (pour rappel, on est passé de poche à wallabag), le projet était doté du thème baggy. Il y a quelques mois, quand nous avons commencé la v2, nous avons continué avec ce thème, faute de nouveauté (et comme nous ne sommes que développeurs, impossible pour nous de créer quoique ce soit de joli).

Et puis début août, un contributeur venu de nulle part (c'est beau le monde de l'opensource) arrive avec material.

Page de login

login

Page d'accueil

page d'accueil

Article

article

Configuration

config

On peut tester ?

Bien sur. C'est même vivement conseillé. Ça se passe ici : http://v2.wallabag.org (login wallabag, password wallabag).

Elle sort vraiment en septembre cette première alpha ? Oui ! Regardez ce qu'il nous reste à faire. Autant dire que c'est largement jouable.

Forcément, j'en parlerai ici, vous ne raterez pas l'info.