Réalisation · application client, automatisation

Un robot qui surveille un site de réservation et prévient dès qu'une place se libère.

Des places très demandées se libéraient sans prévenir sur un site tiers, et le client ne voulait plus recharger la page à longueur de journée. Nous avons écrit un programme .NET qui lit le site comme un visiteur, dans un navigateur sans interface. Dès qu'une place apparaît, il envoie un e-mail et un SMS.

01/Le contexteD'où nous sommes partis

Des places qui se libèrent sans prévenir, et personne pour guetter

Le besoin tenait en une phrase : être averti à temps, sans y passer ses journées. Pour chaque situation d'avant, ce que fait le robot.

  1. 01Les places se libèrent à n'importe quelle heure, sans annonce.Le robot vérifie le site à intervalle régulier, de lui-même, tant que la machine tourne.
  2. 02Guetter à la main, c'est recharger la même page toute la journée.Il ouvre le site dans un navigateur sans interface, lit la page comme un visiteur et repère les disponibilités.
  3. 03Une place repérée trop tard est déjà prise.Dès qu'une disponibilité apparaît, un e-mail et un SMS partent, avec son détail.
  4. 04Un robot qui s'arrête en silence donne une fausse tranquillité.Une erreur déclenche une nouvelle tentative, comptée à l'écran, et chaque vérification est écrite dans un journal.
02/Ce que nous avons construitLivré au client

Un programme de bureau qui guette à la place d'une personne

Une fenêtre pour piloter, un navigateur invisible pour lire, deux canaux pour prévenir.

  • 01
    Fenêtre de pilotage. Chaque surveillance se démarre et s'arrête à part, avec son état affiché en clair.
  • 02
    Trois surveillances indépendantes. Trois cibles suivies en parallèle, chacune avec sa durée d'exécution.
  • 03
    Navigation automatisée. Selenium pilote Chrome sans interface graphique, en arrière-plan.
  • 04
    Lecture de la page. Les disponibilités affichées sont extraites de la page, comme un visiteur les lirait.
  • 05
    Vérification à intervalle régulier. Le passage se répète de lui-même, sans geste humain.
  • 06
    Reprise sur erreur. Une page qui ne répond pas déclenche une nouvelle tentative, dont le numéro s'affiche dans la fenêtre.
  • 07
    Alertes. Un e-mail et un SMS dès qu'une place se libère, avec le détail de la disponibilité.
  • 08
    Journal. Chaque vérification est consignée, pour retrouver ce qui s'est passé et repérer une anomalie.
03/Un écranCapture d'origine, rien à flouter

Un écran, à l'échelle

La fenêtre de pilotage, telle qu'elle a été capturée à l'époque. Le site surveillé n'y apparaît pas ; rien n'est flouté.

Fenêtre de pilotage du robot : trois surveillances, chacune avec ses boutons de démarrage et d'arrêt, son état, sa durée d'exécution et son dernier lancement
Écran 01La fenêtre de pilotage, capture d'origine : trois surveillances, deux démarrées, une à l'arrêt.

Chaque surveillance se démarre et s'arrête à part

Trois cibles sont suivies en parallèle. Pour chacune, l'état s'affiche en clair avec sa durée d'exécution ; la dernière indique aussi son heure de lancement et le numéro de la tentative en cours.

04/TechnologiesCe que nous avons choisi, et pourquoi

Un programme .NET qui pilote un vrai navigateur

Le robot lit la même page qu'un visiteur, à travers un navigateur piloté par le programme.

  • ProgrammeApplication Windows sur .NET, avec sa fenêtre de pilotage.
  • NavigateurSelenium WebDriver, qui pilote Chrome sans interface graphique, en arrière-plan.
  • LectureExtraction des disponibilités depuis la page affichée.
  • AlertesE-mail et SMS, avec le détail de la disponibilité.
  • RepriseNouvelle tentative automatique sur erreur, compteur visible dans la fenêtre.
  • TracesJournal détaillé de chaque vérification, pour repérer une anomalie.

Et maintenant

Une vérification que quelqu'un refait à la main toute la journée ?

Ce robot a remplacé une surveillance par une alerte. Décrivez-nous la vôtre, nous vous dirons ce qui est faisable, avec un délai et un ordre de prix.

Discuter de votre projet

Réponse sous 24 h ouvrées, par l'un des deux fondateurs. Ou par téléphone : 07 59 96 14 99.