vendredi 7 août 2020

TeamViewer - Comment accéder à distance en remote desktop avec Team Viewer

Pour des raisons de sécurité vous devez vous interdire de vous connecter aux ordinateurs distants en utilisant le simple RDP de windows par défaut car il est sujet à de nombreuses attaques.

En tous les cas, voici un post très bien fait et complet sur la sécurisation du RDP.

deltasight - Sécuriser un serveur RDP sur le port 3389

Alors TeamViewer est prêt à vous aider ... Il suffit de l'installer sur l'ordi source et sur l'ordi cible de relever l'ID et le Mot de passe de l'ordi cible et de se connecter à partir de l'ordi source.

Vous obtenez l'écran suivant :

Team Viewer - Se connecter à distance

Seulement, je ne pige pas encore pourquoi mais avec une Machine Virtuelle Azure, il me faut être connecté sur la machine virtuelle pour que TeamViewer me propose de me connecter. Ce qui ne m'arrange pas car je souhaitai pourvoir invalider la connexion RDP ... J'espère que vous me suivez ce n'est pas simple.

Si je me déconnecte de la Machine Virtuelle, je clique simplement sur la fermeture de la fenêtre de Remote Desktop Connection, alors que la machine est encore en fonctionnement et que TeamViewer s'exécute au sein de cette machine et bien je ne peut pas me connecter ...

TeamViewer - VM Azure connexion impossible

Je ne comprends pas encore pourquoi ...

Je viens d'installer également Team Viewer sur une autre machine à laquelle je souhaite accéder et je remarque une case qui m'oblige à créer un compte Team Viewer, je m'exécute.

Team Viewer - Assign to account
 
Du coup j'accède à la console de gestion de mon compte d'utilisateur :

Team Viewer - Console de gestion
Team Viewer - Console de gestion

Je vois mes deux machine celle sur laquelle je travaille et celle à laquelle je souhaite me connecter.

A partir de là, j'ai pu à peu prêt tout faire sauf que j'ai toujours le même problème, il me faut être déjà connecté en RDP à la machine pour accéder avec TeamViewer ce qui n'a pas de sens.

Par hazard en cliquant à gauche à droite je découvre le bouton : "Contrôle à distance en utilisant le mot de passe" :

Team Viewer - Contrôle à distance en utilisant le mot de passe

Et là ça y est pas besoin de mettre connecté en RDP. Je dirais que c'est l'authentification windows qui n'accepte pas un utilisateur avec une connexion sans mot de passe. Donc quand vous êtes coeecté en RDP vous avez entré votre mot de passe vous pouvez alors vous connecter avec Team Viewer.

Sinon il faut utiliser la Connexion à distance en utilisant le mot de passe. Il y a vraiment plein d'autres possibilité de collaborer avec Team Viewer.

CQFD !








mercredi 5 août 2020

C'est quoi le langage Go ?

Je connaissais le jeu de Go et j'adore c'est un jeu que je préfère aux échec car comme le dit Lao-tseu aux échecs vous ne pouvez être que gagnant ou perdant alors qu'au Go c'est bien plus subtile ... Il était important pour moi, en tant que programmeur, d'évoquer ici le Langage Go et d'en avoir une connaissance minimum.

Mais alors le langage Go ? C'est quoi ! Je travaille dans la programmation depuis toujours alors un nouveau langage c'est intéressant. Mais j'ai l'impression qu'aujourd'hui les grands acteurs du digital créent un langage à chaque fois qu'ils ont une problématique à résoudre. C'est un peu le sens de la vidéo que j'ai écouté sur le site et le problème qu'ils ont eu avec le C++.

Wikipédia - langage Go

C'est un langage créé par Google pour de la programmation système. Avec le Go Langage, la gestion de la mémoire est assurée par un ramasse-miettes ...

Exemple de langage Go dans GitHub avec la communauté open source Grafana, c'est 26% de Go Langage (Go Lang) :

https://github.com/grafana/grafana/search?l=go

Et le site officiel du Langage Go :

Site Officiel du langage Go

Pour les novices que nous sommes, une première page à lire attentivement sur le Langage de programmation en langage Go :

Go Effective Go
Et une remarque amusante, il me semble, sur les semicolons "{". Ils ont trouvé le moyen de vous obliger à la mettre en bout de ligne et non au commencement d'une nouvelle ligne. Sempiternelle guéguerre entre ceux qui écrivent "façon java"

if () {
}

et ceux qui écrivent "façon C"

if ()
{
}

En Go la "façon C" n'est pas autorisée, Amusant ! Non ?

En cherchant un peu plus, je trouve que le Go s'appelait Golang ... c'est Disney qui possède le nom de domaine go.com, Google n'a pas eu le choix que de changer de nom de domaine et de choisir un autre nom pour son langage le Go Lang.

Le langage Go est open source : golang/go

Et maintenant, j'aimerais trouver un IDE voir un compilateur pour le langage Go ...

Je trouve un éditeur pour le langage Go chez JetBrains : GoLand

JetBrains - IDE GoLand pour le langage Go
JetBrains - IDE GoLand pour le langage Go

Quelques Info sur cet IDE : GoLand documentation
Là j'ai l'impression que vous pouvez démarrer la programmation en Go.

Un petit conseil de curieux, chez JetBrains, il n'y a pas que le langage Go, ce site JetBrains est une mine d'or pour tous les outils de développement ...

Je trouve encore cette page sur le langage Go :

Je suis un dev - Comprendre le Go en 5 minutes
L'essentiel sur la genèse du langage Go, ses créateurs, leurs objectifs.

golandbot.com - Golang tutorials series
Quelques exemples et des tutoriels, ont est à la racine du Golang

https://youtu.be/cN_DpYBzKso
Une conférence d'un des trois créateurs Rob Pike sur le sujet : Concurrence n'est pas Parallélisme et donc la cause de la naissance du langage Go.

http://www.usingcsp.com/cspbook.pdf
Je mettrais ici aussi un lien vers le livre de Tony Hoare - Communicating Sequential Processes qui est certainement la raison pour laquelle le Go à vu  le jour. Dans une conf Rob Pike nous intime l'ordre,  si on ne l'a pas encore lu de cesser tout le reste et de rentrer chez soi le lire alors ...

