Développement

Tests automatisés des patterns Grok pour le plugin Logstash

Quand on souhaite analyser l'usage d'une API REST, la suite logicielle ELK se révèle être un outil simple et extrêmement puissant. Elle permet de suivre en temps réel l'usage des APIs, détecter des régressions suite à un déploiement, détecter les problèmes de performances, détecter des erreurs d'implémentation ou d'algorithmie dans les applications clientes, de retracer une activité utilisateur, Même si les logs d'accès HTTP sont supportés en standard, il est intéressant de les personnaliser pour obtenir un niveau de détail…
Lire d'avantage
Développement

Postman – supporter l’OAuth2 avec le Resource Owner Password Credentials Grant

Même si curl est mon outil préféré pour appeler des APIs, il faut avouer qu'il est parfois plus confortable d'utiliser une IHM telle que Postman. Ce dernier supporte de nombreux modes d'authentification dont l'OAuth2. Cependant, OAuth2 propose 4 types d'autorisation. Or, Postman n'en supporte que 2 actuellement : Authorization Code et Client Credentials. Pour autant, cela ne veut pas dire qu'il n'est pas possible d'utiliser Postman pour interagir avec une API avec un type d'autorisation OAuth2 non supporté comme le…
Lire d'avantage
Développement

HTTPie – un client HTTP plus intuitif

Depuis quelques années, curl est devenu le programme que j'utilise le plus (après mes butineurs). Dans un monde où les APIs sont omni-présentes, c'est un portail vers l'infini et l'au-delà ! Il permet de faire des recherches, de télécharger des fichiers, de construire une infrastructure, d'envoyer des SMS, d'insérer des données dans une base, de livrer une application, d'exécuter du code, de se téléporter (pour attraper les pokémons régionaux), Même s'il est assez simple d'utilisation, il lui manque un petit…
Lire d'avantage
Développement

join multi-fichiers CSV

Récemment, j'ai dû assembler le contenu de plusieurs fichiers CSV en effectuant une jointure sur une clé unique pour chaque ligne. Contexte Les fichiers se composent de 2 colonnes. La première est une clé et la seconde une valeur quelconque. Les clés ne sont pas toutes présentes dans chaque fichier. Les lignes de ces fichiers peuvent être triées par ordre alphabétique sur la clé. Pour information, le séparateur de champ utilisé est la virgule. De plus, les fichier ne contiennent…
Lire d'avantage
Développement

Serverless Framework débarque chez Google Cloud

Récemment, Serverless Framework a annoncé le support des Google Cloud Functions. Même s'il était possible de déployer simplement des Google Cloud Functions via le CLI officiel, ce framework permet d'industrialiser le processus de développement et déploiement des fonctions. Reprenons notre classique exemple et voyons comment le déployer avec ce nouveau couple. La Google Cloud Function Sans surprise, l'initialisation du projet se fait de cette façon : $ serverless create --template google-nodejs --path my-service Serverless: Generating Serverless: Generating boilerplate in "C:\Users\pnom\serverless\google\my-service"…
Lire d'avantage
Développement

A la découverte de Webtask

Dans l'univers des Function as a Service, il existe un fournisseur qui commence à être connu. Il se nomme auth0 et propose sa propre solution d'exécution de fonction : Webtask. Très orienté webhook, ce service offre quelques fonctionnalités intéressantes et la mise en œuvre semble plutôt simple. Les langages supportés sont , Express et C#. Reprenons l'exemple simple utilisé pour découvrir Serverless Framework. Installation L'installation du Webtask CLI nécessite NPM et s'exécute avec la ligne de commande suivante : $…
Lire d'avantage
Développement

Premiers pas avec Azure Functions

Oui, vous ne rêvez pas. Nous allons parler aujourd'hui de Microsoft Azure. Et plus particulièrement du service Azure Functions qui permet d'exécuter du code. Les fonctions Azure peuvent être déclenchées sur réception d'un événement Azure (Blob Storage, Table Storage, Azure DocumentDB, Bot Framework, ordonnanceur, HTTP, ...) ou externe (Box, DropBox, OneDrive, SendGrid, ...). Actuellement, les langages supportés sont le C#, F# et Javascript. Comme nous sommes sur des outils Microsoft, nous allons utiliser les interfaces graphiques fournies. Mais il faut…
Lire d'avantage
Développement

Serverless Framework – créer une API REST avec DynamoDB

Lors du précédent article, nous avons vu comment créer une API serverless avec Serverless Framework. Pour implémenter une API REST, il faut pouvoir persister les données dans une base de données. AWS propose une base de données NoSQL scalable sans avoir à gérer d'instance. En d'autres termes, une base de données dans l'esprit serverless : DynamoDB. Au travers des templates Cloud Formation, Serverless Framework supporte DynamoDB. Nous allons donc voir comment créer étape par étape une API REST de messages.…
Lire d'avantage
Développement

Serverless Framework ou l’API Gateway facile

Nous venons de découvrir comment Serverless Framework permet de déployer simplement une fonction sur AWS Lambda. Ce framework supporte également l'API Gateway d'AWS. Or, nous avions déjà vu comment exposer une fonction Lambda avec l'API Gateway. Voyons maintenant comment le faire avec ce framework. La fonction Lambda Pour rappel, vous pouvez initier un nouveau projet serverless avec la commande suivante : $ serverless create --template aws-nodejs --name hello-world Ensuite, voici la fonction lambda à exposer et qui doit se trouver…
Lire d'avantage
Développement

Premiers pas avec Serverless Framework

Il y a quelques temps, nous avions découvert comment déployer du code sur AWS Lambda. Même si ce déploiement est assez simple, il y a quelques opérations annexes à faire pour configurer la sécurité ou les traces applicatives par exemple. De plus, le déploiement unitaire de fonctions a pour conséquence de multiplier le nombre de commandes à exécuter. Heureusement pour nous, il existe un framework qui permet d'augmenter notre productivité quand on souhaite monter une architecture serverless sur AWS (pour…
Lire d'avantage