Comment détecter la veille prolongée du système depuis un service Windows

Les événements de mise en veille prolongée (Sleep / Hibernate) peuvent s’avérer indispensables pour une application connectée, car les connexions vont être interrompues. Cet article présente deux approches: la première basée sur l’API standard SystemEvents, qui pose problème dans un service Windows; l’autre basée sur WMI qui fonctionnera dans tous les cas de figure (pour […]

Sur le sens du concept des « Claims »

La première fois que j’ai vu le mot « claim », j’ai ressenti un certain inconfort, je n’arrivais pas à m’en faire une représentation claire. Bien sûr, c’était dans le contexte de la gestion des permissions utilisateurs, et je le traduisais donc par « droit ». Je suppose que c’est ce que font la plupart des gens dans le […]

Sécuriser des WebApi avec OAuth2 et Client Credentials?

J’ai déjà eu à implémenter des applications clientes compatibles OAuth (1 et 2), c’est-à-dire côté consommateur de ressources protégées, mais ce n’est que récemment que je me suis intéressé à la mise en place d’une solution de sécurité pour un ensemble d’applications. J’ai logiquement étudié ce qui se fait avec OAuth 2 et OpenID Connect […]

De la visibilité du modèle conceptuel

Très récemment, j’ai visionné une présentation de George Fairbanks intitulée Building Theories is Building Value. Fairbanks est aussi l’auteur d’un livre de référence sur l’architecture logicielle: Just Enough Software Architecture: A Risk-Driven Approach (2010). C’est l’un des meilleurs livres que j’ai lu en la matière. Au milieu de sa présentation, en plus d’être captivé, je […]

Terminer proprement un programme console

Les programmes console ne sont pas morts: il est courant de permettre à un service Windows d’être lancé en mode console, et ASP.NET Core est initialement prévu pour être exécuté en mode console (en self host). Dans ce contexte, se pose rapidement le problème de terminer proprement le contexte d’exécution (libérer les ressources IDisposable, éventuellement […]

Calcul de hachage pendant la lecture d’un fichier

Le hachage (md5, sha1…) est très couramment utilisé en transmission de fichier, pour vérifier que les données n’ont pas été corrompues entre leur production et leur consommation. Si le poids du fichier est conséquent, il est préférable de calculer le hachage à la volée plutôt que de parcourir le fichier plusieurs fois (pour le hachage, […]