Et puis l'avenir du Langage Go :
The Go Blog - Toward Go 2

Bon, ben voilà, je ne connaissais pas ce langage Go, je ne savais même pas que Docker est écrit en Go  ... comme quoi, on apprend toujours.

mardi 4 août 2020

C'est quoi Azure DevOps ?

Je connais Azure, le cloud de Microsoft. DevOps c'est un ensemble de techniques de programmation donc les deux ensembles cela doit vouloir dire : Techniques de programmation dans l'Azure ... ?

Microsoft Azure DevOps
Planifiez plus intelligemment, collaborez mieux et livrez plus rapidement avec un ensemble de services de développement modernes.

C'est quoi Azure DevOps ?
C'est quoi Azure DevOps ?

C'est parce que je trouve ce terme dans la lecture d'une annonce pour l'emploi et qu'il m'interpelle car je ne suis pas certain de savoir parler d'Azure DevOps que je creuse pour trouver ce que c'est plus précisément ...

Finalement on me propose de démarrer rapidement en me loguant, je me logue ... et je tombe sur mon bon vieux Team Foundation Server, le bon vieux TFS d’antant qui comme toute chose se retrouve maintenant dans l'Azure et qui s'est appelé un moment Azure Team ... Donc c'est tout simplement le Gestionnaire de Codes Sources de Microsoft ... (comme github ou gitlab).

Si vous faites du développement logiciel vous savez ce qu'est un gestionnaire de code source un outil qui vous permet de développer vos codes en équipes de n'avoir qu'une source dans laquelle tous les contributeurs viennent commiter (ranger, sauver) leurs codes.

Là, je vous montre comment utiliser GitHub dans Visual Studio.

Bref, rien de très nouveau sous cette nouvelle appellation ...

Azure DevOps c'est ce bon vieux TFS à la mode Azure

Azure DevOps c'est donc Team Foundation Server dans le Cloud avec un peu de gestion de projet façon Agile autour ..

Et pour aller plus loin, je trouve ceci :

Microsoft - Concevoir un pipeline CI/CD à l’aide d’Azure DevOps

Avec un joli graphique pour expliciter des différentes étapes du développement d'un projet :

Processus DevOps au sein de l'Azure Cloud de Microsoft

C'est plein de bon trucs de DevOps à la sauce Microsoft. Avec pour moi la brique la moins connue c'est certainement Azure Application Insights l'outil d'optimisation de performances pour les applications Web à creuser absolument.

Azure Application Insights

Je détaille cette brique qui me semble être la plus récente, la moins connue. Si vous installez un petit package d'instrumentation (SDK) Azure Application Insights instrumentalise votre application pour la superviser. Des données de télémétries ont alors dirigées vers un ressource Azure Application Insights.

Azure DevOps - Application Insigths
Azure DevOps - Application Insigths

Les Insights sont "Des conseils d'optim" afin d'optimiser le fonctionnement de vos applications.

Voilà, nous avons maintenant une  meilleure vision de ce qu'est l'Azure DevOps sans avoir à lire les dizaines et les dizaines de pages de la documentation Microsoft for dummies.

mercredi 15 juillet 2020

Azure Cloud - Quel est véritablement le prix de cette solution ?

J'utilise maintenant Azure Cloud depuis quelques mois. J'utilise une machine en ligne pour développer cela me permet d'avoir ma machine "Administrative" à la maison et ma machine de développement en ligne à laquelle je me connecte pour développer.

C'est une formule tout à fait satisfaisante, me machine de développement me coûte environ 100€ / mois ce que je considère comme étant un prix raisonnable. Si j'achète une machine physique elle me coûtera environ 1500 € et sera obsolète dans deux ans.

Seulement ce matin Azure me propose une recommandation gratuite : une économie de 558 $ / an ...

Azure Cloud - Recommandations cost management
Azure Cloud - Recommandations cost management

En cliquant sur Coût -> Recommandations Azure me préconise de faire une réservation ...

Tableau de bord > Machines Virtuelles > Réservations

Ce n'est pas parfaitement simple, ce que je comprends c'est que si je réserve la machine que je paye actuellement à l'utilisation, si je la réserve pendant trois ans je vais faire une économie. Mais je ne suis pas certain de ce que je viens de comprendre à quoi cela tient-il cette incompréhension ? Je crois que c'est parce qu'Azure me présente de nouveaux concepts commerciaux.


Tableau de bord > Machines Virtuelles > Réservations

Et franchement je ne sais pas très très bien de ce que je viens de faire ici, je me retrouve avec trois réservations, il y en a une que j'ai réussi à supprimer et une autre qui n'est utilisé qu'à 0% ce qui n'est pas beaucoup vous en conviendrez.

Mise à jour août 2020,  Il me semble que Azure vous connait ;-) disons qu'il observe vos pratiques pour vous faire des préconisations et je viens de transformer mon abonnement de "Paiement à l'utilisation" à "Dev/Test - Paiement à l'utilisation" et il me semble que je fais une économie d'environ 35 %. Mais pourquoi Azure me propose une telle préconisation ...

Donc il faut être vigilant, faire attention, ne pas hésiter à passer du temps pour optimiser son parc dans l'Azure.

Have fun! Even with mask!

mercredi 29 avril 2020

Servicenav la solution de Coservit pour améliorer le pilotage de votre SI

Je vous propose de découvrir cet outil de pilotage du système d'information. Je reçois une email à travers une plateforme de réseau professionnel bien sûr c'est le l'inbound marketing mais rien ne m'empêche de chercher à découvrir cet outil d'autant que cela peut être de la concurrence à notre Dashboard Universel... et l'étude de la concurrence ce la me plait.

Alors, j'ai quoi comme mot clef, pour cette étude ?

Coservit éditeur de la solution servicenav pour améliorer le pilotage de votre SI.

Une première confusion, je trouve deux sites ... http://www.proconserv-it.com/ une SSII quoi et https://coservit.com/fr/ alors ServiceNav de conservit c'est quoi ? Dans ServiceNav il y a Nav sans doute comme Navigation ...

ServiceNav - Supervision et Pilotage du SI

ServiceNav – de l’exploitation informatique au pilotage

