Aller au contenu principal

Référence de la ligne de commande

Sweepy s’installe comme une seule commande, sweepy. Tapez-la et appuyez sur Entrée. Ajoutez une option quand la commande a besoin de plus que les valeurs par défaut. Chaque profil, balayage et rapport part d’ici.

Terminal
sweepy

Alex utilise deux de ces commandes chaque matin. D’abord --run lance un balayage avec le dernier profil enregistré. Ensuite --logs rapporte ce qui s’est passé quand une exécution semble anormale.

Remarque

Lancez chaque commande depuis votre dossier sweepy. Si vous avez fermé votre terminal depuis la dernière étape, rouvrez-le et lancez d’abord cd sweepy.

Référence des commandes​

Lancez sweepy sans option pour ouvrir le lanceur de recherche de l’assistant. Les tableaux ci-dessous regroupent chaque option par tâche.

Forme de la commande

Lancez pip install -e . une fois dans le dossier sweepy. Les pages suivantes utilisent la forme courte car cette commande l’enregistre. Si votre shell ne trouve pas sweepy, rouvrez le terminal ou lancez plutôt python swee.py.

Balayages et profils​

OptionCe qu’elle fait
--runLance un balayage avec votre dernier profil enregistré.
--profile <path>Lance un balayage depuis un profil YAML.
--setupOuvre le lanceur de recherche pour les recherches et la configuration du profil.
--non-interactiveCrée ou met à jour un profil à partir d’options au lieu d’invites. Associez-la à --setup.

Dérogations pour une exécution​

OptionCe qu’elle fait
--no-dedupeConserve les offres en double venant de sites différents pour un balayage.
--include-seenRapporte aussi les offres d’un balayage antérieur.
--reset-historyOublie les offres déjà rapportées pour le profil.

Documents​

OptionCe qu’elle fait
--docx <path>Convertit un fichier DOCX en PDF, puis quitte.
--convert <path>Convertit un document pris en charge en PDF à côté du fichier source, puis quitte.

Moteurs de recherche d’emploi​

OptionCe qu’elle fait
--list-enginesListe chaque moteur, les sites qu’il lit et son état d’installation.
--install-engines [names]Télécharge tous les moteurs optionnels, ou seulement ceux que vous nommez.
--allow-engine-conflictsInstalle un moteur dont la version épinglée entre en conflit avec une version installée, en ignorant cette version. Associez-la à --install-engines.

Mises à jour et version​

OptionCe qu’elle fait
--updateRécupère le code Sweepy le plus récent et réinstalle les dépendances.
--check-updateIndique si une version plus récente de Sweepy existe.
--versionAffiche la version du moteur et ses dépendances.

Journalisation​

OptionCe qu’elle fait
--debugActive la journalisation de débogage dans logs/.
--log-dir <dir>Déplace le dossier des journaux de débogage.
--logsAffiche les entrées de journal de débogage les plus récentes.

Valeurs de configuration sans interface​

Ces options remplissent un profil quand vous ajoutez --setup. Chaque valeur exige son option correspondante, et --name, --titles, --location et --resume restent obligatoires sauf si le profil les fournit.

OptionCe qu’elle fait
--sources <names>Active ces moteurs, séparés par des virgules.
--jobspy-sites <sites>Définit les sites JobSpy, séparés par des virgules.
--hirehunt-sources <sources>Définit les sources HireHunt, séparées par des virgules.
--jobdrop-sites <sites>Définit les sites JobDrop, séparés par des virgules.
--openroles-companies <slugs>Définit les identifiants d’entreprise OpenRoles, séparés par des virgules.
--apify-actor <actor>Définit l’identifiant d’acteur Apify.
--timeout <seconds>Définit le délai d’attente par source.
--cache-ttl <seconds>Définit la durée de vie du cache de découverte.
--no-cacheDésactive le cache de découverte.
--history-days <days>Définit le nombre de jours avant qu’une offre rapportée puisse réapparaître.
--no-historyRapporte chaque offre à chaque exécution.
--job-tracking / --no-job-trackingActive ou désactive les colonnes de suivi des candidatures du CSV.
--name <name>Définit le nom du profil.
--titles <titles>Définit les intitulés ciblés, séparés par des virgules.
--location <location>Définit le lieu cible.
--resume <path>Définit le chemin du CV.

Sweepy traite d’abord --logs, --version, --update, --check-update, --list-engines et --install-engines, puis convertit les documents. --setup vient ensuite, et un balayage s’exécute en dernier. Lancez une seule tâche par commande.

Lancer votre dernier profil avec --run​

Enregistrez un profil une fois, puis lancez un balayage avec une commande courte. Sweepy stocke le dernier profil enregistré dans profiles/.last_profile et le réutilise.

Terminal
sweepy --run

