Weboob (Web Outside Of Browsers) est un ensemble d’applications et de modules interagissant avec des sites Web.
Ce projet peut également être utilisé comme une bibliothèque permettant de grandement simplifier l’extraction de données des sites Web. Pour du prêt à l’emploi, Weboob compte aujourd’hui 241 modules qui permettent d’accéder à de nombreux sites Web sans passer par un navigateur standard.
Sans être exhaustive, la suite de la dépêche vous propose de découvrir quelques nouveautés de la nouvelle version 1.3, sortie mercredi 20 septembre 2017, que ce soit pour les utilisateurs et utilisatrices ou les développeuses et développeurs. Nous détaillons également la vie du projet en fin de dépêche, notamment notre participation à la PyConFr du 21 au 24 septembre 2017.
Sommaire
- Services bancaires et administratifs
- Logements
- Vie privée et --auto-update
- Nouvelle application QGalleroob
- Dans les entrailles du développement
- Liste exhaustive des nouveaux modules
- Communauté
- Contributeurs
Services bancaires et administratifs
Ajout de bénéficiaire pour les virements
Le système de virement avait été revu lors de la précédente version, afin de permettre un processus plus complet notamment lors de la demande d’informations complémentaires (exemple : un code envoyé par SMS). Nous franchissons une nouvelle étape dans la prise en charge de ces virements en permettant désormais l’ajout de bénéficiaires pour les virements (grâce à la sous‐capacité CapBankTransferAddRecipient
). Si le site utilise un code unique par SMS, boobank le demandera pour finaliser l’ajout de la même manière que pour les virements. Neuf modules ont déjà cette fonctionnalité activée.
Nouveaux modules
Les modules bancaires sont de nouveau à la pointe grâce au soutien de l’entreprise Budget Insight qui utilise et contribue massivement à Weboob. On compte ainsi dix nouveaux modules bancaires et la liste des changements sur les modules existants est assez impressionnante.
Les modules qui permettent de simplifier la gestion administrative au quotidien ne sont pas en reste. On peut noter le téléchargement des fiches de paie pour tous les fonctionnaires d’état via le module ENSAP, ainsi que le téléchargement des factures du fournisseur de gaz Lampiris. N’oublions pas, pour les Parisiens, la gestion des réservations de livres dans les bibliothèques (module bibliothequesparis). On regrettera en revanche la disparition du module pour les bibliothèques rennaises, qui n’était plus maintenu.
Logements
Il est très difficile de chercher un logement en zone densément peuplée. Les offres sont très nombreuses, souvent dupliquées sur plusieurs sites. Le travail de veille est lourd et les logements partent très vite. C’est ainsi qu’un contributeur a développé Flatisfy, en utilisant les modules immobiliers de Weboob comme backend. L’objectif de cette application est de vous permettre de spécifier des filtres pour votre recherche de logements (secteur, loyer, nombre de pièces, temps de trajet), puis d’offrir une interface conviviale autour de ces résultats, en groupant les doublons et en affichant tous les résultats de façon uniforme, quel que soit le site d’origine de l’annonce. Flatisfy a été testé et approuvé à Lyon et Paris pour l’instant. Pour plus d’informations, vous pouvez regarder cet article de l’auteur.
Le développement de Flatisfy a été l’occasion de tester et mettre à jour les modules de recherche de logements. Outre les corrections de bogues sur les modules existants, les principaux changements sont :
- l’ajout d’un module pour récupérer les annonces de Foncia ;
- l’homogénéisation des résultats retournés par les divers modules, afin que les numéros de téléphone soient formatés de façon similaire, et que toutes les informations disponibles soient bien récupérées ;
- l’ajout d’un nouveau champ
utilities
sur lesHousing
, afin de mentionner si les charges sont incluses ou non dans le loyer récupéré par le module ; - l’ajout de deux nouveaux champs
rooms
etbedrooms
surHousing
, afin d’avoir une façon homogène entre les modules de représenter le nombre de pièces et de chambres du bien.
Vie privée et --auto-update
Par défaut, les applications Weboob vérifiaient automatiquement les mises à jour des modules quand un module rencontrait une erreur. C’est très pratique dans un projet comme Weboob qui est face à des sites volatiles, mais a des conséquences négatives en termes de respect de la vie privée. Un utilisateur a ouvert un ticket avec un argumentaire détaillé et nous avons pris en compte ses remarques. La mise à jour automatique est donc désormais optionnelle, désactivée par défaut et peut être réactivée à l’aide de --auto-update
.
Rappelons qu’il est dans tous les cas toujours possible de rechercher des mises à jour manuellement avec weboob update
.
Nouvelle application QGalleroob
Une nouvelle application Qt permet de faire des recherches d’images et de galeries : QGalleroob.
Dans les entrailles du développement
Prise en charge des versions de Python
Le cœur de Weboob ainsi que les applications Weboob sont maintenant compatibles Python 2.7 et Python 3.
De nombreux modules sont déjà compatibles Python 2 et Python 3, et de nouveaux seront portés au fur et à mesure. Les modules n’étant toujours pas compatibles sont dans une grande majorité des modules abandonnés, dont le fonctionnement est probablement douteux. Ils seront donc probablement supprimés dans les prochaines versions.
En fonction des retours sur Python 3 et de l’avancée du portage, il ne restera plus qu’une ou deux versions de Weboob qui prendront encore en charge Python 2.7. Nous prévoyons de changer de numéro majeur de version (et de passer donc à Weboob 2.0) au cours de l’année 2018, et donc à une version qui n’aura plus Python 2.7.
Nouveaux filtres
Les filtres sont des aides essentiels dans les modules Weboob, ils permettent notamment de simplifier l’extraction des données en utilisant une syntaxe très déclarative (il y a beaucoup de magie dedans). De nouveaux filtres spécialisés font leur apparition dans cette version :
- AbsoluteLink : construit une adresse URL absolue à partir d’un lien HTML (contrairement au filtre Link qui retourne la valeur brute) ;
- FormValue : permet d’obtenir la valeur courante d’un élément de formulaire (par exemple dans un tag select) ;
- HasElement : retourne une valeur suivant la présence ou non d’un élément HTML ;
-
QueryValue : retourne la valeur d’un paramètre contenu dans la partie query d’une URL (par exemple, value pour
url?param=value
).
Outils de débogage
Deux nouveaux mécanismes ont été ajoutés pour aider à trouver les problèmes quand on écrit un module.
Dans une session de débogage avec pdb (ou temporairement dans le code d’un module) :
>>> import weboob
>>> weboob.browser.elements.magic_highlight(self.el.xpath('.//div[has-class("foo")]'))
Cela ouvrira la page courante dans un navigateur pour déboguer, avec tous les éléments correspondants à l’expression XPath, mis en surbrillance. Il est possible de mettre également en surbrillance toutes les zones d’une page qui sont extraites par le module. Pour cela, il faut ajouter _highlight_el = 1
à la configuration du module que l’on veut déboguer.
Un autre outil très pratique est l’exportation de sessions et son chargement via une extension Web dans Firefox ou chrome. Dans le dossier contrib
, un dossier complet nommé webextension-session-importer
permet cette performance (voir le fichier README
pour plus de détails).
Liste exhaustive des nouveaux modules
- bibliothequesparis (CapBook) ;
- billetreduc (CapCalendarEvent) ;
- blogspot (CapMessages) ;
- bnppere (CapBank) ;
- btpbanque (CapBank) ;
- capeasi (CapBank) ;
- cices (CapBank) ;
- cityscoot (CapDocument) ;
- cmes (CapBank) ;
- cmmc (CapBank, CapContact) ;
- ensap (CapDocument) ;
- erehsbc (CapBank) ;
- esalia (CapBank) ;
- foncia (CapHousing) ;
- lameteoagricole (CapWeather) ;
- lampiris (CapDocument) ;
- larousse (CapTranslate) ;
- linebourse (CapBank) ;
- myfoncia (CapDocument) ;
- pixabay (CapFile, CapImage) ;
- pradoepargne (CapBank) ;
- tumblr (CapGallery) ;
- zerobin (CapPaste).
Communauté
Dernière assemblée générale
Le projet Weboob est protégé par une association qui a pour but de soutenir le développement et de permettre l’indépendance du projet par rapport à des entreprises qui peuvent être très contributrices (on les en remercie beaucoup). Si cette association n’est pas toujours très active, nous avons réuni une assemblée générale le 10 juillet 2017 à Paris. Le bureau de l’association (qui nomme notamment le release manager, ayant le pouvoir d’accepter ou refuser des contributions) a été entièrement reconduit.
Les membres du bureau sont cependant tous investis depuis longtemps dans le projet et seraient très volontiers prêts à céder leurs places à de nouveaux contributeurs ou contributrices.
PyConFr 2017
Les développeurs Weboob seront présents en force à cette édition de PyConFr ! L’ensemble des membres du bureau de l’association sera notamment présent.
Un atelier sera animé le samedi 23 septembre 2017 de 14 h à 16 h, ce sera l’occasion de développer votre premier module. Deux conférences seront présentées le dimanche 24 septembre 2017 de 15 h à 16 h :
N’hésitez pas à passer nous voir, poser des questions, faire vos premières contributions, discuter de l’avenir du projet, etc.
Contributeurs
Merci aux contributeurs qui ont participé à cette version :
- Baptiste Delpey ;
- Barthélemy Gouby ;
- Benjamin Bouvier ;
- Benjamin Carton ;
- Benjamin Tampigny ;
- Christophe Lampin ;
- David Kremer ;
- Edouard Lambert ;
- Florent Fourcot ;
- Florian ;
- Florian Duguet ;
- François Revol ;
- Frédéric Lépy ;
- Guillaume Lundy ;
- Guillaume Seznec ;
- James Galt ;
- Jean Walrave ;
- Jonathan Schmidt ;
- Juliette Fourcot ;
- Laurent Bachelier ;
- Louis Debeve ;
- Matthieu Weber ;
- Nicolas Cornu ;
- P4ncake ;
- Phyks (Lucas Verney) ;
- Raymonde Philibert ;
- Roger Philibert ;
- Romain Bignon ;
- Sébastien Jean ;
- Simon Lipp ;
- Théo Dorée ;
- Vincent Ardisson ;
- Vincent Paredes ;
- ZeHiro.
Weboob est un projet qui vit grâce à ses contributeurs. Si vous souhaitez l’améliorer et que vous connaissez le Python (ou pas, des besoins sur la documentation et la qualité des icônes se font sentir), n’hésitez pas à contribuer.
Aller plus loin
- Site Web (669 clics)
- Liste complète des changements (200 clics)
- Installation (220 clics)
- Modules (232 clics)
- Applications (178 clics)
- Code sur le GitLab du projet (170 clics)
- Dépêche sur la PyConFr 2017 (215 clics)
# événements ?
Posté par Goffi (site web personnel, Mastodon) . Évalué à 3.
Salut,
bravo pour cette version.
Je me demandais si Weboob était capable de surveiller une page et réagir à des événements, notamment un nouvel élément DOM qui apparaît.
Un exemple serait une page web gérant une messagerie : est-ce qu'un nouveau message qui apparaît pourrait déclencher une callback par exemple ?
Je sais que ça n'est pas du tout l'objectif de base, et que ça complique énormément (notamment parce qu'il faut interpréter du Javascript, mais j'ai cru comprendre que Weboob commençait à le faire dans certains cas), je me demande juste si c'est possible/envisageable.
[^] # Re: événements ?
Posté par laurentb (site web personnel) . Évalué à 3.
Tu veux dire quand une page web est mise à jour dans un navigateur ? Dans le but d'avoir quelque chose en temps réel ?
Même avec ce qu'on fait actuellement, on n'a pas vraiment d'environnement de navigateur avec JavaScript et DOM donc pas vraiment.
On pourrait éventuellement suivre les websockets et autres machins sans interpréter le JavaScript derrière. Mais à l'heure actuelle il n'y a rien pour le faciliter dans Weboob.
[^] # Re: événements ?
Posté par Goffi (site web personnel, Mastodon) . Évalué à 3.
je pensais indépendamment d'un navigateur (ou alors avec quelque chose headless), et oui pour avoir du temps réel.
Si, par exemple, on est dans une application de chat proprio, qu'il n'y a pas d'API ni rien, pouvoir utiliser weboob pour faire une passerelle serait un bon moyen pour avoir une solution rapide le temps de faire un reverse engineering sur le protocole. Oui avec les Websocket ça serait bien aussi.
Je me doute que ça n'est pas possible à l'heure actuelle (vous n'en avez pas l'utilité a priori), mais je me demandais si c'était envisageable avec l'archi de Weboob, et apparemment oui donc :)
[^] # Re: événements ?
Posté par laurentb (site web personnel) . Évalué à 1.
Comme on garde bien un module en mémoire ça me paraît tout à fait possible de gérer des websockets (après, la dernière fois que j'ai essayé d'en faire côté client en Python, j'ai pas réussi).
Je me doutais qu'il s'agissait de chats ! Ce serait sûrement un truc à faire si on peut le brancher à des applications existantes.
[^] # Re: événements ?
Posté par Faya . Évalué à 4.
J'utilise déjà weboob pour surveiller mes comptes en banque et je découvre à l'instant le module leboncoin. J'avais écrit quelque chose de similaire en javascript pour récupérer les numéros de téléphone (dont l'affichage est déclenché par un clic) en utilisant CasperJS ( http://docs.casperjs.org/en/latest/ ). Très simple à manipuler comme browser headless, même quand on est pas un pro du javascript. Ça peut servir…
# BI
Posté par jpm . Évalué à -10.
Ce que l'on peut faire de pire en sécurité (centraliser les identifiants et mots de passe) combiné avec ce qu'on peut faire de pire dans le genre start-up (infantiles, alcoolisme, sexisme, homophobie, patron psychopathe qui se prend pour Bill Gates, l'autre en pleine névrose), pitié, laissez les mourir sans leur faire de pub.
[^] # Re: BI
Posté par dromadaire35 . Évalué à 4.
C'est pas ce que font déjà beaucoup, beaucoup de personnes avec leurs téléphones modernes ? J'dis ça, j'dis rien, hein.
[^] # Re: BI
Posté par jpm . Évalué à -8.
En masse, sur une plate-forme tierce ?
[^] # Re: BI
Posté par gUI (Mastodon) . Évalué à 5.
Comment ça sur une plateforme tierce ?
Mon mot de passe weboob est stocké dans mon /home, exactement comme mes mots de passe mémorisés par Firefox.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: BI
Posté par Bruno Michel (site web personnel) . Évalué à 10.
Il parle de Budget Insight, pas de Weboob en tant que tel.
[^] # Re: BI
Posté par gUI (Mastodon) . Évalué à 5.
Ah pardon. Alors, oui, perso ça me plaît pas non plus.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: BI
Posté par steph1978 . Évalué à 3.
En quoi c'est un argument ? Y en a qui font pas bien alors je peux faire pas bien ?
[^] # Re: BI
Posté par Prosper . Évalué à 7.
Pourquoi cette haine envers BI ? Ce n'est pas le premier message de la sorte que tu postes.
[^] # Re: BI
Posté par BAud (site web personnel) . Évalué à 1.
bin le stockage des mots de passe en centralisé, c'est un peu digne de google qui te permet d'unifier tes boîtes mails (ça c'est la vue optimiste) mais aussi d'usurper ton identité, effectuer d'autres actions que simplement afficher tes mails (les lire au passage par exemple…).
tu te prendrais en photo^Wselfie avec ta carte bleue vue de devant et avec le code au dos pour la mettre sur flicker ensuite ?
on ne parle que de ton compte en banque, plaie d'argent n'est pas mortelle…
[^] # Re: BI
Posté par O'neam Anne . Évalué à 8.
T'en a dis trop ou pas assez. Lien ?
LinuxFr, parfois c'est bien de la MERDE : https://linuxfr.org/users/c2462250/journaux/ecriture-inclusive-feministes-et-wikipedia#comment-1793140
# Module Axabanque
Posté par Christophe B. (site web personnel) . Évalué à 2.
Bonjour,
j'aime bien weboob, mais je n'arrive pas a faire tourner correctement le module Axabanque …
Quelqu'un a réussi ?
[^] # Re: Module Axabanque
Posté par laurentb (site web personnel) . Évalué à 2.
Je t'invite à venir sur #weboob sur Freenode, ou a créer un ticket sur https://git.weboob.org/weboob/devel/issues
Pas sûr que tu aie une réponse de suite par contre, beaucoup des développeurs sont pris par la PyConFr.
[^] # Re: Module Axabanque
Posté par Christophe B. (site web personnel) . Évalué à 3.
OK merci pour l'info
Je pense jamais à IRC et pourtant …
# charges
Posté par Moonz . Évalué à 3.
Pourquoi ne pas donner le prix chargé tout simplement ? Franchement, le loyer hors-charge je n’en ai rien à carrer.
[^] # Re: charges
Posté par Florent Fourcot . Évalué à 7.
Car il est pas toujours disponible, tout simplement. Le loyer charge comprise est toujours prioritaire, mais il faut qu'on remonte l'information si les charges ne sont pas comprises.
# Nom ?
Posté par Beurt . Évalué à -8.
Et sinon ? Toujours pas de changement de nom prévu ?
[^] # Re: Nom ?
Posté par moules . Évalué à 7.
Pourquoi donc ?
[^] # Re: Nom ?
Posté par Beurt . Évalué à -2.
Bah… J'ai hésité à répondre…
Faisons sobre : https://fr.wikipedia.org/wiki/Weboob
[^] # Re: Nom ?
Posté par jpm . Évalué à -7.
https://ibb.co/bA5vM5
[^] # Re: Nom ?
Posté par Zenitram (site web personnel) . Évalué à 8.
Le sexisme devient comme l'antisémitisme, si tu n'es pas d'accord avec la personne sur un sujet qui n'a rien à voir, hop une attaque (hors sujet) avec un mot (hors sujet) à la mode.
Rappel : si tu n'es pas d'accord avec la politique d’Israël, c'est que tu es antisémite (le rapport? aucun, normal). Ici, même logique de réflexion (rappel : les blagues, même graveleuses, ne sont pas le monopole des gens ayant une paire de couilles, c'est sexiste de penser que c'est le cas).
Bon, sinon, rien de nouveau au fil des ans, îlot de stabilité dans le ridicule :).
PS : je ne cautionne pas forcément de faire des blagues de ce type, pour d'autres raisons, ça me fait juste sourire (ou rendre triste sur le sexisme des gens qui se croient anti-sexistes) ces accusations de sexisme qui se basent sur des préjugés sexistes (qui est sexiste en vrai?).
[^] # Re: Nom ?
Posté par adonai . Évalué à -7.
rappel : les blagues, même graveleuses, ne sont pas le monopole des gens ayant une paire de couilles, c'est sexiste de penser que c'est le cas
En parlant de rappel, tenir des propos sexistes ou agir de façon sexiste n'a aucun rapport avec le fait d'avoir une paire de couille ou pas. C'est stupide de penser que c'est le cas.
PS : Ça me fait sourire ces rappels qui se basent sur des réflexions limitées intellectuellement.
[^] # Re: Nom ?
Posté par Single . Évalué à 2.
À propos de limitation intellectuelle, je me permets de te signaler qu'on écrit "une paire de couilleS"
Tu as déjà du mal avec le masculin et le féminin, je vois qu'en plus la distinction entre singulier et pluriel te pose problème…
[^] # Re: Nom ?
Posté par Psychofox (Mastodon) . Évalué à 4.
Ben tu te sors les doigts du cul et tu le fork en renommant tout ce que tu veux.
[^] # Re: Nom ?
Posté par eingousef . Évalué à 9.
Faudrait créer Fingoob (fingers out of the butt)
*splash!*
[^] # Re: Nom ?
Posté par laurentb (site web personnel) . Évalué à 6.
C'est déjà fait ! Il existe
contrib/fork.py
pour ceux qui souhaitent utiliser webisounours à la place.[^] # Re: Nom ?
Posté par eingousef . Évalué à 3.
du coup ce serait quoi l'acronyme ?
*splash!*
[^] # Re: Nom ?
Posté par LeXa1979 . Évalué à 1. Dernière modification le 26 septembre 2017 à 16:07.
WePedoBear ?
edit: ah non, zut, c'est pas un acronyme…
L'acacia acajou de l'académie acoustique est acquitté de ses acrobaties. Tout le reste prend "acc".
[^] # Re: Nom ?
Posté par Toto . Évalué à 1.
Weboob Is an Outrageous & Ugly Name or Undoubtly Rude & Sexist ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.