Comme c'est trendy, en ce moment, on vous propose directement un essai de trente jours mais un essai de quoi ? J'en ai encore aucune idée !

Sur la page dédiée à l'essai gratuit de trente jours, je trouve une première phrase :

"Avec ServiceNav bénéficiez d’une plateforme de supervision basée sur les technologies Big data et d’IA simple et rapide à installer !"

Je ne suis pas un véritable datascientiste mais une solution de Big Data qui intègre de l'IA j'ai un  doute sur le fait que cela soit "simple et rapide à installer".

La présentation se poursuit par :

"Vous avez besoin de trouver les goulots d’étranglement? ServiceNav les isole facilement: +1500 points de contrôle, NetFlow, corrélation, prédiction."

Quoi, 1500 points de contrôle ...  sur mon SI, mais il doit être gigantesque ma société doit faire plus de dix mille personnes avec des sites installés dans le monde entier.

Bon, je vais peut être mettre de côté l’essai gratuit de 30 jours et essayer d'en savoir un peu plus sur la solution. Plus bas on me dit :

Que peut faire ServiceNav pour nous ?

Voilà j'espère enfin comprendre et pourvoir aller plus loin dans l'appropriation de ServiceNav.

ServiceNav surveille l'ensemble de mon infrastructure informatique.

C'est donc un tableau de bord global de mon Infra, c'est bien ça. Grace à une analogie familière avec les prévision météo. Ça je trouve que c'est une bonne idée, ça frappe immédiatement à l'imaginaire de l'utilisateur que je suis : prédire la météo sur mon Infra whaou !

ServiceNav prend en charge la majorité des technologies ... alors là, on pourrait soulever un point négatif et se dire que nous avons déjà un problème technique pour utiliser la solution. Et la question est ; sommes nous avec une technologie prise en charge par cette solution ?

Mais la suite de la présentation nous rassure plutôt, grâce à l'architecture modulaire ServiceNav sait s'adapter à toute les technos mais on a eu chaud.

ServiceNav est prêt pour chaque plateforme, il intègre les différentes outils de gestion, tickets API ... cela devient positif, API je sais faire.

Bon, je suis le DSI, après cette courte présentation, je ne sais pas encore du tout comment je vais faire pour utiliser cette solution ! Je manque de cas d'utilisation, je n'arrive pas à me projeter.

Du coup, c'est pas pour moi de plonger directement dans l'essai gratuit de 30 jours. Je n'ai aucun élément pour sauter le pas.

Ça manque de cas d'utilisation, c'est qui la cible ? Petit, moyen, grand, très grand ? Personnellement, si je suis un petit, je vais me dire que cette solution n'est pas du tout moi.

Aucune idée du prix, je sais que c'est un véritable casse tête pour les plateformes, il y a trop de paramètres pour déterminer un prix ... qui s'adapte à chaque client.

Et techniquement, je ne sais absolument pas comment cela se passe, comment je connecte l'outil à mon SI. Je découvrirai cela en approfondissant l'essai mais il me faut investir un peu plus de temps. Et comme tout bon manager du temps je n'en ai pas.

mardi 10 mars 2020

Devenez Scrum master certifié Agile pour seulement 9,99 €

Est-ce possible ? Oui apparemment c'est possible de devenir Scrum Master certifié Agile pour la modique somme 9,99 € et je vous montre comment faire. 

Je ne connaissais pas ce site, j'avoue je suis quelque peu bluffé, on dirait du vrai. Alors, on peut se faire certifier Scrum Master Agile pour moins de 10 Euros, cela vaut le coup d'être noté en tous cas.

https://certifagile.com/#pricing
Je me certifie Scrum Master Agile pour moins de 10 Euros

Je pense surtout avant tout faire un petit rafraichissement de ce qu'est l'Agile et ce qu'est Scrum :

Srum Guides - Download the official Scrum Guide

Il faut lire de Guide en Français :

Srum Guides - Download le Pdf en Français

Vous pouvez faire un petit test gratuit mais Attention, ce qu'ils ont oublié de vous dire, le Test Gratuit : c'est en anglais alors là aussi soyez prêt.

https://certifagile.com/free-psm1-assessment/
Certification Agile Scrum

C'est assez facile si vous connaissez bien Scrum et cela vous donne un peu le niveau à atteindre.

Vous cherchez à en savoir plus sur les Méthodologie Logicielle.

Have fun! No pain!

jeudi 5 mars 2020

J'ai arrêté de payer la licence Microsoft Office 365 Pro plus

J'ai installé LibreOffice. J'avoue que Microsoft Office est beau joueur. Pour travailler en équipe j'ai installé MS Office 365 et puis j'ai cessé de payer la licence, le produit a continué de fonctionner pendant deux ans ! Indiquant tout de même qu'il fallait renouveler la licence ...

Mais il y a quelques jours, un bandeau rouge est apparu en haut des outils de la suite MS Office, ce n'était pas agréable mais travaillable, le plus gênant pour moi c'est de penser qu'ils peuvent modifier leur produits en fonction de jours de retard de paiement de la licence. C'est à dire qu'ils entrent dans votre intimité.

Dernièrement des fonctions d'Outlook se mise à ne plus fonctionner. J'été assez désagréablement surpris. Alors que je souhaite répondre à un message, rien le bouton "Répondre" n'est plus actif. Je me suis posé des questions avant de constater le popup qui me signal que la fonction n'est plus accessible car je n'ai pas payé la licence.

Car je suis d'une nature curieuse, j'ai installé LibreOffice.


https://fr.libreoffice.org/discover/libreoffice/
LibreOffice the Document Foundation
Je n'ai eu pour l'instant aucun soucis pour reprendre mes anciens documents Microsoft Office et continuer.

Et puisque je suis là pour partager. Alors avec ce nouveau logiciel, j'ai cherché une fonction navigation que j'ai mis un bon moment à trouver alors voici je vous la livre.

Synchronisation entre le Texte et le Volet de Navigation

J'ai ouvert le volet de Navigation, j'ai trouvé les titres, j'ai double cliqué dessus pour naviguer dans mon Texte. Et puis ... je me suis promené dans le Texte. Ce que faisait MS Office c'est qu'il gardait le volet de navigation synchronisé me montrant à tout moment où j'étais par rapport à la Navigation.

