0.joie, une nouvelle version de Weboob

Posté par  . Édité par palm123 et Benoît Sibaud. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
33
4
sept.
2014
Internet

Weboob (Web Outside Of Browsers) est un ensemble d'applications interagissant avec des sites web.

En ces temps de rentrée, une nouvelle version de Weboob arrive pour vous accompagner. Weboob 0.j enjoue le Web depuis hier.

Cette nouvelle version est assez calme, avec environ 300 commits provenant de 13 contributeurs. Elle inclut cependant de nombreuses corrections de bugs, et peut être vue comme la version bêta de la 1.0 à venir.

Les nouveautés sont détaillées en seconde partie de la dépêche. Weboob compte désormais 165 modules, gérant davantage de sites (certains modules pouvant concerner plusieurs sites Web).

Sommaire

Export à l'international avec Wells Fargo et Twitter

Les fondateurs et la grande majorité des développeurs du projet sont francophones, ce qui introduit un biais sur la sélection des modules. Ainsi, tous les sites bancaires étaient jusqu'à présent des sites de banques françaises. On avait été parfois approché par des développeurs pour des banques à l'étranger, mais sans que cela n'aboutisse à des contributions concrètes. C'est désormais fait ! Cette version inclut en effet le module pour la banque Wells Fargo.

Dans la même veine, même si il a été développé par un francophone, un module Twitter a fait son apparition, amenant définitivement Weboob à la pointe des technologies de communication modernes.

Plugin XBMC/Kodi

L'intégration de Weboob dans des applications spécialisées est toujours un objectif. Cela permet une bien meilleure expérience utilisateur, et nous permet de rester concentrés sur les sites web plutôt que de développer des applications compliquées.
Nous sommes donc très heureux de présenter un plugin pour le lecteur XBMC/Kodi. Il permet de rechercher et visionner des vidéos en provenance de tous les sites gérés par Videoob:

Plugin xbmc

Plugin xbmc2

Le plugiciel est disponible dans le dossier contrib.

Browser2 et les opérateurs binaires

Nous présentions lors de la dernière dépêche le nouveau navigateur, permettant de simplifier l'extraction des données des sites Web. Cette simplification passe notamment par des filtres spécialisés, recherchant facilement les éléments du DOM, effectuant des traitements dessus et convertissant automatiquement les données au bon format (que ce soit un entier, une date, etc.). Ces filtres évitent d'écrire une conversion de texte en date dans chaque module. On peut imbriquer les filtres, afin d'obtenir un enchaînement assez puissant sans beaucoup de code :

    obj_duration = Duration(CleanText('//div[@id="video_text"]'))

Comme le code semble l'indiquer, on extrait d'abord le texte que l'on convertit ensuite en durée.

Cette encapsulation entre les différents filtres se fait parfois avec plusieurs niveaux, rendant le code un peu moins lisible. Pour résoudre cela, cette version introduit deux nouveautés basées sur les opérateurs binaires. Le premier est le &, qui permet d'enchaîner deux filtres dans le sens naturel. On pourra ainsi réécrire la ligne par :

    obj_duration = CleanText('//div[@id="video_text"]') & Duration

Le second, |, est utilisé pour définir une valeur par défaut, dans le cas où les filtres n'arrivent pas à convertir les données (notamment parce que la donnée n'est pas disponible sur le site lui-même ou qu'elle n'a pas le format attendu). Petit exemple de code réel :

    obj_duration = CSS('span.thumbtime span') & CleanText & Duration | NotAvailable

Ces opérateurs, optionnels, augmentent la palette des outils à disposition des développeurs de modules, rendant l'écriture de ceux-ci beaucoup plus aisée.

Pour plus d'informations sur le nouveau navigateur et son système de filtres, vous pouvez retrouver une série d'articles publiée (en français) sur le Planet Weboob.

En route vers la 1.0

Cette version sonne la dernière étape vers une stabilisation de Weboob et une sortie prochaine de la 1.0. Un travail d'uniformisation de l'API de développement a ainsi été effectué afin de pouvoir rentrer sereinement dans un cycle permettant la conservation de la rétro-compatibilité.

Cette uniformisation a cependant un coût temporaire : les outils externes utilisant Weboob comme bibliothèque doivent être mis à jour. Dans la même veine, le paquet Debian a été un peu nettoyé et rangé, et l'emplacement des plugins munin a notamment été modifié.

Nous sommes pour le moment dans les temps par rapport à notre planning prévisionnel pour la sortie de la version 1.0, prévue avant le gel de la distribution Debian.

La documentation développeur fait peau neuve

Un effort particulier a été réalisé durant ce cycle de développement pour améliorer la documentation. Nous avons ainsi refait la page d'accueil du site pour développeur, actualisé les guides et réorganisé la structure. Ce qui était parfois divisé entre le Wiki et la documentation est désormais intégralement sur le site dédié. Accessoirement, nous avons changé l'adresse du site, en passant de docs.weboob.org à dev.weboob.org.

Petites nouvelles

Les imports Python ont été réorganisés, pour réduire sensiblement le temps de chargement des applications simples (division par deux pour la plus simple des applications).
À la manière de l'utilitaire ip il est possible, pour économiser quelques lettres lors de l'écriture des commandes, de réduire les noms des modules (arte peut ainsi être écrit ar, voir a). Cela s'ajoute au nom des commandes déjà réduites.

