URL: https://linuxfr.org/news/weboob-sort-une-nouvelle-version-qui-va-vous-porter-chance Title: Weboob sort une nouvelle version qui va vous porter chance Authors: Florent Fourcot ZeroHeure, Davy Defaud et Benoît Sibaud Date: 2017年09月21日T09:22:31+02:00 License: CC By-SA Tags: firefox, weboob, python et scrapy Score: 47 [Weboob](http://weboob.org) (_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](http://weboob.org/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](https://linuxfr.org/news/programme-de-la-pyconfr-2017). ---- [Site Web](http://weboob.org) [Liste complète des changements](http://weboob.org/news) [Installation](http://weboob.org/install) [Modules](http://weboob.org/modules) [Applications](http://weboob.org/applications/) [Code sur le GitLab du projet](https://git.weboob.org/weboob/devel) [Dépêche sur la PyConFr 2017](https://linuxfr.org/news/programme-de-la-pyconfr-2017) ---- # 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](https://www.budget-insight.com/) 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](https://ensap.gouv.fr/web/accueilnonconnecte), 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](https://git.phyks.me/Phyks/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](https://phyks.me/2017/08/looking-for-a-flat-the-modern-way.html#looking-for-a-flat-the-modern-way). 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 les `Housing`, 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` et `bedrooms` sur `Housing`, 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é](https://git.weboob.org/weboob/devel/issues/8) 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) : ```python>>> 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_](https://linuxfr.org/news/programme-de-la-pyconfr-2017) ! L’ensemble des membres du bureau de l’association sera notamment présent. Un [atelier](https://www.pycon.fr/2017/programme.html#atelier-presentation-weboob) 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 : - [_Weboob, le navigatueur_](https://www.pycon.fr/2017/programme.html#weboob-le-navigatueur) ; - [_La puissance du scraping Web avec Weboob_](https://www.pycon.fr/2017/programme.html#la-puissance-du-scraping-web-avec-weboob). 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](http://weboob.org) est un projet qui vit grâce à ses [contributeurs](http://weboob.org/#authors). 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](http://dev.weboob.org/guides/contribute).