Ce qu'il faut faire avec LibreOffice : Cliquer sur le bouton "Réduire la navigation à ce type de contenu" et le Volet de Navigation se synchronise automatiquement quand on se déplace dans le Texte.


LibreOffice - Une fois dans le Texte comment resynchroniser le Volet de Navigation

Voilà, pour mes besoins actuels, la suite LibreOffice est parfaite et je m'en vais découvrir toutes les fonctions que j'ai à porté de clique.

Have fun!

N'hésitez pas à cliquer partout.

lundi 2 mars 2020

Error 502 - Bad Gateway - Internet bad answer - outil externe indispensable

Stupide Internet joufflu ! J'ouvre mon navigateur, je clique sur un raccourcis et le site me réponds "Error 502 Bad Gateway". Alors de quoi s'agit-il ?

Je vous laisse avec les autres qui se feront un plaisir d'étaler leur savoir et de vous expliquer qu'il s'agit certainement d'un problème chez vous qui vous demanderont de contacter votre FAI, de configurer votre Gateway. Alors que cela ne servirait à rien car ce n'est pas le problème.

Mais j'ai trouvé la bonne explication sur ce site que je ne connaissais pas :

Down for Everyone or just Me

Ce site vous propose d'entrer l'Url du site incriminé afin de savoir, depuis une autre machine que la votre, si le site incriminé fonctionne pour les autres et pas pour vous. Ainsi si le site ne fonctionne pour personne inutile de faire quoi que se soit !

https://downforeveryoneorjustme.com/
Down for Everyone or Just Me

C'est toujours une indication supplémentaire. Bon c'est le genre de site "entouré de pub" qui certainement disparaîtra avec le temps mais il me semble bon de savoir que cela existe ... et que l'on peut obtenir de l'aide de l'extérieur quand vous pensez que tout est de votre faute ;-))

Pour ma part le site incriminé s'est remis en fonction juste après quelques minutes, sans doute mon navigateur qui avait un moment de faiblesse ou qui a fait le ménage dans ses cookies.

Have great fun it's Corona but stay calme!

mardi 18 février 2020

Azure Cloud - Tous les ports réseau doivent être limités au NSG associé à votre machine virtuelle

Comment régler ce problème, je suis dans mon tableau de bord Azure et j'ai une indication : Tous les ports réseau doivent être limités au NSG associé à votre machine virtuelle. Mais qu'est ce que cela peut vouloir dire ?

Azure Cloud - Notifications
Azure Cloud - Notifications

Que faire, déjà il faut retrouver les recommandations du conseiller. Cliquez sur la machine virtuelle ensuite dans le menu à gauche c'est : Recommandations du Conseiller.


Azure Cloud - Recommandations du conseiller
Azure Cloud - Recommandations du conseiller

En cliquant sur la recommandation on accède à sa description :

Azure Security Center a identifié une partie des règles de trafic entrant de vos groupes de sécurité réseau comme trop permissive. Les règles de trafic entrant ne doivent pas autoriser l'accès à partir des plages « Tout » ou « Internet ». Cela peut permettre potentiellement aux attaquants de cibler facilement vos ressources.
Dans "Azure Cloud - Notifications", j'ai une ressource SODEVLOG002-nsg
Je clique pour connaitre les règles de sécurité de trafic entrant, et j'avoue que je ne peux pas faire grand chose sans risquer de ne plus accéder à ma machine virtuelle je crois que je vais plutôt regarder comment :
Désactiver cette notification !

Ce qui pose problème ce sont les accès en RDP qu'il faut absolument fermer en production, il faut donc installer un VPN pour accéder à votre machine virtuelle si vous décidez de la mettre en production.

mercredi 12 février 2020

Visual Studio Code et le Contrôle de Version GitHub

C'est bien Visual Studio Code c'est un bel outil très différent de Visual Studio, il s'installe très rapidement et permet de développer dans à peu prêt n'importe quel langage. Ce qui est bien avec Visual Studio Code c'est qu'un projet ce n'est pas un fichier .csproj et une solution .sln propriétaire, c'est un répertoire racine un peu comme dans Eclipse.

Pour ouvrir un projet, il suffit d'ouvrir le répertoire racine des sources dans Visual Studio Code et il se débrouille tout seul. Alors comme j'ai un vieux projet en Langage C à traiter et qu'à l'époque j'étais avec Eclipse vous imaginez qu'utiliser VS Code pour remanier quelque peu les codes source de ce projet ce serait magnifique.

Et maintenant, je me créé un Repository Git pour y commiter mes sources alors quel support j'ai pour Git Hub dans Visual Studio Code ?


Le nouvel éditeur de codes source - Visual Studio Code
Le nouvel éditeur de codes source - Visual Studio Code

Au passage, on note une petite pique contre GitHub car Microsoft préconise plutôt Team Azure comme Repository plutôt que GitHub mais après tout c'est de bonne guerre.

Private Host Git provider - Azure DevOps

Visual Studio Code - Version Control

Donc avec Visual Studio Code, j'ai ouvert le répertoire de mes sources en langage C, j'ai cliqué sur l'icône "Source Contrôle" (ou Built-in Git"), j'ai cliqué sur le + pour ajouter tous mes sources. je n'ai plus qu'une question :

Visual Studio Code - How to configure a remotes repository to publish ?

Et là c'est curieusement StackOverFlow qui me répond :

stackoverflow - Visual Studio Code - Connect to remote GIT repository and PUSH local files to new remote Repository

Mais (bip) que c'est compliqué en ligne commande ...  Alors qu'il y a plein de commandes à cet endroit là de Visual Studio Code  :


Visual Studio Code et Git en ligne de commande
Visual Studio Code intègre Git en ligne de commande

C'est pas fun ! Pas fun du tout ! En fait stackoverflow ne répond pas à ma question qui est pourtant simple :

Visual Studio Code - How to configure a remotes repository to publish

Car quand je clique dans Visual Studio Code sur la commande "push to" il me répond :

Your Repository has no remotes configured to publish to.
Your Repository has no remotes configured to publish to.

J'ai beau cliqué sur la rondelle ...

