Livraison de projet : recruter ou faire appel à un service d’extension d’équipe TI ?
Votre équipe en interne fait face à des enjeux pour terminer et livrer un projet à temps. Que ce soit en raison d’un manque de ressources ou de connaissances, en tant que décisionnaire, il vous faut agir. Quelle stratégie allez-vous adopter : dois-je recruter pour agrandir mon équipe? Quelle(s) spécialité(s) dois-je cibler? Combien de temps cela
Développement web: Pourquoi Blazor est le framework idéal?
Blazor. Début novembre 2018, alors que ce n’était encore qu’un produit expérimental, j’en parlais lors d’un événement que nous avions organisé à nos bureaux. D’ailleurs, mon powerpoint pour la présentation avait été fait avec Blazor, j’en avais surpris plus d’un lorsque j’ai dévoilé le punch à la fin. J’ai suivi l’évolution de cette expérience, qui
Blazor – ArchUnit – Bracket Show Épisode 51
Dans cet épisode, nous avons brièvement discuté d’architecture pour nous amener sur un point intéressant, s’assurer qu’elle est respectée. Malgré que c’est possible de la mettre en place avec Visual Studio Enterprise, ce n’est pas le modèle le plus intuitif pour quelqu’un débutant en la matière, et ce n’est pas tout le monde qui a
Blazor – BlazoredModalTestContext – Bracket Show Épisode 50
Blazored Modal est une librairie Nuget pour Blazor qui permet de facilement mettre en place des écrans modales pour nos applications. Par contre, ce n’est pas aussi simple à tester qu’une page ou composante dû à la manière dont les choses sont mises en place pour son fonctionnement. Dans cet épisode, nous explorons un peu
Logiciel sur mesure : l’importance de se doter d’un bon outil de contrôle
Selon vos besoins d’affaires, la création d’un logiciel sur mesure peut s’avérer être un projet onéreux. Pour éviter que cela se transforme en gouffre économique, l’un des conseils que nous évoquions dans notre précédent article consiste à se doter d’outils de contrôle. Avoir les bons outils à disposition, c’est mettre davantage de chances de son
5 astuces pour éviter les dépassements de coûts liés à votre développement logiciel
Qu’il s’agisse de supprimer une tâche récurrente, gagner en productivité et en efficacité, les entreprises se tournent davantage vers la technologie pour subvenir à des besoins précis. Alors qu’il existe sur le marché une pléthore de logiciels favorisant la gestion de la paie, la communication au sein de différentes unités d’affaires ou encore l’automatisation du marketing,
La méthode du rubber duck debugging ou l’art de résoudre un problème quand on est programmeur.
Lorsque vous écrivez du code pour un logiciel, s’il y a bien une chose dont un programmeur est certain, c’est qu’à un moment donné il se retrouvera bloqué. Ce genre de situation arrive tout le temps et n’importe quel programmeur pourra vous le confirmer. Peu importe votre expérience que vous soyez débutant ou vétéran, vous
Test E2E avec Jean-Michel Gingras — Bracket Show, épisode 41
Dans cet épisode, nous allons essayer de comprendre ce qu’on entend par des tests End-to-End.
Tester en production – avec Mario Cardinal — Bracket Show, épisode 27
Dans cet épisode Mario Cardinal, architecte de longue date et co-annimateur du podcast Visual Studio Talk Show (http://visualstudiotalkshow.libsyn.com/) vient nous parler de son projet (https://to-do.studio/) et comment il compte le tester en production. Il est convaincu qu’en appliquant le « shift left testing » la qualité sera meilleure. http://visualstudiotalkshow.com https://to-do.studio/
Astuces et solution State Pattern – Bracket Show, épisode 36
Dans la série des trucs et astuces, voici un petit aperçu sur le patron de conception, le State Pattern. Présentation de l’un des nombreux patrons de conception Le patron état est un patron de conception (design pattern en anglais, ou encore modèle de conception), de la famille des patrons comportementaux. Il s’agit de l’un des
Patron de conception « Stratégie » — Bracket Show, épisode 34
Présentation du patron de conception « Stratégie » Single responsibility Open-closed principle Cas d’utilisation : avec et sans stratégie Exemples de code Tests Optimisation Tester les stratégies individuellement Implémentation de l’interface Classes minimalistes Conclusion : la stratégie permet de prendre un algorithme compliqué et le séparer en plusieurs morceaux qui n’ont chacun qu’une seule intention, un seul but pour
Histoire de C# de 2002 à 2019 — Bracket Show, épisode 35
La version 8 de C# vient d’être lancée et c’est l’occasion de retracer l’histoire de C# depuis la version 1.0 en 2002. Version 1.0 : précurseur de la programmation orientée-objet Classes, Structures, Interfaces, Événements, Propriétés, Délégations, Expressions, Statements, Attributs, Literals. Version 2.0 : Génériques, Types partiels, Méthodes anonymes, Nullable types, Itérateurs, Covariance et contravariance Version 3.0 : LinQ
Industrie 4.0 et Internet des objets
Le concept d’Internet des objets (Internet of things ou IoT) est à la base très simple. On parle parfois également de IIoT (Industrial Internet of Things) pour le secteur industriel. L’idée consiste tout simplement à relier des objets physiques au monde numérique par le biais de l’Internet. Cela permet de donner à ces objets leur
L’Agilité sur un nuage…
Avez-vous déjà entendu parler de plateformes comme Amazon Web Services (AWS), Google Cloud Platform ou Microsoft Azure? Savez-vous comment en tirer un maximum de bénéfices? Si on ne comprend pas bien les différents services offerts et comment ils peuvent interagir les uns avec les autres, effectuer la transition vers l’infonuagique (Cloud Computing) peut être un
Spikes et architecture émergente
Initialement introduite par l’Extreme Programming, il existe une technique qui consiste à ajouter un élément au carnet de produit (product backlog) qu’on peut qualifier de « Spike ». Il s’agit d’un item pour lequel l’équipe s’entend sur une limite de temps à investir. Le but est d’acquérir des connaissances qui sont nécessaires pour réduire le risque, pour
Retour sur la soirée Bièr&Teknö
La deuxième soirée Bièr&Teknö organisée par Pyxis Studio a été un franc succès! Le 1er novembre dernier, une trentaine de personnes s’étaient réunies pour assister à la présentation d’Éric de Carufel et Bruno Barrette : « Blazor & .NET : Une application web monopage (SPA) sans javascript » Les deux collègues ont exploré ce que Blazor peut et
Extensions Visual Studio — Bracket Show, épisode 30
Dans cet épisode, Marc-André Viau nous explique comment faire une extension à Visual Studio de A à Z, de « File — new project » jusqu’au déploiement sur le Marketplace. Marc-André nous parle notamment d’une extension Visual Studio sur laquelle il a travaillé durant son stage : FokusTask. Qu’est-ce qu’une extension Visual Studio? Application qui s’intègre à
.NET Core Localisation — Bracket Show, épisode 29
.NET Core nous apporte plusieurs nouvelles façons de faire les choses. Voyons comment s’y prendre pour faire la localisation de nos applications avec Bruno Barrette. Changements par rapport au framework .NET standard Comment démarrer Différentes manières de localiser Configuration Singleton Transient Options de localisation Mvc : ViewLocalization, DataAnnotationsLocalization Controller ViewModels Ressources contextuelles String format Attributs et
Astuces et Solution Explorer Scope — Bracket Show, épisode 28
Dans la série des trucs et astuces, voici un petit truc rapide pour vous faciliter la vie pour la navigation dans les fichiers d’une solution. Présentation d’une fonctionnalité de Visual Studio qui peut vous être utile pour gérer des projets avec beaucoup de dossiers. Dans les projets MVC : diviser en areas Domain Driven Design
Mocking — Bracket Show, épisode 26
Dans cet épisode, nous allons voir comment rendre notre code testable et y introduire le concept de mock pour éviter des tester les dépendances avec notre code. Comment arriver à faire du Mocking? Il ne s’agit pas d’une présentation des outils de Mocking qui présupposent que l’on a déjà notre code avec des interfaces
Unit Testing — Bracket Show, épisode 25
Dans cet épisode nous comparons trois des plus populaires « frameworks » de « unit testing » soit MSTest, NUnit et XUnit. Nous verrons comment ces différent « frameworks » fonctionnent. Survol des similarités et différences entre MSTest, NUnit et XUnit. Repository Évènements Processus asynchrone Return true Règles d’affaires et validation Tests avec NUnit: Attributs à utiliser TestFixture SetUp Tests paramétriques Theory :
Architecture, de « layered » à « clean » — Bracket Show, épisode 24
Dans cet épisode nous parlons de l’évolution de l’architecture logicielle à partir des modèles en couche (layered) juasqu’aux modèles plus modernes centrés sur le domaine. Comment transformer une architecture de « layered » à « clean »? Qu’est-ce que l’architecture? Vue d’ensemble d’un système Structure du système : les différentes composantes Les couches (layers) Les relations entre les composantes
Builder — Bracket Show, épisode 22
Dans la série des « design pattern » nous vous parlons aujourd’hui du « Builder ». Vous utilisez ce « pattern » plus souvent que vous ne le pensez sans vous en rendre compte. Voyons comment en faire un soi-même. Version Fluent qui permet de chaîner les appels pour bâtir nos objets et plus spécifiquement dans un contexte de tests
Bracket Show épisode 21 – .NET Standard 2.0
Avec la sortie de .NET Standard 2.0 il est intéressant de comprendre comment cela s’inscrit dans l’écosystème .NET et comment s’y retrouver avec toutes les version et les différentes plateformes.
Bracket Show épisode 20 – Unity 3D avec Luc Aspirot – Partie 2
Dans cet épisode nous verrons comment faire un jeu de A à Z avec Luc Aspirot. Voir la première partie
Bracket Show épisode 19 – Unity 3D avec Luc Aspirot – Partie 1
Dans cet épisode nous verrons ce qu’est Unity 3D et les bases de développement d’un jeu.
Bracket Show épisode 18 – Dynamics CRM avec Salim Adamon
Dans cet épisode, Salim Adamon nous guide à travers la création et le déboguage d’un plugin pour la plateform Dynamics 365 (aciennement connue sous le nom de Dynamics CRM).
Bracket Show épisode 17 – MediatR avec Éric Renaud
Dans cet épisode, Erik Renaud nous parle de MediatR, une librairie de messagerie pour faciliter l’implémentation de systèmes basés sur le concept CQRS (Command and Query Responsability Segragation).
Bracket Show épisode 14 – Visual Studio Team Services avec Étienne Tremblay – Partie 2
Étienne Tremblay nous parle de Visual Studio Team System. Nous reprenons la discussion de l’épisode précédent après le build et nous menons le projet jusqu’au déploiement. Voir la première partie
Bracket Show épisode 13 – Visual Studio Team Services avec Étienne Tremblay – Partie 1
Dans cet épisode du Bracket Show, Etienne Tremblay nous parle de Visual Studio Team System, plus particulièrement de l’ouverture d’un compte gratuit jusqu’au build automatisé.
Bracket Show – Visual Studio 2017
Dans cet épisode du Bracket Show, nous passerons en revue les nouvelles fonctionnalités de Visual Studio 2017 qui ont retenu l’attention de Bruno et Eric. Ils vous parleront principalement des fonctionnalités utiles pour le développement de logiciel. Avec une attention pour ce qui est utile aux développeurs, nous faisons le tour de quelques-unes des fonctionnalités qui ont
Pair Programming : comment tirer profit de la collaboration à son maximum?
La programmation en paire, communément appelée « Pair Programming », est une technique de développement logiciel Agile qui a été popularisée dans les années 90 par la méthodologie « Extreme Programming ». Une de ses règles est que chaque unité de travail réalisée doit passer entre les mains d’au moins deux membres de l’équipe. Par réflexe, nous pourrions penser
Tester en production — Bracket Show, épisode 27
Dans cet épisode, Bruno et Eric reçoivent Mario Cardinal, architecte de longue date et co-animateur du podcast Visual Studio Talk Show (http://visualstudiotalkshow.libsyn.com/). Il vient nous parler de son projet (https://to-do.studio/) et comment il compte le tester en production. Il est convaincu qu’en appliquant le « shift left testing » la qualité sera meilleure.
Vous moquez-vous des tests?
Je me suis récemment « entretenu » avec le moi d’il y a plusieurs années, et nous en sommes arrivés à parler de tests unitaires. À cette époque, je me moquais des tests unitaires. Aujourd’hui, je m’en moque encore, mais de façon différente. Malgré les années passées, plusieurs des questions soulevées au cours de cette
Pourquoi ai-je envie de recommencer à programmer depuis que je suis Product Owner?
Imaginez que vous êtes le Product Owner d’une application de Sudoku : vous seriez probablement capable de décrire les règles du jeu à votre équipe de développement et de lui fournir comme condition de succès, une grille résolue à partir d’une grille de départ valide. Mais il serait plus difficile de spécifier une grille de départ
Les microservices : une architecture Agile — Deuxième partie
Lisez la première partie de cet article ici : « Les microservices : une architecture Agile — Première partie ». Utiliser le DDD (Domain Driven Design) pour créer des microservices En nous appuyant sur la séparation des modèles qu’offre le DDD, nous pouvons rejoindre facilement le même concept qui est à la base des microservices. Il suffit de décomposer
Les microservices : une architecture Agile — Première partie
L’ère numérique dans laquelle nous vivons présentement nécessite que nous apportions plusieurs changements dans nos manières de faire. Les entreprises qui perçoivent encore le développement logiciel comme un fardeau coûteux et non comme une force de frappe feront bientôt face à de nombreux défis importants. Pour surfer sur la vague technologique, les entreprises doivent
Développer son potentiel avec les tests
De nos jours, l’apprentissage de tout programmeur passe par un certain nombre d’étapes. Une de celles-ci est la découverte des tests. Cette découverte se fait généralement progressivement et pour plusieurs d’entre nous, un peu à l’envers. Voici le récit de mon expérience personnelle, mais je me doute que certains d’entre vous s’y reconnaîtront. Une perte
Hello World mobile
Avec la récente acquisition de Xamarin par Microsoft, on pouvait s’attendre à ce que le développement d’applications mobiles devienne un peu plus accessible, surtout considérant que cette acquisition a fait passer le coût de Xamarin à… rien du tout! Il est donc possible aujourd’hui, grâce à Xamarin Forms et à Visual Studio édition Communauté, de
Hello World version entreprise
Le Hello World de base La meilleure façon d’apprendre un nouveau langage reste encore d’écrire l’application typique Hello World. Je ne compte plus le nombre de fois que j’ai commencé un nouveau projet par cette simple application. Par exemple, voici la plus simple application Hello World qui peut être faite en C# : Après avoir démarré
CQRS — Event Sourcing
CQRS est un schéma (« pattern ») d’architecture et de conception qui sépare la lecture des données (requête) des actions (commandes) dans le but de produire un système qui peut facilement être mis à l’échelle (« scaling ») et offrir des avantages utiles. Consultez la présentation d’un de nos experts. Voici quelques articles connexes (anglais
3 trucs de développeur pour passer une bonne nuit
Avez-vous de la difficulté à décrocher du travail? Continuez-vous à penser à votre projet une fois rendu à la maison? Est-ce que votre sommeil est compromis par des réflexions sur votre code? Est-ce que vous avez de la difficulté à vous remettre dans le contexte le lendemain matin? Si vous avez répondu oui à au
La valeur des événements de l’Event Store (partie 2)
Dans le billet précédent, nous avons vu comment créer des événements à partir de commandes. Pourquoi ne pas mettre à jour la base de données directement? Pourquoi avons-nous besoin de passer par un Event Store? Parlons un peu de la situation actuelle…
Top 5 des meilleures façons d’améliorer votre code
Voici, comme promis, ma présentation donnée ce matin à l’Agile Tour de Montréal. Top 5 des meilleures façons d’améliorer votre code.
Imaginez un monde où le passé est la seule vérité… toute la vérité (partie 1)
Vos systèmes informatiques contiennent sûrement plusieurs bases de données structurées et relationnelles. Vous devez faire des copies régulièrement pour ne pas perdre d’information. Malgré ces précautions, vous perdez tous les états intermédiaires (états du système après un événement passé) de vos systèmes d’information. Si tout ce qui vous intéresse, c’est l’état final, ce n’est pas