La commande résout un profil dans cet ordre :

  1. Le chemin dans profiles/.last_profile.
  2. Le profil le plus récent dans profiles/.
  3. profiles/custom_profile.yaml, puis profiles/paralegal_nyc.yaml, puis config.sample.yaml.

Quand aucun de ces fichiers n’existe, Sweepy signale une erreur et vous oriente vers --setup.

Créer un profil avec --setup​

L’assistant ouvre le lanceur de recherche et écrit un profil YAML à votre place.

Terminal
sweepy --setup
Tuile du lanceurCe qu’elle fait
Launch SweepLance un balayage avec le profil que vous avez ouvert. La ligne d’état vous avertit tant qu’aucun profil n’est ouvert.
Load ProfileVous laisse choisir un profil enregistré pour le balayage suivant.
Sweepy's ToolboxOuvre les entrées de la boîte à outils listées ci-dessous.
Build ProfilePose des questions en langage simple, puis enregistre un nouveau profil.
Sweep SettingsModifie le poids des mots-clés, les limites de fiches, le style du rapport, le comportement de l’historique et les colonnes de suivi du CSV.
Exit SweepyEnregistre vos modifications et revient au shell.

Sweepy's Toolbox contient les actions restantes :

Entrée de la boîte à outilsCe qu’elle fait
Edit an existing profileCharge un profil depuis profiles/ et vous laisse le modifier, avec une option pour les colonnes de suivi.
Manage job enginesActive ou désactive les moteurs et modifie leurs paramètres.
Download job enginesInstalle les moteurs optionnels après votre confirmation.
Add or edit aggregatorsActive les flux et gère les agrégateurs personnalisés.
Toggle debug loggingInverse la valeur debug du profil.
Show helpAffiche l’aide de l’assistant.
Show recent logsAffiche les entrées de journal de débogage les plus récentes.
Convert a document to PDF (bonus)Convertit un fichier DOCX, DOC, TXT, MD ou PDF et revient à la boîte à outils.
Update SweepyRécupère le code le plus récent et réinstalle les dépendances.
ExitFerme l’assistant depuis la boîte à outils.

Relancez l’assistant à tout moment pour créer un autre profil ou modifier un profil existant. Il ne supprime jamais vos anciens profils. La page Configurer Sweepy détaille chaque question.

Convertir un document en PDF (bonus)​

Sweepy's Toolbox convertit un document même sans profil. Choisissez Convert a document to PDF (bonus), puis indiquez un chemin à Sweepy.

EntréeCe que fait Sweepy
.docxReconstruit un texte propre avec python-docx et reportlab, puis se rabat sur Microsoft Word.
.docEffectue le rendu via Microsoft Word, qui exige le paquet docx2pdf.
.txt, .mdEffectue le rendu du texte avec des titres et des puces.
.pdfLaisse passer le fichier, ou le copie vers le chemin de sortie que vous nommez.

Sweepy affiche un avertissement pour un chemin invalide et rouvre l’invite. Une faute de frappe vous ramène à l’assistant.

Aller directement à un profil​

Ajoutez --profile pour ouvrir un profil à modifier sans le lanceur :

Terminal
sweepy --setup --profile profiles/paralegal_nyc.yaml

L’assistant préremplit l’écran de relecture avec les valeurs actuelles de ce fichier.

Créer un profil sans invites​

Scriptez un profil quand vous avez besoin de la même configuration sur chaque machine. Ajoutez --setup --non-interactive et passez chaque valeur comme option :