Your Repository has no remotes configured to publish to - Manage Extension

J'arrive sur Git VS Code - Git SCM Integration ...


Visual Studio Code - Git Intégration
Visual Studio Code - Git Intégration

C'est là que j'ai une fulgurance ... ne faudrait t-il pas installer une extension pour GitHub ?

Je tape GitHub dans "EXTENSIONS: MARKETPLACE" :

GitHub KnisPeter

J'installe l'extension GitHub pour Visual Studio Code là je pense que je tiens le bon bout.

No fun at all!

Non en fait pas du tout, je ne suis pas sur la bonne piste, j'utilise toutes les commandes correctement depuis VS Code qui est positionné sur le répertoire que je souhaite Commiter dans GitHub. Mais rien n'y fait.

Your repository has no remotes configured to push to

Solution :

Et puis je me rappelle que j'avais déjà réussi à gérer mes codes source depuis Visual Studio, je regarde un peu dedans le me dis qu'avec Visual Studio, je suis connecté avec un utilisateur alors que VS Code ne me le propose pas.

CQFD ! J'ouvre la console Git et je tape la commande suivante :

>git config --list


>git config --list
>git config --list

Je regarde le user.name et le user.email et je me dis que ce sont ceux de mon compte Azure Cloud alors que je cherche à me connecter à GitHub !

Voilà, il ne me reste plus qu'à lire la page suivante :

git-scm - 1.6 Démarrage rapide - Paramétrage à la première utilisation de Git

A la rubrique "Votre identité" pour connaitre les commandes pour changer d'identité dans Git.

> git config --global user.name "John Doe"
> git config --global user.email johndoe@example.com

Pas très fun!


Oracle Virtual Machine - C'était bien les machines virtuelles mais ça c'était avant !

Si j'utilisais déjà les machines virtuelles dans les années 2000, c'est parce qu'elles me permettaient un certain nombre de choses comme conserver l'entièreté d'une configuration, système d'exploitation, outils de développement, sous forme simple pratique à déplacer, à réutiliser.

J'ai commencé par utiliser VMware, la seule version qui fonctionnait à l'époque, payante, et puis Virtual PC est revenu sur le devant la scène avec une version gratuite et enfin Oracle VM VirtualBox avec une version plus complète que Virtual PC.

Mais ce matin, je souhaite relancer une veille machine pour y récupérer un soft et pouf c'est la catastrophe. Me voici avec un message venu d'un extra-terrestre auquel je ne sais pas réagir :

Oracle VM VirtualBaox - Error !
Oracle VM VirtualBaox - Error !

Bref toute mes machines virtuelles sont cassées et ça fait un paquet de travail mis à la poubelle. En agissant de la sorte, en rendant finalement tout ça incompatible, Oracle et les autres nous font perdre le bénéfice des avantages des machines virtuelles.

J'imagine qu'avec Docker ou les Containers, c'est la même chose finalement. Vous stressez lorsque vous déplacez un container et que vous le faites jouer ailleurs et quand cela ne fonctionne pas c'est bien difficile à réparer.

Avec encore une petite dialogue box sympathique pour la route, une fois que vous avez cliqué sur Ok le choix qui reste c'est Abort, Grrrr :

VirtualBox - supHardenedWinVeirfyPorcess failed with VERR_ASN1_CURSOR_TAG_MISMATCH
VirtualBox - supHardenedWinVeirfyPorcess failed with VERR_ASN1_CURSOR_TAG_MISMATCH

Et voici son message d'erreur bien sibyllin :

supHardenedWinVeirfyPorcess failed with VERR_ASN1_CURSOR_TAG_MISMATCH: (rc=-22838)

Bon Ok, je clique sur Abort, il m'a l'air bien sympathique ce message. Il s'en suit la dialogBox de la première vue dont je copie le détail ici :

Échec de l'ouverture de session pour la machine virtuelle Windows 7 003.
The virtual machine 'Windows 7 003' has terminated unexpectedly during startup with exit code 1 (0x1).  More details may be available in '\Oracle Virtual Box\Windows 7 003\Logs\VBoxStartup.log'.

Code d'erreur : E_FAIL (0x80004005)
Composant : Machine
Interface : IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}

Alors, je pars à la chasse au bug et comme d'habitude, je viendrais vous donner la réponse.

clubic - Virtualbox problème sous windows 7

Ici une discussion sur ce même sujet : Code d’erreur : E_FAIL (0x80004005) Composant : Machine Interface : IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}.

Mais ils ne trouvent pas de solution ! Si, à la fin ils passent sur VMware ...

Mise à jour juin 2020 - Solution

A la relecture du message, il s'agit sans doute d'un problème de compatibilité de driver USB (pour une machine hôte sous Windows 7). Néanmoins, il semble qu'une installation d'une version plus récente corrige le problème.

Donc des mises à jour de Windows ont entraînées une incompatibilité de la version de Oracle Virtual Machine installée sur la machine. Tout est rentré dans l'ordre après l'installation de la dernière version de Oracle Virtual Machine.

Download VirtualBox

N'oubliez pas de réinstaller également l'extension pack.

Don't forget to smile anyway!

vendredi 17 janvier 2020

Association des outils GitLab et Mattermost ChatOps

L'association d'outils, comme ici Mattermost + GitLab, lorsqu'ils se complètent bien fonctionnellement c'est vraiment très puissant pour collaborer. On peut arriver à une suite simple et complète permettant aux équipes de développement d'être véritablement efficiente.

Ici il faut comprendre ce que Mattermost vient apporter de complémentaire à GitLab pour créer une suite quasiment complète de développement logiciel.

Comment GitLab et Mattermost ChatOps accélère votre équipe de développement
Comment GitLab et Mattermost ChatOps accélère votre équipe de développement

La plate-forme ChatOps open source de Mattermost vous permet de communiquer des informations pertinentes à votre équipe et de prendre des mesures directement là où il y a un sujet.

vendredi 25 octobre 2019

Trello et la méthode Kanban et un peu de Slack

Je souhaite relayer ici une vidéo, ce n'est pas coutume mais voici une présentation de la méthode Kanban dans le pédagotube la chaine dédiée à la pédagogie.


