Centraliser les messages d’erreur sous React avec Redux

Le but de cet article est de vous proposer une solution permettant de centraliser vos messages d’erreur émis par vos réponses HTTP depuis un composant React intégrant par exemple l’affichage d’une modal. Dans la version 16 de React, la notion d’Error Boundary a été introduite permettant d’intercepter les messages d’erreur JavaScript au niveau du composant React, via la méthode componentDidCatch(error, info). Cependant, cette détection d’erreur n’intervient que lors du rendu du composant. Ainsi, comment faire pour intercepter et gérer de la même manière un message provenant d’une réponse de notre BackEnd ? Cet article part de l’idée que vous avez déjà quelques notions d’utilisation de React et que vous partez d’un projet existant. Cependant, si vous débutez je vous invite …

Application Serverless avec AWS Lambda et DynamoDB

Contexte & objectif Dans ce cas pratique nous allons nous intéresser aux architectures Serverless au travers de quelques services AWS à savoir S3, Lambda, DynamoDB, CloudWatch et IAM. Le point central de ce Lab étant AWS Lambda. En effet, AWS Lambda est un service de calcul sans serveur (serverless) qui exécute un code en réponse à des événements et qui gère automatiquement les ressources de calcul sous-jacentes pour le développeur. Avec AWS Lambda on paie uniquement les requêtes distribuées et le temps de calcul requis pour exécuter notre code. La facturation est calculée par incréments de 100 millisecondes. Ci-dessous un aperçu des tarifs approximatifs par 100 ms correspondant aux différentes tailles de mémoire. Le détail complet des tarifs AWS est …

Automatisation des tests dans une chaîne de build continue

CONTEXTE Il s’agit d’ajouter l’automatisation des tests dans une chaîne de build continue d’une application EDI dans le domaine de la logistique. L’échange de données informatisé (EDI) est une technique qui remplace les échanges physiques de documents entre entreprises (commandes, factures, bons de livraison,…) par des échanges, selon un format standardisé, entre ordinateurs connectés par liaisons spécialisées ou par un réseau (privatif) à valeur ajoutée (RVA). Les données sont structurées selon des normes techniques internationales de référence (ex : Edifact). Pour notre cas, l’application EDI effectue les échanges entre la grande distribution (AUCHAN, Carrefour, Lerclerc,…) et les sociétés industrielles (Nestlé, Danone, …). ARCHITECTURE DE L’INTEGRATION CONTINUE DE L’APPLICATION EDI PROBLEMATIQUE A chaque fois qu’une nouvelle version de l’application était disponible, …

Impulse by INGENIANCE recrute de nouveaux passionnés !

INGENIANCE est un cabinet de conseil et d’ingénierie en systèmes d’information spécialisé en finance de marché. Grâce à une croissance continue de plus de 30% par an depuis 2011, INGENIANCE conforte sa position d’intervenant majeur dans le conseil et ingénierie en finance de marché sur la place de Paris. Le monde de la tech évoluant très rapidement, nous avons créé une entité specialisée, Impulse by INGENIANCE, pour tester de nouvelles technologies, développer une expertise et proposer des solutions de pointe à nos clients. Impulse by INGENIANCE est constituée de 4 Labs dédiés aux technologies du Big Data, du génie logiciel, de la philosophie DevOps et de la Blockchain. Nous sommes une communauté de passionnés par le monde de la data …

Metamask, le crypto wallet des applications décentralisées

La Blockchain Ethereum, connue principalement par la cryptomonnaie qu’est l’Ether, est également le foyer de nombreuses applications décentralisées, aussi appelées Dapps (Decentralized applications). Ces Dapps utilisent des Smart Contracts, déployés sur Ethereum, qui contient le code inhérent à leur fonctionnement. Toutes ces Dapps, que ce soit pour manipuler directement des Ethers (échange contre un bien ou un service), ou pour dépenser du gas (montant d’ether indispensable pour mener à bien une transaction, équivalente à un appel de code contenu dans un Smart Contract), doivent vérifier que le montant suffisant d’Ethers est stocké sur l’adresse Ethereum associée à l’utilisateur, ce qui est factuellement contraignant et compliqué à mettre en place. Metamask se place comme intermediaire entre la Blockchain et une application …

Application console Java avec classe de base

Il est fréquent de devoir exécuter des tâches planifiées, pour une ou plusieurs exécution(s), qu’elles soient récurrentes ou non. Dans notre cas, on veut planifier les envois de mails pour notre plateforme de formations internes. Ce qui est important, c’est que ces tâches planifiées soient gérées par un batch/agent extérieur et que cet agent ait une structure permettant une très bonne facilité de maintenance et de déploiement. C’est là qu’entre en jeu la notion d’héritage de classe. L’idée est que nos agents vont tous hériter d’un socle commun donnant les outils nécessaires à leur bon fonctionnement. Architecture : Notre agent a besoin d’initialiser une tâche. Notre agent a besoin de gérer son statut. Notre agent a besoin de loguer des …

Gérer le caching via un service Angular 5

Qu’est-ce que le cache ? Le cache web permet une utilisation optimale des ressources, et donc une amélioration des performances du serveur web, notamment via un affichage plus rapide des pages web. La plus grande partie de la mise en cache se produit sans que l’utilisateur ne le sache. Par exemple, lorsqu’un utilisateur retourne sur une page Web qu’il a récemment consulté, le navigateur peut extraire ces fichiers du cache au lieu du serveur d’origine car il a stocké l’activité de l’utilisateur. Le stockage de ces informations permet à l’utilisateur de gagner du temps en y accédant plus rapidement et de réduire le trafic sur le réseau. Quel genre d’utilisation ? Pour tout les sites recevant un grand nombre de …

Déploiement WordPress et MySQL sur un Cluster Kubernetes via Openstack

Dans le cadre du partenariat entre INGENIANCE et City Network, un projet a été lancé par le Lab DevOps. Ce projet consiste en un déploiement d’une application containérisée (WordPress + MySQL) sur un cluster Kubernetes via un cloud Openstack. Pourquoi Kubernetes ? Dans le cadre d’applications containérisées, il est nécessaire de pouvoir déployer et gérer ces applications facilement. Pour ce faire, un orchestrateur est l’outil indispensable. Actuellement, Kubernetes est l’un des orchestrateurs les plus populaires. C’est le géant Google qui était à l’initiative de ce projet. Maintenant c’est un projet open-source grandissant qui tend à se présenter comme le leader du marché de l’orchestration de containeurs. Cela est dû à la maturité de la solution par rapport à ses concurrents …