Terminal
sweepy --setup --non-interactive `
--name "Alex Rivera" `
--titles "Technical Writer,UX Writer" `
--location "New York, NY" `
--resume C:\Users\Alex\sweepy\resume.pdf `
--sources jobspy,openroles `
--openroles-companies figma,stripe,notion `
--timeout 120 --no-cache

Sweepy vérifie chaque moteur activé avant d’écrire le fichier. Une valeur manquante, comme les identifiants d’entreprise OpenRoles, affiche Error: et quitte avec le code 1. Sans --profile, Sweepy construit le nom de fichier à partir de votre nom et de votre premier intitulé, donc le profil d’Alex s’enregistre dans profiles/alex_rivera_technical_writer.yaml. Ajoutez --profile <path> pour mettre à jour un fichier existant à la place.

Mises à jour de Sweepy​

Récupérez le code le plus récent et réinstallez les dépendances avec :

Terminal
sweepy --update

Sweepy récupère le dépôt distant origin, avance la branche courante et lance python -m pip install -r requirements.txt. Il refuse de s’exécuter quand des fichiers suivis contiennent des modifications non validées, donc il n’écarte jamais vos modifications locales. Préférez la vérification en lecture seule pour savoir si une mise à jour existe :

Terminal
sweepy --check-update

Update Sweepy dans Sweepy's Toolbox lance la même mise à jour.

Gérer les moteurs de recherche d’emploi​

Listez chaque moteur, les sites qu’il lit et son état d’installation :

Terminal
sweepy --list-engines

Téléchargez les moteurs optionnels :

Terminal
sweepy --install-engines all

L’ensemble all ignore JobDrop tant que JobSpy conserve sa version épinglée en conflit. Installez JobDrop séparément avec --allow-engine-conflicts :

Terminal
sweepy --install-engines jobdrop --allow-engine-conflicts

L’installation d’un moteur le laisse désactivé. Ajoutez-le à sources.enabled dans un profil ou passez --sources pendant une configuration sans interface. La commande quitte avec le code 1 quand une installation échoue. La page Moteurs optionnels détaille chaque moteur.

Lancer un balayage avec --profile​

Gardez un profil par ville ou par type de poste, puis pointez --profile vers celui que vous voulez. Sweepy fait le reste.

Terminal
sweepy --profile profiles/paralegal_nyc.yaml

Remplacez par votre propre nom de fichier. Préférez --run quand vous voulez que Sweepy réutilise le dernier profil enregistré.

astuce

Stockez un profil par ville ou par type de poste. Changez un nom de fichier pour passer d’une recherche à l’autre.

Déroger à une seule exécution​

--run et --profile acceptent trois dérogations. Chacune s’applique à cette commande et laisse le profil intact.

Terminal
sweepy --run --no-dedupe
sweepy --run --include-seen
sweepy --run --reset-history

--no-dedupe conserve l’annonce de chaque site quand deux sites publient le même poste. Un balayage ne rapporte que les nouvelles offres, et history.retention_days dans le profil fixe la fenêtre à quatre jours par défaut. --include-seen rapporte aussi les offres masquées. Lancez --reset-history seul pour vider cet historique et quitter sans balayage.

Ce qui se passe pendant un balayage​

Chaque exécution suit les cinq mêmes étapes, dans le même ordre.

ÉtapeCe qui se passe
1. Chargement du profilLit votre fichier YAML et vérifie les paramètres.
2. DécouverteLance les extracteurs sur vos plateformes activées et collecte les offres.
3. VérificationRetire les liens morts et capte les redirections soft 404. Les offres que la vérification ne peut pas confirmer restent dans l’exécution.
4. NotationAnalyse votre CV PDF ou DOCX pour le chevauchement de termes, puis rédige un Application Tip pour chaque poste.
5. GénérationConstruit les fichiers PDF, CSV et JSON horodatés. Ajoutez png à vos formats d’export pour obtenir des images de page.

Le terminal affiche chaque étape de [1/5] à [5/5] pendant le travail. La page Lancer votre premier balayage montre la sortie complète.

Convertir un DOCX en PDF avec --docx​

Donnez un fichier Word à --docx. Sweepy le convertit, enregistre le PDF et quitte.

Terminal
sweepy --docx path/to/resume.docx

Sweepy demande ensuite une destination pour le PDF.

Sortie du terminal
Where should the PDF go? (leave blank to save next to the DOCX):

Appuyez sur Entrée avec une réponse vide, et le PDF se place à côté du DOCX avec le même nom de base. Tapez plutôt un chemin complet pour l’enregistrer ailleurs. Dans les deux cas, Sweepy affiche PDF saved: et l’emplacement final.

Remarque

Sweepy reconstruit d’abord le PDF à partir du texte du DOCX. Quand votre machine dispose de Microsoft Word, Sweepy se rabat sur docx2pdf pour un rendu visuel plus fidèle.

Convertir n’importe quel document avec --convert​

--convert s’exécute sans invite et écrit le PDF à côté du fichier d’origine. Pointez-le vers un fichier .docx, .doc, .txt, .md ou .pdf.

Terminal
sweepy --convert path/to/resume.docx
Sortie du terminal
PDF saved: C:\Users\Alex\sweepy\resume.pdf

La sortie conserve le nom source et change l’extension, donc notes.md devient notes.pdf dans le même dossier. Un fichier source .pdf est déjà en place, donc Sweepy affiche This file is already a PDF: et laisse le fichier intact.

EntréeCe que fait Sweepy
.docxReconstruit un texte propre avec python-docx et reportlab, puis se rabat sur Microsoft Word.
.docEffectue le rendu via Microsoft Word, qui exige le paquet docx2pdf.
.txt, .mdEffectue le rendu du texte avec des titres et des puces.
.pdfLaisse le fichier intact et indique son chemin.

Un fichier manquant ou non pris en charge affiche Error: et quitte avec le code 1. La commande reste donc sûre dans des scripts et des tâches planifiées.

Une fois le PDF créé, pointez resume.path dans votre profil vers ce fichier et lancez un balayage.

Vérifier votre version avec --version​

Utilisez cette commande pour confirmer que le moteur et ses bibliothèques sont correctement installés.

Terminal
sweepy --version
Sortie du terminal
Sweepy v3.0.0
Python 3.13.1 | pymupdf 1.28.2 | reportlab 5.0.1
Ready to sweep.

Si pymupdf ou reportlab affiche MISSING, réinstallez vos dépendances. La page Installation couvre cette étape.

Activer la journalisation de débogage​

Les journaux de débogage enregistrent ce que fait le moteur, étape par étape. Activez-les avec une option, un paramètre de profil ou une variable d’environnement.

MéthodeOù la définirCombien de temps elle dure
Option --debugAjoutez-la à votre commande de terminal.Dure seulement pour cette exécution.
debug: trueAjoutez-la à votre profil YAML.À chaque exécution jusqu’à sa suppression.
SWEEPY_DEBUG=1Définissez-la comme variable d’environnement.À chaque exécution jusqu’à la fermeture du terminal.

Ajoutez l’option à n’importe quel balayage :

Terminal
sweepy --debug --profile profiles/paralegal_nyc.yaml

Ou activez la journalisation de façon permanente dans votre profil :

profiles/paralegal_nyc.yaml
# Write a rotating debug log under logs/ on every run.
debug: true

Ou définissez plutôt la variable d’environnement :

Terminal
$env:SWEEPY_DEBUG = "1"
sweepy --profile profiles/paralegal_nyc.yaml

Sous macOS ou Linux, remplacez la première ligne par export SWEEPY_DEBUG=1.

Sweepy écrit les journaux dans logs/ au sein du dossier de l’application. Envoyez-les ailleurs avec --log-dir :

Terminal
sweepy --debug --log-dir C:\Users\Alex\sweepy-logs --profile profiles/paralegal_nyc.yaml

Pour lire les entrées les plus récentes sans ouvrir de fichier, lancez :

Terminal
sweepy --logs
Remarque

La commande --logs affiche No debug logs found. Run Sweepy with --debug to enable logging. tant qu’aucun journal de débogage n’existe.

Planifier des exécutions quotidiennes​

Les équipes de recrutement publient de nouveaux postes toute la semaine. Lancez la même commande chaque matin, et vous captez ces offres tôt.

Terminal
sweepy --profile profiles/paralegal_nyc.yaml

Une exécution qui trouve de nouvelles offres écrit des fichiers de rapport. Sweepy insère le profil, la date et l’heure dans chaque nom de rapport, comme dans paralegal_nyc_2026-10-08-081500.pdf et paralegal_nyc_2026-10-08-081500.csv. Sweepy lit l’heure en temps universel coordonné, donc l’horodatage peut différer de votre horloge locale. L’horodatage empêche une exécution d’écraser une autre, donc results conserve l’historique complet de votre recherche.

Les balayages ne rapportent que les nouvelles offres, et Sweepy mémorise chaque offre rapportée pendant quatre jours par défaut. Quand un matin n’apporte rien de nouveau, l’exécution affiche No new postings since your last sweep et n’écrit aucun fichier de rapport. Il en va de même quand tous les liens découverts ont expiré.

Planifier sous Windows​

  1. Ouvrez le Planificateur de tâches depuis le menu Démarrer.
  2. Choisissez Créer une tâche de base et nommez-la par exemple Sweepy morning sweep.
  3. Choisissez Quotidienne, puis une heure de démarrage comme 8 h 00.
  4. Pour l’action, choisissez Démarrer un programme.
  5. Définissez Programme/script sur votre exécutable Python. Lancez (Get-Command python).Source dans PowerShell pour afficher ce chemin.
  6. Définissez Ajouter des arguments sur le chemin complet de swee.py plus le profil : "C:\Users\Alex\sweepy\swee.py" --profile profiles\paralegal_nyc.yaml.
  7. Définissez Démarrer dans sur votre dossier sweepy. Le moteur trouve profiles et écrit results depuis ce dossier.

Planifier sous macOS et Linux​

  1. Ouvrez votre crontab avec crontab -e.
  2. Ajoutez une ligne qui lance le balayage à 8 h 00 chaque jour, dans le fuseau horaire de la machine.
Terminal
0 8 * * * cd /path/to/sweepy && python3 swee.py --profile profiles/paralegal_nyc.yaml

La partie cd compte. Le moteur lit profiles et écrit results par rapport au dossier depuis lequel vous le lancez. Utilisez le python3 qui a installé les paquets de Sweepy. Testez-le avec python3 -c "import swee".

attention

Une exécution planifiée démarre sans fenêtre de terminal, donc les réglages de shell des sessions précédentes ne s’appliquent pas. Lancez la commande à la main une fois. Confirmez qu’elle fonctionne avant de la planifier.