https://youtu.be/tfZ5iZ8cfd4

Il est bien précisé que Trello permet de gérer toute sorte de projets et non pas seulement des projets informatiques.

Alors c'est quoi Trello et en quoi cela va nous permettre d'utiliser la méthode Kanban ? Déjà c'est un outil gratuit et c'est toujours intéressant cela permet de découvrir à moindre coût.

Trello Team Playbooks
Trello Team Playbooks

La vidéo nous explique qu'il est classique de lié Trello à Slack car il existe un Addin pour lié Trello et le fameux logiciel Slack.

C'est quoi Trello et à quoi ça sert dans Slack

Alors c'est quoi Slack ?

Je dirais de Slack qu'il s'agit d'un RSE.
Il s'agit d'organiser le travail en équipe, de favoriser les échanges entre les entreprise partenaires tout ceci sent bien le RSE.

Ce que Slack appelle des Canaux, c'est en fait des Projets qui regroupe des équipes de travail.

Trello permet donc d'aller au bout de l'application de la méthode Kanban avec les différentes colonnes et les différentes tâches du projet. Trello permet d'avoir ainsi, en un coup d’œil, une idée de l'avancement du projet.


C'est quoi Microsoft - PowerApps pour les créateurs d'application ?

C'est un peu le coup du "mais on m'aurait pas prévenu" ! Avec Microsoft PowerApps, j'ai l'impression de découvrir la roue et ils ne m'ont pas prévenu. Alors c'est quoi Microsoft PowerApps ?

Microsoft - PowerApps - Vue d’ensemble de la création d’applications dans PowerApps

Quatre composants principaux :
  • applications de canevas
  • applications pilotées par modèle
  • portails
  • Common Data Services
Créer une interface utilisateur comme vous le souhaitez.

Microsoft - PowerApps - Se connecter à PowerApps pour la première fois

Mais là c'est la cata !
Connexion à PowerApps avec Internet Explorer - mdr !

Microsoft - PowerApps - Qu'est ce que PowerApps ?


Ca parait magique, vous créez votre application parfaite avec tout ce dont vous avez besoin dedans en 1 clique.

Je n'ai pas le temps de creuser plus simplement cet outil ne trouve pas le publique qu'il devrait car il est trop compliqué et basé sur SharPoint dont on connait les désavantages.

To Be Continued

mardi 1 octobre 2019

Visual Studio toujours synchroniser avec le document actif

Cette option est cachée tout au fond de Visual Studio alors je prends note car j'en ai besoin chaque fois que j'installe une nouvelle version de Visual Studio sur une nouvelle machine.

Voici les explications de Microsoft sur la Boite de dialogue : Outils -> Options -> Projets et solutions -> Général.

Visual Studio 2019 - Boîte de dialogue Options : Projets et solutions > Général

Mais vous pourrez vous rendre que ces explications ne sont pas si claires pour faire ce que l'on souhaite c'est à  dire : 

Suivre les éléments actifs dans l'explorateur de solutions.

Cela se passe dans le Menu Tools (Options in french) -> Projects and Solutions -> General : Track Active Item in Solution Explorer :

Toujours Synchroniser sur l'élément actif dans l'Explorateur de Solution

Il y a bien le bouton Synchroniser dans la barre de la fenêtre Solution Explorer mais au bout d'un moment, j'en ai assez de devoir cliquer tout le temps dessus !

Visual Studio 2022 - Synchroniser avec le document actif

Cette option se trouve au même endroit avec Visual Studio 2022. Mise à jour de cette fenêtre, dans Visual Studio 2022, voici ce que nous obtenons :

Visual Studio 2022 - Synchroniser l'éditeur avec l'Explorateur de solution
Visual Studio 2022 - Synchroniser l'éditeur avec l'Explorateur de solution

Vous remarquez un point d'interrogation en effet le rendu est assez brouillon pour les options qui sont coincées ici.

J'ai eu beau sauver les settings de mon ancien Visual Studio et tenter de les importer dans le nouveau cette options n'est pas sauvegardée à cet endroit.

Hop this can help!

mardi 21 mai 2019

NUnit vs xUnit parmi les modules de Tests Unitaires lequel choisir ?

Je me rends compte que dans mon Visual Studio 2017 Community, je peux instancier les deux types de projets de Tests Unitaires, je suis surpris d'ailleurs, il n'y rien à installer pas même un package nuget ces projets sont déjà là dans mes Templates de Visual Studio.

Tout est là dans Visual Studio pour créer un projet de Tests :

Visual Studio Community .NET Core Tests Unitaires

D'ailleurs, si je prête attention, je vois en fait trois modules de Tests Unitaires. Je trouve que cela fait un peu beaucoup... Comment faire le choix du module de Tests Unitaires pour mon projet, MSTest, NUnit ou xUnit ?

Si maintenant, je fais la même chose, créer un projet de TestsU avec mon Visual Studio Community 2019 :

Visual Studio Community 2019 - Unit Test Projects

Je peux constater que les projets de Tests Unitaire se sont bien étoffés en deux ans entre 2017 et 2019. Il faut distinguer en .NET Framework et .NET Core.

Et peut être que ma question devrait être plus large : Quel module de Tests Unitaires choisir ? Je me rends rapidement compte que cette question fait rage sur Internet.

DEV - NET Core 2: Why xUnit and not NUnit or MSTest
Ils disent que xUnit est plus récent. Ils étaient avec NUnit et sont passé à xUnit car ils n'aiment pas trop l'écriture des tests avec MSTest mais ils ne connaissaient pas la V2 donc peut-être que la V2 de MSTest est meilleure.

Dans les commentaires de cet article je trouve :

.Net Core Unit Test and Code Coverage with Visual Studio Code - DEV Community
Et l'utilisation de Visual Studio Code avec un NuGet package Coverlet et de SonarQube donc finalement Unit Test en ferait plus que les autres framework de Test.

GitHub - coverlet-coverage/coverlet: Cross platform code coverage for .NET
Cross-plateforme code coverage (couveture de code)

Avec deux extensions pour Visual Studio Code :

.NET Core Test Explorer - Visual Studio Marketplace
Coverage Gutters - Visual Studio Marketplace

