• Alternative à Watson Visual Recognition

    TL;DR Azure computer vision offre une alternative fiable pour la reconnaissance d’objets dans une image, puisque Watson visual recognition est rendu obsolète par IBM.

    Suite de l'article...

  • Je rollback sereinement la production

    TL;DR Après un précédent article argumentant pour des mises en production plus fréquentes, afin qu’elles deviennent une tâche rôdée de la vie de tous les jours, voici une deuxième opportunité pour des installations plus sereines : faciliter le plus possible le retour à la version précédente.

    Suite de l'article...

  • Développer plus rapidement avec des tests unitaires

    TL;DR Des tests unitiares bien conçus permettent de gagner du temps et de développer plus vite.

    Suite de l'article...

  • Je mets en production plus souvent

    TL;DR Pour déployer en production de façon plus sereine, la meilleure technique reste de répéter régulièrement l’exercice, encore et encore, jusqu’à ce qu’il devienne naturel, pour chaque membre de l’équipe.

    Suite de l'article...

  • Compatibilité descendante

    TL;DR Je pense que le web a pour vocation d’être accessible au plus grand nombre. Le langage HTML, par exemple, a intégré la compatibilité descendante dès sa conception. Si un ancien navigateur est incapable d’afficher une balise, il l’ignore simplement et essaie d’afficher le reste du document. C’est ce qui permet à la combinaison <detail> / <summary> de s’afficher de manière acceptable dans un vieux browser.

    Suite de l'article...

  • Créer un CSV compatible Excel

    TL;DR Pour générer un fichier CSV qui peut-être ouvert sans problème dans les versions récentes de Excel, utiliser l’encodage UTF-16LE et le caractère tabulation comme séparateur.

    Suite de l'article...

  • Mon éditeur de tablatures a 20 ans

    TL;DR Tabber, mon éditeur de tablature de guitares (pour Windows) a 20 ans. Il fonctionne encore, sous Windows 10 - et il compile encore, enfin presque (avec un vieil IDE). Pour fêter cet honorable anniversaire, je l’ai à nouveau mis en ligne et publié sur GitHub.

    Suite de l'article...

  • Migrer sur le cloud

    TL;DR Quels arguments évoquer avec son architecte préféré ou sa DSI, en parlant d’une éventuelle migration vers le cloud ? Les avantages sont la haute disponibilité de l’infrastructure, sa maintenance simplifiée et l’elasticité. Mais il ne faut pas perdre de vue que ces infrastructures sont publiques et que leur coût final peut être difficile à évaluer.

    Suite de l'article...

  • Configurer un proxy pour WSL

    TL;DR Pour se connecter à internet dans le sous-système Linux pour Windows, nous pouvons configurer le proxy http à utiliser à l’aide des variables d’environnement http_proxy et https_proxy et grâce à la directive Acquire::http::Proxy dans apt.conf.

    Suite de l'article...

  • Configurer un proxy pour Powershell

    TL;DR La plupart des commandes Powershell comme Invoke-WebRequest ou Invoke-RestMethod acceptent les paramètres -Proxy et -ProxyUseDefaultCredentials pour configurer le proxy http à utiliser lors des appels réseau.

    Suite de l'article...

  • Machine Learning sur du code source (partie 3)

    TL;DR Après un second article où je présente les étapes de collecte et de première analyse de la donnée présentés dans codelab, dans cette derniere partie je décris la mise en oeuvre du modèle d’apprentissage non supervisé et la manière dont on peut l’évaluer et le présenter.

    Suite de l'article...

  • Machine Learning sur du code source (partie 2)

    TL;DR Après un premier article où je décris l’approche utilisée pour lancer des algorithmes de machine learning sur son code source et les étapes à réaliser, dans ce second article je présente les étapes de collecte et de première analyse de la donnée présentés dans codelab organisé par Alex Bezzubov et Hugo Mougard lors du DevFest Nantes 2019.

    Suite de l'article...

  • Machine Learning sur du code source (partie 1)

    TL;DR Lancer des algorithmes de machine learning sur son code source permet d’extraire des informations sur la structure des projets et d’améliorer l’outillage de développement. Ce sont les méthodes inspirées du traitement automatique du langage naturel qui semblent donner les premiers résultats. Des briques open-source comme Gitbase ou Babelfish permettent de faciliter les étapes de collection et d’analyse de la donnée. Dans ce premier article, je décris l’approche utilisée et les étapes à réaliser.

    Suite de l'article...

  • Configurer un proxy pour Azure CLI

    TL;DR Pour se connecter à Azure via la ligne de commande Windows, nous pouvons si nécessaire définir le proxy http à utiliser via les variables d’environnement HTTP_PROXY et HTTPS_PROXY.

    Suite de l'article...

  • Déployer une application Spring Boot avec Azure Devops

    TL;DR La plateforme Azure Devops permet de constuire et déployer automatiquement, en continu, une application Java Spring Boot dans le cloud Microsoft. Un fichier yaml versionné avec le code source permet de configurer comment un tel déploiement peut être réalisé. Dans ce second article, je décris créér et paramétrer Azure Devops par le code.

    Suite de l'article...

  • Exécuter une application Spring Boot sur Azure

    TL;DR La ressource de type Application Web (ou App Service) permet de déployer rapidement une application Java Spring Boot dans le cloud Microsoft. La pile de runtime Linux et Java SE est celle qui convient pour ce cas d’utilisation. Pour l’environnement de développement, un plan tarifaire gratuit ou basique est suffisant. Dans ce premier article, je décris comment créer et configurer une telle ressource.

    Suite de l'article...

  • Lancer une commande dans une nouvelle fenêtre avec Powershell

    TL;DR Start-Process "cmd.exe" "/C ..." permet d’ouvrir une nouvelle console dans une fenêtre à part et d’y lancer automatiquement une commande depuis Powershell.

    Suite de l'article...

  • Retrouver un sous-dossier avec Powershell

    TL;DR Get-ChildItem -Recurse permet de retrouver récursivement le chemin vers un fichier ou un répertoire dans Powershell. On peut l’associer à d’autres commandes afin d’exécuter des traitements sur le résultat de la recherche.

    Suite de l'article...

  • Azure Serverless: un retour d'expérience

    TL;DR Dans cette présentation vidéo, je décris comment les Azure Functions permettent de déployer rapidement du code métier réagissant à des événements dans le cloud Azure. Je détaille les avantages et les inconvénients de ce type d’architecture.

    Le talk est illustré avec différents cas d’utilisation rencontrés lors de la mise en place d’une application serverless pour un client.

    Suite de l'article...

  • Injection de dépendances dans les Azure Functions

    Update: Les Azure Functions supportent désormais nativement l’injection de dépendances, grâce à un mécanisme inspiré du Startup de .Net Core. Cet article reste néanmoins valide pour les autres cas d’utilisation. /Update

    TL;DR La philosophie fondamentalement statique et procédurale des Azure Functions fait qu’il peut être contre-intuitif d’utiliser des concepts avancés de la programmation objet, tels que l’injection de dépendances.

    Cependant plusieurs cas d’utilisation peuvent justifier le recours à ces concepts, pour simplifier l’écriture, les tests et la maintenance.

    Heureusement, l’arrivée du support de .Net Core 2.x dans le nouveau runtime des Azure Functions (C#) rend possible l’utilisation des outils du le framework – et donc en particulier l’injection de dépendances.

    Suite de l'article...

  • Web2day 2018

    TL;DR Le web2day ce sont des conférences techniques, mais ce sont surtout des présentations sur le design, l’entrepreunariat et aussi des sujets de découverte sur le numérique de manière plus générale.

    Ce serait tellement long de résumer l’ensemble des sujets abordés. Pour cette année, j’ai choisi d’orienter mon compte-rendu autour du thème “Quelles compétences pour travailler dans un monde en constante évolution”.

    Suite de l'article...

  • Mooc Machine Learning par Andrew Ng

    TL;DR Je viens de terminer le Mooc “Machine Learning” enseigné par Andrew Ng sur Coursera. Ce cours va au delà des traditionnelles initiations au machine learning, en expliquant de manière plus formelle quelques uns des algorithmes existants. Il enseigne surtout une vraie méthodologie, dont les principes sont appliquables à un plus grand nombre de projets, permettant de choisir, paramétrer, évaluer et généraliser des modèles et leurs prédictions.

    Suite de l'article...

  • Calculer la couverture de code d'un projet .Net

    TL;DR Avec les outils AltCover et ReportGenerator il est relativement facile de générer des statistiques au format HTML sur la couverture de votre code .Net par les tests unitaires.

    dotnet test /p:AltCover=true
    ReportGenerator.exe -reports:coverage.xml -targetdir:./coverage
    

    Suite de l'article...

  • Les nouveautés ECMAScript (ES6 → ES2018)

    TL;DR Cette présentation vidéo reprend les principales nouveautés d’ECMAScript, depuis Javascript 1.5 jusqu’à ES2018, avec des exemples concrets et des cas d’utilisations possibles.

    Suite de l'article...

  • Liste des données personnelles couvertes par le RGPD

    TL;DR L’article 4 du RGPD définit les données à caractère personnel comme “toute information se rapportant à une personne physique identifiée ou identifiable”.

    Cette définition est assez vaste et peut couvrir énormément d’aspects. Il n’existe pas vraiment de liste officielle et exhaustive : il convient donc d’avoir une approche prudente lors de la mise en place de traitements concernant les données des individus. Voici néanmoins une tentative d’énumération…

    Suite de l'article...

  • Une app .NET Core sur Docker et Kubernetes

    TL;DR .NET Core est un framework open source permettant de créer des applications web avec le langage C#. Dans cet article je présente les étapes de la mise en place d’une API REST avec .NET Core.

    Suite de l'article...

  • Devfest Nantes 2017

    TL;DR Voici les conférences que j’ai vues (et appréciées) lors de cette édition. Celles que j’ai préféré : Historique d’Android et Documentation as code, des conférences pas hyper techniques mais bien présentées et avec du contenu. Le reste ci-après.

    Suite de l'article...

  • Créer un fichier sans éditeur

    TL;DR Pour créer un nouveau fichier exemple.txt sous bash :

    cat <<EOF >exemple.txt
    Remplacer
    ce texte
    par le contenu du fichier
    EOF
    

    Suite de l'article...

  • Retour sur Devoxx 2017

    Je n’ai pas assisté à l’évènement, mais merci internet, ci-après voici une petite sélection personnelle de conférences.

    Suite de l'article...

  • Human Learnings

    Bienvenue sur mon blog technique 👨🏽‍💻 !

    Ce blog utilise le logiciel open source Jekyll avec le thème minima et est hébergé sur Github Pages.

    Le code source est disponible sur Github.

    Suite de l'article...