Enfin, deux autres modules font leur apparition. Ils permettent d'accéder aux sites Feedly et Oney Banque

La prise en charge de Python 3 a été améliorée. Le projet reste en Python 2, mais certaines parties du core, et les modules compatibles, sont déjà utilisables avec Python 3.

L'application radioob gère maintenant les albums et les playlists :

$ radioob -b grooveshark search album sixsixsixteen
album.8163226@grooveshark — Blood Duster (Blood Duster)

$ radioob -b grooveshark play album.8163226@grooveshark

Le module arte prend en charge les podcasts.

Contributeurs

Merci aux contributeurs qui ont participé à cette version :

  • Benjamin Carton
  • Florent Fourcot
  • Jean-Philippe Dutreve
  • Julien Hebert
  • Laurent Bachelier
  • Oleg Plakhotniuk
  • Romain Bignon
  • Simon Murail
  • Tanguy Ortolo
  • Tens San
  • Vincent A
  • Vincent Paredes
  • Vincent Texier

Weboob est un projet qui grossit et qui vit grâce à ses contributeurs. Si vous souhaitez l’améliorer, que vous connaissiez le Python ou pas, n’hésitez pas à contribuer.

Aller plus loin

  • # weboob sur mobile ?

    Posté par  (site web personnel) . Évalué à 4.

    Merci pour ces informations.

    Il me semble avoir lu (quelque part sur le site weboob.org ?) qu'il y avait des projets pour faire une variante pour mobile, basée je crois sur kivy
    http://kivy.org/#home

    Des nouvelles de cela (au point mort, manque de temps/ de développeurs, au hasard) ?

    ウィズコロナ

  • # Weboob et la sécurité

    Posté par  . Évalué à 5.

    Je trouve le concept de weboob génial, mais j'hésite encore cependant à l'utiliser, pour des raisons de sécurité.

    A savoir, je n'ai pas le temps de vérifier tout le code des applications weboob avant de les utiliser (sinon, ça perd un peu de son intérêt), or qu'est-ce qui me prouve qu'une de ces applications - qui nécessite pour fonctionner la connaissance de mes données d'accès à des sites sensibles - ne contient pas du code malhonnête qui va récupérer et transmettre à des tiers lesdites données d'accès ?

    Et même si ça n'est pas encore le cas, ça peut arriver lors de n'importe quelle MAJ de weboob, demain ou l'année prochaine.

    Parce que faut admettre que beaucoup d'escrocs doivent rêver de pouvoir implanter une backdoor dans de telles applications…

    • [^] # Re: Weboob et la sécurité

      Posté par  . Évalué à 10.

      qu'est-ce qui me prouve […] ne contient pas du code malhonnête qui va récupérer et transmettre à des tiers lesdites données d'accès ?

      Sans lire le code ? Rien. À noter que lire le code de Firefox et des éventuels plugins associés est probablement plus long.
      Il y a des mécanismes de sécurité dans Weboob (signature des modules lors des mises à jour par exemple), mais il faut faire confiance aux développeurs. Sans ça, tu vas nulle part.

      Parce que faut admettre que beaucoup d'escrocs doivent rêver de pouvoir implanter une backdoor dans de telles applications…

      Honnêtement je doute un peu de cette affirmation. La communauté est trop réduite pour gagner beaucoup d'argent, par rapport à la complexité d'introduire un truc sans se faire griller. Des applications grand public sont beaucoup plus pertinentes.

    • [^] # Re: Weboob et la sécurité

      Posté par  . Évalué à 10.

      En complément de la réponse de Florent, il faut noter qu'avec plus de quatre-vingt contributeurs (une dizaine actifs chaque mois), le code est pas mal lu par des individus variés.

      En outre, la société Budget Insight utilise Weboob et contribue massivement aux modules bancaires. Ses intérêts financiers et la confiance de ses clients la rendent elle-même vigilante sur la sécurité du projet.

      • [^] # Re: Weboob et la sécurité

        Posté par  (site web personnel) . Évalué à 5.

        C'est certain que la sécurité est le point fort des projets… surtout lorsqu'il s'agit d'assurer la sécurité et la confidentialité des données privées.

        Qu'une entité ou une autre mette en jeux la confiance de ses clients ne signifia pas que l'attention sur le code sera au top. Beaucoup trop de projets (libres ou pas) sont d'abord développés dans un but fonctionnel, la sécurité venant après (une grosse fuite). Dernièrement c'était un truc nuageux je crois.

        Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

        • [^] # Re: Weboob et la sécurité

          Posté par  . Évalué à 5.

          Ça dépend aussi du public concerné et des données manipulées. Là on a des données très sensibles (bancaire et autres), avec des développeurs provenant pour certains d'un monde vu par l'extérieur comme assez parano (mais pourquoi tu t'intéresses à la protection de ta vie privée ?).

          Personnellement j'ai mis longtemps à utiliser Weboob, car j'étais également assez méfiant, ce que je respecte donc pleinement. Après, il me semble que le projet a toujours été très clair sur ses faiblesses (notamment auparavant, quand les certificats SSL n'étaient pas vérifiés). La bonne nouvelle c'est que c'est désormais corrigé, que les mots de passe peuvent être stockés non plus en clair mais par n'importe quel outil choisi par l'utilisateur, etc.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.