Sur le site de Microsoft quelques comparaisons :
MSDN - Test Experience Improvements
La comparaison chiffrée des trois frameworks xUnit, NUnit et MSTest v2, et la découverte d'une nouvelle fonctionnalité de Visual Studio, Real Time Test Discovery

MSDN - Moving to real time test discovery in Test Explorer
Là, je ne sais pas trop ce que l'on me demande, à découvrir.

Je note ce lien pour la route :
The Clean Code Blog - First-Class Tests

Une définition judicieuse de tous les types de tests que l'on peut imaginer :

  • Unit Test,
  • Acceptance Test,
  • Integration Test,
  • System Test,
  • Micro-test,
  • Functional Test 

Et c'est très intéressant. La morale à la fin de l'histoire c'est : Keep your tests clean. Treat them as first-class citizens of the system. Il est vrais que des tests qui ne sont pas remis à jour en fonction de l'évolution des spécifications, tombent en désuétude et c'est la catastrophe, il faut impérativement maintenir vos tests à jour.
 
RAYGUN - Unit testing frameworks in C#: Comparing XUnit, NUnit and Visual Studio
Là je suppose que ce qui est appelé "Visual Studio" ce sont les tests MSTests qui sont appelés : "Built-in Visual Studio testing Tools"

Je vous donne la traduction de la conclusion : En conclusion…
Quels que soient le framework de Tests Unitaires que vous utilisez, vous obtiendrez les bases. Cependant, il y a quelques différences que j'espère avoir soulignées afin que vous puissiez choisir celle qui convient à votre projet. Qu'il s'agisse de la commodité du framework de tests unitaires intégré de Microsoft, du statut solide et éprouvé de NUnit ou de la prise en charge moderne des tests unitaires fournie par XUnit, il y a toujours quelque chose qui vous donnera exactement ce dont vous avez besoin !

On peut dire qu'il ne se mouille pas trop dans un choix définitif ... Grrrrr !

Ma Conclusion sur les frameworks de Tests Unitaires

Je sens que je vais lancer avec les Tests Intégrés de Microsoft : MS Tests puisque la V2 est là et que cela semble prometteur. J'aime explorer les nouveautés.

Et en plus, j'ai trouvé un argument de poids ! Ils sont intégrés, c'est à dire que vous lisez le résultats des Tests Unitaires directement dans Visual Studio tandis avec les deux autres framework de tests vous avez les résultats dans une console ... à méditer encore. A murir sérieusement car les Tests Unitaires sont une affaire sérieuse.

N'hésitez pas à participer à laisser votre commentaire en dessous.

Have great fun with tests!

mercredi 15 mai 2019

Solution Open Source pour remplacer Microsoft Exchange (Outlook)

Quelle solution Open Source existent si l'on ne souhaite pas utiliser la messagerie collaborative Outlook ? D'abord, je pensais que Microsoft Exchange c'était plutôt pour parler du Serveur de mails.

Blog-Syloé - 4 solutions open source pour remplacer Microsoft Exchange
Oui, je souhaitais simplement exercer mon droit de réponse, en profitant peut être un peu du flux généré par cette question d'abord posée sur le Blog Syloé. Je trouve la formulation de cette question particulière  tendancieuse mais il est vrai que ce sont des Linuxien alors il ne sont pas habitués à l'Open Source de Microsoft. Il faut les éduquer ;-)

Outlook est une messagerie collaborative et gratuite sur Internet une licence est nécessaire si et seulement si vous souhaitez installer l'application de poste sur votre Ordinateur. Effectivement si vous souhaitez installer la partie serveur d'emails sur l'un des ordinateur de votre société il vous faudra vous acquitter d'une licence Microsoft Exchange.

La solution proposée en contre partie m'intéresse, on parle de Zimbra

https://www.zimbra.com/email-server-software/
Zimbra server d'emails

Si je regarde un peu ce logiciel en effet ce serait une serveur d'entreprise d'emailling collaboratif donc une véritable alternative à "Microsoft Exchange" mais pas à Outlook que vous pouvez utiliser gratuitement sur Internet.

Mise à jour en septembre 2020, j'ai décidé de ne plus payer ma licence Microsoft Office. Ma licence a expirée au début je pouvais continuer d'utiliser MS Outlook et puis un beau jour plus rien les fonctionnalités étaient toutes invalides ... bref j'ai installé Thunderbird. Ça fonctionne super bien et cela remplace avantageusement Oulook pour poste.

Pendant que j'y suis, j'ai installé Libre Office qui fonctionne pas mal du tout non plus. Je n'aurais pas dit cela, il y a une dizaine d'années.

mardi 9 avril 2019

Intelligence Artificielle en Langage Pyhton

Je cherche les meilleurs outils le chemin le plus directe pour faire mon initiation à l'intelligence artificielle et je cherche les mots clefs "machine learning python" il me semble avoir trouvé la mine d'or et son filon.

https://wiki.python.org/moin/PythonForArtificialIntelligence
Python For Artificial Intelligence
C'est notre sujet du moment avec ce prix Alan Turing obtenu par un français Yann LeCun et ses confrères Yoshua Bengio et Goeffray Hinton sur le développement du deep Learning.

C'est le moment de prendre quelques notes et de découvrir un peu plus ce qu'est l'intelligence artificielle.

Makina Corpus - Initiation au Machine Learning avec Python
Les différentes techniques pour faire réfléchir nos machines :
  • Logique floue
  • Algorithmes génétique
  • Data mining
  • Inférence bayésienne
  • Agents intelligents
  • Réseaux de neuronnes
  • Apprentissage automatique
L'arrivée du Big Data a propulsé un nouveau domaine de l'IA l'apprentissage automatique.

Python - PythonForArtificialIntelligence
Voici une liste de librairies en langage Python qui concerne l'Intelligence Artificielle, quatre types de rubriques : General AI, Machine Learning, Langage naturel et traitement de texte, Réseau Neuronal.

C'est la mine d'or de l'algorithmie liée au machine Learning, même si quelques liens sont cassés ...

Wikipédia - List Of programming languages for artificiel intelligence
On sort du Python et on fait le tour de tous les langages qui peuvent nous permettre de programmer quelque chose en IA.

