Authentification Azure AD avec ReactJS

J’ai récemment eu besoin de mettre en place une authentification via Azure AD dans une application web ReactJS. Globalement, la procédure est assez simple, mais il y a tout de même quelques subtilités sur lesquelles j’ai perdu pas mal de temps et que je souhaiterais partager ;) Côté client, c’est la librairie ADAL.js (Active Directory Authentication Library for Javascript) qui va nous aider. Microsoft supporte de nombreuses plateformes différentes en fonction des environnements client ou serveur visés (plus d’informations sur ce lien).

Continuer

Je vais aujourd’hui m’essayer à un nouveau format d’article. Celui-ci à pour objectif d’aborder un sujet technique que je trouve intéressant mais de manière moins approfondie que d’habitude, c’est-à-dire avec peu ou pas de code. L’idée est de se familiariser avec le sujet pour être capable d’en parler et d’ouvrir des portes pour creuser plus profond si nécessaire (ce sera le cas avec ce thème, j’ai plusieurs articles d’approfondissement dans ma “bannette”).

Continuer

Les design patterns - Structural (3/4)

Après les patterns creationals (que vous pouvez retrouver ici), je vais maintenant aborder les structural patterns ou patrons de structure. Il en existe 7 et ils permettent de définir comment organiser nos objets. Si vous le souhaitez, vous pouvez retrouver l’introduction sur les design patterns ici. Adapter L’objectif du pattern Adapter est de faire passer quelque chose pour autre chose sans perturber le reste de l’application. Il est ainsi capable de rendre compatible deux éléments ne parlant pas le même langage, par exemple, une application travaillant avec le format XML mais utilisant un service de données qui renvoi du JSON.

Continuer

Les Progressive Web Apps

De retour pour un nouvel article sur un sujet à la mode : les Progressive Web Apps ! Cela fait quelques mois que j’ai envie d’écrire sur cette technologie que je trouve très intéressante et pertinente à l’heure actuelle. Les Progressive Web Apps, que je vais abréger par PWA dans la suite de l’article, sont nées en 2015 sur l’impulsion de Frances Berriman et de l’ingénieur de chez Google Alex Russell.

Continuer

SQL : l'instruction MERGE

Je vais aujourd’hui vous faire partager un sujet qui est dans ma to-do list depuis plusieurs mois et dont je me sers très souvent : l’instruction MERGE en SQL. Cette instruction est apparue avec SQL Server 2008 et permet de combiner plusieurs opérations DML (Data Modification Language -> INSERT, UPDATE, DELETE) en une seule instruction. Elle est très pratique pour synchroniser 2 tables entre elles. Voici les principaux éléments à mettre en place, que je vais appliquer à un exemple :

Continuer

Les design patterns - Creational (2/4)

Suite à l’article d’introduction, les premiers types de patterns que je vais aborder sont les creational patterns ou patrons de création. Il en existe 5 et ils permettent de définir la manière de faire l’instanciation et la configuration des classes ou des objets de manière souple tout en minimisant le couplage et en maximisant la réutilisation du code. Singleton C’est probablement le design pattern le plus connu et le plus utilisé.

Continuer

Je souhaite revenir aujourd’hui sur un sujet qui, à mes yeux, est très important mais malheureusement assez méconnu des développeurs : les design patterns. Lors des quelques entretiens que j’ai pu faire passer, je me suis rendu compte que cette notion est soit mal maitrisée (quelques mots-clés/buzzword cités ça et là mais sans réelle explication derrière) soit carrément inconnue ! Je trouve ça dommage car c’est quelque chose de très utile dans son travail quotidien et nous allons voir pourquoi dans cet article.

Continuer

CSS Grid Layout

Je vais aujourd’hui vous parler d’une nouvelle méthode de disposition CSS que j’ai eu l’occasion d’utiliser dans un récent projet : CSS Grid Layout ! Qu’est-ce que CSS Grid Layout ? Cette propriété CSS a été dévoilée officiellement en mars 2017 et son support dans la majorité des navigateurs fut relativement rapide (environ 70% en quelques mois, ce qui est assez important pour être souligné !). Je vous invite à consulter le site CanIUse pour le vérifier.

Continuer

SSIS Tips : utilisation et manipulation des VARCHAR(MAX)

J’ai récemment eu besoin de manipuler des données SQL du type VARCHAR(MAX) via SSIS. Dans SQL Server, ce type permet de stocker des données de type chaîne de caractères d’une taille jusqu’à 2 Go. Voilà le scénario que je souhaitais réaliser : Une procédure stockée me retourne une donnée de type VARCHAR(MAX) représentant un contenu XML J’appelle cette procédure dans une tâche de type “Script Task” et je stock le résultat dans une variable J’utilise cette variable en tant que paramètre entrant dans une OleDB Source d’un DataFlow Je récupère le résultat via une OleDB Destination A 1ère vue, ce scénario ne pose pas de soucis particulier, mais nous allons voir que SSIS a une gestion très partielle du type de données VARCHAR(MAX).

Continuer

J’ai été récemment confronté à un problème avec l’utilisation de SSIS et je souhaite vous faire partager l’astuce qui m’a permis de m’en sortir ;) Le projet sur lequel je travaille utilise de nombreux traitements SSIS pour importer de la donnée et la manipuler (traitements, calculs…). Ces traitements utilisent le plus souvent un Data Flow composé d’une source OleDB et d’une procédure stockée. Le problème est le suivant : certaines de mes procédures stockées utilisent des tables temporaires et dans ce cas, SSIS n’est pas capable de générer le mapping entre les colonnes sources et les colonnes cibles !

Continuer

Photo de l'auteur

Matthieu Anceret

Blog d’un développeur Tourangeau passionné

Software Architect @C2SBouygues

France, Tours