Sommaire
- Découvrez pyjobs en trois phrases
- A l'origine…
- Les problèmes adressés
- La solution pyjobs - agrégation d'annonces
- Différentiateur de pyjobs par rapport aux autres job-boards
- Github, le chemin des sources
- Suivez les tendances du marché sans quitter Github
- Ajoutez une source facilement : un fichier python + une pull-request
- Illustrez vos compétences en contribuant au code de pyjobs
- Transposez le modèle pyjobs à votre besoin/métier
- Un logiciel libre et ouvert
- Libre ne veut pas dire gratuit
- Pour aller plus loin
Découvrez pyjobs en trois phrases
- pyjobs est un moteur d'agrégation d'annonces publiées sur vos job-boards préférés. C'est un logiciel libre développé en python
- pyjobs.fr est l'instance de cet agrégateur dédiée aux opportunités professionnelles python pour le marché francophone.
- On ne publie pas d'annonces avec pyjobs, on les consulte.
Continuez la lecture pour en savoir plus…
A l'origine…
Tout est parti de mon expérience personnelle et du constat suivant :
- ma position de candidat recherchant un poste sur les technos Python m'a confronté à une fausse réalité : Python est peu utilisé, en tout cas peu d'entreprises recrutent.
- ma position de recruteur cherchant des candidats pour les technos Python m'a confronté à une fausse réalité : il y a très peu de candidats intéressés et compétents en Python.
Ayant vu le décor et son envers, je me suis dit qu'il y avait quelque chose à faire pour réconcilier les deux mondes.
Les problèmes adressés
Pour réconcilier ces deux mondes il faut prendre en compte les vraies difficultés des candidats :
- trouver les sociétés qui recrutent en Python.
- trouver un maximum des opportunités disponibles pour pouvoir mieux choisir
Pour les recruteurs, les problèmes à adresser sont les suivants :
- publier sur tous les job-boards est fastidieux
- approcher suffisamment de candidats pour trouver le bon
Le risque : en donnant plus de visibilité, on génère un plus grand besoin de tri. C'est statistique.
La solution pyjobs - agrégation d'annonces
pyjobs agrège l'ensemble des annonces "Python" disponibles sur le marché, de manière à proposer aux candidations une vision aussi complète que possible.
pyjobs ne propose pas de poster des annonces, donc les recruteurs n'ont pas à se soucier d'un nième formulaire à renseigner. Si leur job-board préféré n'est pas référencé sur pyjobs, il suffit qu'ils l'ajoutent, une fois pour toute.
Pour limiter le bruit, pyjobs mise sur la spécialisation par métier. Pas de critères de filtrage avancés, juste une communauté qualifiée.
Différentiateur de pyjobs par rapport aux autres job-boards
- pyjobs ne propose pas de publier d'annonces, il agrège les annonces publiées ailleurs
- les contributeurs peuvent ajouter une source très facilement.
- le flux RSS contient le texte complet des annonces
- le service offre une présentation des statistiques de publication
- le moteur de pyjobs (crawling et site web) est libre, le modèle "spécialisé python" est totalement transposable à d'autres métiers
Github, le chemin des sources
Je sais, Github est mal pour la liberté car il centralise l'ensemble des projets libres. Mais en même temps, c'est sur github que sont les
développeurs. Donc si on veut les toucher, c'est là qu'il faut (aussi) aller.
Donc les sources sont sur Github.
Suivez les tendances du marché sans quitter Github
Les annonces agrégées par pyjobs sont également publiées sur github.
En mettant une étoile au repo https://github.com/pyjobs/annonces, vous serez avertis par un nouveau commit que de nouvelles offres sont apparues.
Ajoutez une source facilement : un fichier python + une pull-request
Chaque source est définie par un fichier python contenant les règles d'extraction de l'information. Ajouter une source consiste à écrire ces règles.
Pour être accessible à tous, les règles sont basées sur des sélecteurs CSS ou XPATH.
La documentation complète est disponible sur Github.
Une fois votre source écrite, une pull-request, puis nous faisons le merge et la source est prise en compte dans les minutes qui suivent.
Alors n'hésitez pas, contribuez !
Illustrez vos compétences en contribuant au code de pyjobs
Lorsqu'on cherche un boulot, quoi de plus pertinent que de contribuer à un projet open-source pour "illustrer" ses compétences ?
pyjobs vit pour et par ses contributeurs. Les besoins sont très simples pour certains, il ne faut pas hésiter à contribuer :
- amélioration de la présentation des annonces
- proposer de nouveaux tags associés aux annonces python (liste "statique" pour le moment)
- ajouter de nouvelles sources (APEC, Pôle Emploi, Stackoverflow, Alsacreation, …)
- besoin d'un module de géolocalisation, on utilise PostgreSQL / SQLAlchemy derrière, mais ce qui compte c'est l'extraction de la géolocalisation de l'annonce (ville, région) en s'appuyant par exemple sur google ou openstreetmap
- intégration d'un moteur de recherche, idéalement elastic search
- bot de publication sur twitter
- …
Toute contribution est la bienvenue.
Transposez le modèle pyjobs à votre besoin/métier
Certes pyjobs est développé en python et cible les annonces spécifiques à l'écosystème python francophone.
Mais rien ne vous empêche d'en déployer une instance spécialisée dans un domaine quelconque : développement PHP, ruby, annonces de boulangers, de garagistes, recherche d'associés pour monter une boîte…
Un logiciel libre et ouvert
pyjobs est distribué sous licence libre, son code est disponible sur github en intégralité.
pyjobs est ouvert :
- les annonces sont publiées sur github
- les annonces sont disponibles sur un flux RSS
- les statistiques de publication sont affichées sur le site
- la liste des sources est disponible, elle présente notamment la date de dernière mise à jour ainsi que la liste des informations automatiquement extraites
Libre ne veut pas dire gratuit
Nous sommes une jeune et petite société grenobloise, algoo, spécialisée en développement d'applications web et SAAS sur base Python.
Il y a deux problématiques qu'une boîte telle que la notre doit systématiquement adresser : recruter des personnes pour étoffer ses équipes et trouver des clients. Dans les deux cas, la visibilité est un élément clé.
- Si pyjobs "perce" alors nos recrutements seront plus efficaces.
- Si pyjobs vous aide à trouver un job (ou un candidat) c'est encore mieux.
- Si en plus nous en tirons un peu de visibilité, c'est le saint graal !
Pour aller plus loin
- pyjobs.fr - opportunités professionnelles Ppython pour le marché francophone
- les dépôts Github :
- le site web - https://github.com/pyjobs/web
- les crawlers - https://github.com/pyjobs/crawlers
- les annonces publiées - https://github.com/pyjobs/annonces
# un job-board pour les agréger tous …
Posté par Yuul B. Alwright . Évalué à -5. Dernière modification le 05 février 2016 à 10:43.
… et dans les ténèbres les lier.
C'est pas ça?
# Dépêche ?
Posté par Anonyme . Évalué à 4. Dernière modification le 05 février 2016 à 10:51.
Nouveauté libre d'une société orientée logiciels libres qui a besoin de visibilité: pourquoi un journal et pas une dép~~ê~~eche ?
Edit: markdown fait de la résistance à la réforme de l'ortografe, il ne veut pas barrer mon circonflexe
[^] # Re: Dépêche ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 7.
Je sais pas ; j'ai hésité parce que j'avais peur de me faire recaler :) Mais si les responsables veulent passer le journal en dépêche je suis pas contre :)
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Dépêche ?
Posté par Anonyme . Évalué à 6.
bon sinon, et weboob dans tout ca ? pourquoi donc que ça ne convenait pas qu'il eut fallu tout refaire ?
[^] # Re: Dépêche ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 5.
J'aurais plutôt tendance à dire que c'est Weboob qui a tout refait ;)
Weboob n'est malheureusement pas basé sur Scrapy qui est LE framework de référence pour faire du crawling. Je me demande toujours pourquoi weboob ne s'est pas basé dessus et en suis vraiment curieux.
C'est vrai que pour l'aspect "crawling métier", il y a déjà des modules Weboob dispo.
Le pb de weboob de mon point de vue :
Autant l'image de marque est un « problème » tout à fait subjectif (et peut être encapsulé si vraiment nécessaire), autant les autres problèmes sont à mon avis rédhibitoires.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Dépêche ?
Posté par laurentb (site web personnel) . Évalué à 2.
Selon qui ?
Scrappy ne fournit pas grand-chose par dessus requests et lxml, que weboob utilise aussi tout en proposant beaucoup plus de choses pour faciliter le développement. Il y avait plutôt « à faire » que « à refaire ».
De plus, weboob fait bien plus que du "scraping", i.e. parcourir un site et en prendre les données. C'est un véritable outil d'automatisation qui n'a pas forcément besoin d'un parcours.
Se baser sur Scrapy n'aurait donc aucun sens.
Je ne comprends pas trop vu qu'il y a bien plus de modules libres pour weboob que pour scrapy et que c'est une grande ressource de problèmes déjà résolus.
[^] # Re: Dépêche ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 10.
Les personnes (prospects) avec qui j'ai pu échanger sur des problématiques de scraping / crawling. A part sur LinuxFR, je n'ai jamais entendu parler de weboob.
Scrappy a de gros avantages sur des fonctionnalités "plus bas niveau" que weboob :
Scrapy n'est pas un outil de traitement de flux HTML mais un frameword de crawling. Par dessus, il faut de l'intelligence de traitement de flux HTML - ce qu'implémente très bien weboob. Mais Weboob aurait très bien pu s'appuyer sur la puissance de Scrapy ; ce n'est pas exclusif car les métiers sont différents.
Réutiliser les modules weboob serait une bonne idée. Mais comme on touche directement au métier, la visibilité sur le code est importante. J'aimerais pouvoir faire un "pip install weboob_apec" par exemple.
La manière dont Scrapy est intégrée dans pyjobs, c'est juste une brique techno, on utilise l'API et puis c'est tout. Et pour l'installer c'est facile : pip install scrapy.
Je considère que weboob est un outil "clé en main" donc pas conçu pour être réutilisé ; scrapy c'est plutôt un "toolkit" qui est concçu pour être réutilisé (mais en contrepartie de quoi il n'est pas tout à fait "clé en main")
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Dépêche ?
Posté par laurentb (site web personnel) . Évalué à 3. Dernière modification le 05 février 2016 à 14:29.
En gros, Scrapy est plus « connu », ils ont un marketing hype et corporate, ce que l'on a pas (et qu'on ne sait pas faire). J'en suis bien conscient, mais ce n'est pas vraiment ce que j'ai en tête par référence.
On a ça aussi, avec
concurrent.futures
.On a ça aussi,
fillobj
, qui permet de remplir un objet à la demande. Suivant la manière dont il a été obtenu, ou du besoin, on économise des requêtes.On a pas, probablement jamais chez nous sauf à circonscrire les modules dans un mode de fonctionnement comme Scrapy (i.e. uniquement parcours de site et sans côté stateful du Browser). Ceci dit, je ne sais pas trop quelle est l'utilisation (c'est plutôt moi qui met le site à genoux avec une seule machine, du coup je mets des délais, d'ailleurs c'est quelque chose que l'on a pas nativement dans Weboob et qui a l'air bien faite chez Scrapy).
On peut faire
import weboob
, et éventuellement utiliserWebNip
pour initialiser les modules sans aucun fichier de config nécessaire. Ou si on veut utiliser seulement l'équivalent de Scrapy, on peut se cantonner àweboob.Browser
, ce que je fais souvent pour des scripts jetables.On peut installer les modules via pip, ceux livrés avec weboob sont distribués via https://git.symlink.me/?p=weboob/modules.git;a=tree
On a peu communiqué dessus et à ma connaissance il n'y a qu'un seul utilisateur.
Rien n'empêche de faire la même chose avec les siens.
[^] # Re: Dépêche ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 7.
Non, Scrapy n'est pas hype. Scrapy a un marketing "boîte à outils pour le business", là où weboob a une image plutôt "clé-en-main pour les djeuns".
Du coup l'utilisateur qui cherche une boîte à outils s'oriente vers scrapy, et celui que veut du clé-en-main va vers weboob.
Il faut regarder la réalité en face aussi : weboob a une image "adolescents" qui est véhiculée par le nommage du projet et des modules. Ca n'a rien à voir avec la qualité du code ou du framework (qui est bien foutu, j'avais regardé l'archi et j'avais trouvé ça bien modulaire et bien conçu).
Vu ce que tu dis, je pense effectivement que Weboob a une bonne place à prendre sur ce genre de marché, mais pour ça à mon avis il faut/faudrait :
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Dépêche ?
Posté par Larry Cow . Évalué à 3.
J'espère que personne ne te demandera jamais quel gestionnaire de version tu utilises ;)
[^] # Re: Dépêche ?
Posté par Florent Fourcot . Évalué à 9.
Weboob a été créé il y a six ans. Je doute déjà de l'affirmation « référence » de scrapy en 2016, mais alors si tu remontes début 2010, je crois que l'argument d'autorité tombe complètement. Au niveau technique et outils proposés, les projets divergent également.
Je n'ai pas compris la difficulté à trouver le code source. C'est sur le site officiel (et un gros lien "Get weboob" sur la page d'accueil). Ça prend quelques instants de trouver des clones sur Github. C'est quoi du coup pour toi un code source facile à trouver ?
La licence est effectivement un vrai choix.
[^] # Re: Dépêche ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 3.
Oui les projets divergent, c'est ce que je réponds au message plus haut.
Code source facile à trouver, c'est "pouvoir parcourir le code en diagonale pour évaluer la solution". En commençant un projet, tu as plusieurs briques techno sur lesquels tu peux t'appuyer pour développer. Donc tu cherches les ressources techniques directement accessible.
Dans weboob ce qui serait intéressant pour moi, c'est de parcourir le code et la doc des modules spécifiques aux jobboards. Ce code n'est pas dans la doc de développeurs - à juste titre car la doc développeurs cible l'archi générale de Weboob et la manière d'ajouter des fonctionnalités. Ce n'est pas ce qui m'intéresse.
Un autre moyen de faire, c'est de faire un pip install dans ton environnement de développement, mais weboob n'est pas dispo sur pypi. Ca s'explique bien - c'est un outil plutôt packagé "clé-en-main", mais ça ne correspond pas à mon besoin.
Le truc c'est que weboob est packagé / documenté comme un outil clé-en-main, pas pour réutiliser/coder sur certaines de ses fonctionnalités. (en clair : mon besoin ne fais pas partie de la cible)
La licence est effectivement un vrai choix.
Et l'image arrogante de weboob, ou plus exactement de certains de ses contributeurs ou défenseurs en est également un.
Ca fait plusieurs fois que "des personnes de weboob" interviennent de manière agressive ou intempestives sur des fils de discussion sur LinuxFR. Et le message de ton acolyte ci-dessous en est malheureusement la parfaite illustration.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re:Dépêche?
Posté par rzx . Évalué à -10.
D'un autre côté, vu la gueule de ton code, on n'aurait probablement pas accepté tes contributions.
[^] # Re:Dépêche?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 7.
Lol. Je t'ai rien proposé, ça tombe bien :)
Ton comporte colle tout à fait à l'image que véhicule weboob : des mecs qui se prennent pas pour de la merde, qui se croient drôles et qui prennent les gens de haut.
Je m'en fous de weboob. Fais ce que tu veux, vis ta vie. J'ai rien demandé par rapport à weboob : un de tes collègues m'a posé une question, j'y réponds. C'est pas la peine de venir m'insulter si la réponse te convient pas.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re:Dépêche?
Posté par Florent Fourcot . Évalué à 7.
Il y a une centaine de contributeurs à Weboob. J'ignore l'image que véhicule Weboob, mais je sais par contre que considérer que ces 100 personnes forment un groupe homogène est complètement faux.
Et en tant que développeur qui a le droit de merger les patchs, je peux te dire que je trouve la réponse de rzx complètement absurde.
[^] # Re:Dépêche?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 4.
Je me suis mal exprimé. Ce n'est pas l'image que véhicule weboob qui me dérange vraiment, mais l'image véhiculée par certains contributeurs/défenseurs de weboob. Cf mon message au dessus.
Je ne fais pas un amalgame de tous les contributeurs weboob : c'est un amalgame que j'ai fait, désolé.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re:Dépêche?
Posté par astyan (site web personnel) . Évalué à 2.
Tu peux être plus constructif et lister les problèmes avec son code ?Ou mieux écrire un journal sur les erreurs à éviter et les bonnes pratiques en python ?
[^] # Re: Dépêche ?
Posté par Anonyme . Évalué à 4.
Tes points 1 et 3 sont compréhensibles, le point 2 moins.
Mais les points techniques échangés avec laurentb m'éclairent d'avantage.
PS: je ne suis le collègue de personne, et autant la réponse de rzx me semble inappropriée, autant les personnes qui contribuent à weboob ne peuvent pas être amalgamées comme tu le fais.
[^] # Re: Dépêche ?
Posté par ɹǝıʌıʃO . Évalué à 2.
L’accent circonflexe de dépêche n’est en rien concerné par les rectifications orthographiques de 1990. Ce sont les accents circonflexes sur les i et les u qui sont visés, et uniquement lorsqu’il n’y a pas d’ambigüité.
[^] # Re: Dépêche ?
Posté par claudex . Évalué à 4.
L’interpréteur markdown de LinuxFr.org est configuré pour ne tenir compte des balises à l'intérieur des mots (il avait avait une entrée de suivi à sujet mais je ne la retrouve plus).
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Dépêche ?
Posté par Benoît Sibaud (site web personnel) . Évalué à 4.
Cf https://linuxfr.org/suivi/impossible-de-mettre-une-partie-de-mot-en-gras-sans-recourir-a-des-stratagemes-esoteriques
a*b*c
a~~b~~c
a_b_c
# Et les autres?
Posté par Yuul B. Alwright . Évalué à 2.
Je remarque que les annonces sont toutes basées en France.
Rien pour les autres régions francophones (Suisse, Belgique, etc) ?
[^] # Re: Et les autres?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 5.
Toute contribution est la bienvenue, et c'est relativement facile comme indiqué dans le journal pour cela.
A défaut de proposer une source et de faire une pull-request, n'hésite pas à proposer l'url des sites auxquels tu penses.
Merci pour ton aide.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Et les autres?
Posté par Cyrille Pontvieux (site web personnel, Mastodon) . Évalué à 2.
Comment on fait pour faire des tris par secteur et/ou ville ? Parce que malheureusement (en fait plutôt heureusement selon moi) je ne vis pas à Paris et ne compte pas y vivre. Je suis sur Lyon et je trouve encore plus difficilement des demandes en python (ou en open-source, en faire pas en utiliser hein !). Alors y'a ptre rien et dans ce cas le meilleur des outils ne m'aidera pas mais dans le cas contraire vois-tu comment on pourrait filtrer ?
Je veux bien contribuer mais j'ai pas encore eu le temps de regarder le code source, ptre ce WE.
[^] # Re: Et les autres?
Posté par Christophe B. (site web personnel) . Évalué à 3.
Salut le gone !
Cela me fait penser : ya pas une carte de France/Du Monde/de L'univers des moules de LinuxFr ?
[^] # Re: Et les autres?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 2.
Ca fait partie des fonctionnalités à implémenter. La stratégie c'est :
Si y'a des motivés et/ou des remarques, je suis preneur.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# Et les job-boards ?
Posté par nigaiden . Évalué à 3.
La solution proposée semble très bien à la fois pour les recruteurs et les candidats.
Je me demande ce qu'il en est des job-boards dans lesquels pyjobs pioche les annonces. Si je comprends bien, le site reproduit une partie de bases de données compilées par d'autres sites. Il "vole" des visites puisqu'il n'est plus nécessaire d'aller sur le site d'origine pour lire le corps de l'annonce, mais simultanément il génère des vues puisqu'il offre une plus grande visibilité aux annonces et qu'il faut retourner sur le site d'origine pour obtenir les informations de contact. Cela me fait penser à Google News et son côté donnant-donnant où chacun a l'impression de donner plus l'autre.
Est-ce qu'il est prévu de sécuriser cet aspect de pyjobs par des accords avec les job-boards ?
J'espère aussi que l'auteur de LinuxJobs verra ce journal et viendra nous donner son avis.
[^] # Re: Et les job-boards ?
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 2.
L'idée c'est dans un premier temps de voir si le concept prend Si oui on trouvera des accords d'une manière ou d'une autre.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# BoobJob
Posté par stopspam . Évalué à 3.
À quand un module Weboob pour pyjob ? :)
# statistiques
Posté par BAud (site web personnel) . Évalué à 2.
bizarre, python n'est pas si mal placé pourtant :
pyjobs pourrait permettre de faire des stats concernant les annonces ?
[^] # Re: statistiques
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 3.
Justement c'est ce que je dis : c'est une fausse impression.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.