C’est la capacité d’une application à s’adapter à la charge, c’est-à-dire le nombre d’utilisateurs pouvant être servis simultanément.
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.
Table des matières Adapter Bridge Composite Decorator Façade Flyweight Proxy Adapter L’objectif du pattern Adapter est de faire passer quelque chose pour autre chose sans perturber le reste de l’application.

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.
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 :
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.
Table des matières Singleton Factory Abstract Factory Builder Are you fluent ? Prototype Singleton C’est probablement le design pattern le plus connu et le plus utilisé.

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.

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.

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).
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 !
Suite à la rédaction d’un “Guide du développeur” pour ma boite, j’ai eu l’idée de rédiger un article référençant les bonnes pratiques en C#/.NET. L’idée n’est pas de faire une énième liste comme il en existe des dizaines sur le net, mais d’essayer d’apporter des astuces pertinentes et argumentées par rapport à mon expérience. Et surtout, ce que je souhaiterais, c’est d’avoir des retours sur VOS astuces, VOUS lecteurs de mon blog, basées sur VOS expériences.