Wikipédia - Calcul des prédicats
J'aime bien cette page car elle me rappelle les cours en programmation que j'avais à l'Université. Des termes et des concepts indispensables y sont décrit.

lundi 8 avril 2019

C'est quoi un Ingénieur d'Intégration Continue

L’intégration continue est un concept qui se base sur l’analogie avec une usine automatisée. Sauf qu’au lieu de construire des voitures, on construit un logiciel. Un logiciel est modifié sans cesse et pour sécuriser son processus de fabrication, il faut automatiser le plus possible sa fabrication.

En 2013, j'écrivais déjà un article sur l'intégration continue : Outils d'Intégration Continue

Attention l'intégration continue s'entend souvent sur multiplateformes une partie des développements viennent de Windows et peut être qu'une autre partie vient de Linux, il faudra évoquer CMake.

Pour découvrir rapidement CMake :

Alexandre Laurent - Développez.com - Utiliser CMake pour compiler un projet

Etape par étape, je vais détailler les outils correspondants au métier de l'Ingénieur d'intégration continue. Dans les équipes de développement une personnes est dédiée à l'intégration continue. C'est ce qui différencie un développement artisanal d'un véritable développement professionnel. 

Alors quelles sont les spécificités de ce métier ? Quelles sont les nouveautés de ces dernières années.

Ingénieur d'intégration continue définition de poste

Je débute par une définition de poste voilà ce que je propose :

Collaborer avec les experts techniques R&D (architectes logiciel et experts métier) et les utilisateurs (équipes de qualification des produits) pour comprendre les exigences métier et identifier les solutions d’intégration et déploiement automatisés et de validation automatique de nos produits logiciels.

Il s'agit bien sûr d'une très grosse société au sein d'une très grosse équipe. Là on se rend compte que l'intégration continue n'a pas pu être mise en œuvre, il faut donc un facilitateur.

Et l'on donne l'outil Jenkins

Nous y voilà, nous avons une parfaite connaissance d'MSBuild on y ajoute les Outils d'Intégration Continue et au dessus de tout ça l'outil Jenkins va nous permettre de faire quoi ?

https://jenkins.io/solutions/c/
Jenkins Documentation Use-cases - C/C++

Jenkins Définition

Jenkins est un serveur d'automatisation open source autonome qui peut être utilisé pour automatiser toutes sortes de tâches liées à la création, au test, à la livraison ou au déploiement de logiciels.

Jenkins Installation

Jenkins est une application web à laquelle on accède par localhost une fois installée.

Jenkins - Getting started with the Guided Tour

La suite consiste à créer des pipeline des canaux de livraison continue. L'objectif de Jenkins est de pouvoir enchaîner les différentes étapes pour construire tester et déployer l'application.

Vous maîtrisez un outil comme Jenkins vous êtes un Ingénieur d'Intégration Continue.

Vous avez maintenant tout le loisir de vous former à Jenkins. Je voudrais aborder une notion importante de Jenkins c'est Blue Ocean dit comme ça c'est flou mais Blue Ocean vient se mettre au dessus de Jenkins et permet de repenser l'expérience utilisateur de Jenkins. Blue Ocean est un éditeur de pipeline.

En suite, je pense faire un tour du côté de ce site :

Continuous Integration with MSBuild and Jenkins – Part 1

Et puis un petit retour sur la doc Jenkins et l'intégration de MSBuild Plugin pour l'intégration continue sur plateforme Windows :

Jenkins - MSBuild Plugin

Car MSBuild cela je connais bien :

MSBuild - Outils d'intégration continue

Donc un Ingénieur d'intégration continue ce serait quelqu'un qui maîtrise aussi bien MSBuild que Jenkins. Ce blog est donc l'outil pour devenir un Ingénieur d'Intégration Continue.


mardi 2 avril 2019

Comment traduire un logiciel développé en Java en langage C#.NET ?

C'est la question que l'on me pose aujourd'hui alors en tant que consultant, je vais trouver la réponse et cela ne m'a pas l'air si simple. Je connaissais un outil de transfert du langage Visual Basic en C# mais de Java en C# ... je ne vois pas encore alors creusons la question.

Pour aller du langage Visual Basic en C# : Telerik - Code Converter

Oui les bons mots clefs sont : Converter ou Translator et je trouve un site en ligne qui fait à peut prêt tout :

https://www.carlosag.net/tools/codetranslator/
Traduire d'un langage de programmation dans un autre C#, Java, VB.NET, TypeScript
En suite il y a des solutions payantes pour quelques centaines de dollars pourquoi se priver :


https://www.tangiblesoftwaresolutions.com/order/order-java-to-csharp.html
Translater du soft écrit en Java vers du C#
Et voilà, on a fait le tour de la question très rapidement en trouvant des outils en ligne gratuits qui peuvent permettre de prendre en main une partie automatique de la traduction et pour aller plus vite certainement avec un outil payant.

Quant à moi je crois que je apprendre le Java ;-)



vendredi 8 mars 2019

ZDNet - Outil de reverse engineering sous licence libre Ghidra

Vous connaissez Ghidra ? La National Security Agency a publié Ghidra, un outil de reverse engineering sous licence libre utilisé depuis plus de 10 ans en interne. ZDNet - Ghidra

L'existence de Ghidra a été initialement rendue publique via Wikileaks en mars 2017 mais il a fallut attendre la déclassification du logiciel deux ans plus tard. Les formats binaires pris en charge sont très nombreux on retrouve dans la liste un nombre impressionnant de micro-processeurs.

https://ghidra-sre.org/
Outil de reverse engineering de la NSA

Il existe une alternative nommée IDA Pro mais elle vaut des milliers de dollars par an. IDA Pro est un désassembleur et débogueur pour Windows Linux ou Mac OS. C'est le standard en matière d'analyse de code hostile.

NSA sous GitHub - Ghidra
NSA sous GitHub - Ghidra 

Cet outil est maintenant un logiciel Open Source sous Github :


Ghidra est en Java, il faut avoir installé le Java Development Kit 11. Mais a priori l'installation de cet outil n'est pas plus compliqué que de dézipper l'archive.

Au cas cela disparaisse moi je prends des notes et je l'ai téléhargé ... LoL ...