Rechercher et reserver des vols en ligne de commande via flights-search-cli, Kiwi, Secret Flyer Scraper voire Amadeus Self-Service API ...
KarimIl est possible de chercher en ligne de commande sur son terminal préferé via Node.js. Pour cela installation par exemple de Flights Search CLI via NPM (rappel sur l'installation dans Linux => https://nodejs.org/en/download/package-manager/) :
https://www.npmjs.com/package/flights-search-cli
$ npm install flights-search-cli --global
On lance la commande pour rechercher son vol en répondant à quelques questions : exemple ici avec la recherche d'un vol Paris Alger entre le 21 et le 25 mars pour un maximum de 2000 $
$ flights search
On est redirigé vers le site web de Kiwi.com depuis on terminal qui sélectionne les vols et permet de réserver son billet au prix souhaité :
Sachant qu'il est possible de scraper des infos depuis leur API REST public :
https://docs.kiwi.com/aggregation_flights_API/
Une recherche des meilleurs prix est également possible via Secret Flyer Scraper :
https://www.npmjs.com/package/secret-flyer-scraper
$ npm install -g secret-flyer-scraper $ secretflyer --location=Paris
La visualisation des vols et leurs simulations sont possible par exemple depuis OpenFlights :
https://openflights.org/?lang=fr_FR
https://github.com/jpatokal/openflights/blob/master/INSTALL
ou bien via Flights Map :
https://www.npmjs.com/package/@immfly/flights-map
https://immfly.github.io/flights-map-demo.github.io/
$ npm install --save @immfly/flights-map
On eput aller encore plus loin avec une réservation de voyage complète en manipulant l'API d'Amadeus via un compte developpeur gratuit :
https://developers.amadeus.com/quick-start-guide
https://www.npmjs.com/package/amadeus
https://amadeus4dev.github.io/amadeus-node/
En ligne de commande via cURL :
$ curl --location --request POST "https://test.api.amadeus.com/v1/security/oauth2/token" \ --data "client_id=%20API_KEY&client_secret=API_SECRET&grant_type=client_credentials $ curl --location --request GET "https://test.api.amadeus.com/v1/shopping/flight-dates?origin=NCE&destination=PAR&duration=1"
Réponse en JSON de l'API REST :
https://documenter.getpostman.com/view/2672636/RWEcPfuJ
Ou via Nodejs :
$ npm install amadeus --save var Amadeus = require('amadeus'); var amadeus = new Amadeus({ clientId: 'Mettre son Token API', clientSecret: 'Mettre son API Secret' }); amadeus.referenceData.urls.checkinLinks.get({ airlineCode: 'BA' }).then(function(response){ console.log(response.data[0].href); }).catch(function(responseError){ console.log(responseError.code); });
A suivre ! ...