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 ...

mercredi 27 février 2019

C'est quoi l'outil de partage de fichiers Dropbox

Vous connaissez forcément OneDrive, l'outil de partage de fichiers intégré à l'OS de Windows de Microsoft. Alors Dropbox c'est la même chose ou c'est mieux ?

https://www.dropbox.com/business/tour
Dropbox Business
Je dirais tout simplement que c'est le même principe de base concernant le partage des fichiers Dropbox amène au dessus de cette couche fonctionnelle tout ce qui est gestion de groupe collaboration entre équipes.

J'ajoute que si vous êtes seul OneDrive suffit ;-) si votre équipe grossie passez à Dropbox c'est un excellent outil collaboratif de partage du travail.

Concept marketing la sécurité

Ils écrivent : Préservez la sécurité de votre entreprise
Protégez-vous contre les fuites de données des fuites et les attaques malveillantes. Dropbox Business vous offre une sécurité et une durabilité haut de gamme sans les coûts élevés et la gestion complexe d'un serveur de fichiers, d'un FTP ou d'une solution NAS.

Mais attention, il n'y a pas de sécurité absolue sur Internet ... à voir avec le temps si certains clients de Dropbox ne se sont pas fait attaqués et voler leurs données.

Pour terminé avec Dropbox

La page de comparaison des différentes solutions cela permet d'avoir une liste de toutes les fonctionnalités et le tarif :

Dropbox - Choisissez la solution qui vous convient
Avec Dropbox Business accédez à une collaboration plus sûre et efficace simplifiez-vous la tâche en vous offrant un emplacement centralisé pour accéder à vos fichiers et les partager.

mardi 26 février 2019

Encore quelques Tutos sur Git - Bitbucket et les workflows

Je découvre les Workflows de Git avec Gitflow et je trouve les tutoriels d'Atlassian intéressants, bien faits, clairs. Alors je prends des notes car cela me semble très intéressant pour la suite.

Workflow Gitflow | Tutoriel Git d'Atlassian

Git-flow est un wrapper Git.

Il faut Installer git-flow et lancer la commande : git flow init

Elle créé des branches pour nous faciliter les tâches de développement collaboratif.

Du coût dans Bitbucket, on trouve plein d'aides sur Git même si vous avez déposé vos Repos dans Github toute cette aide peut être intéressante.

Utilisation d'une branche Git pour merger un fichier

De SVN à Git – Préparation de la migration

Basic Git commands

Autrefois, Git était connu pour nécessiter un apprentissage de longue haleine. Cependant, les mainteneurs Git n'ont cessé d'apporter des améliorations, comme des valeurs par défaut sensibles et des messages d'aide contextuels, pour rendre le processus d'intégration plus agréable.

Ah oui vous trouvez ?! Lol, Il y a trop d'outils annexes, on ne sait plus quoi utiliser pour rationnaliser Git.

Comparaison de workflows

Voilà et bien d'autres informations sur le site Bitbucket d'Atlassian.

jeudi 21 février 2019

Outil pour s'organiser en utilisant la méthodologie Scrum

Connaissez-vous un outil pour vous organiser en utilisant la méthodologie Scrum ? Non, alors découvrons ensemble l'outil logiciel scrumwise pour bien utiliser la méthodologie Scrum :

https://www.scrumwise.com/
scrumwise

Et d'abord son message marketing :

L'outil agile le plus simple que vous trouverez. Scrumwise vous permet de vous concentrer sur votre projet, en vous donnant des résultats plus rapides, un meilleur travail d'équipe et une meilleure communication.

Et à part cela ?

Il semble que la communication sur cet outils soit bien moderne sur le site le bouton le plus facile à cliquer c'est "Free try now" ce qui ne signifie pas que c'est le meilleur outil ...

Les fonctionnalités :

Equipes et rôles

Créez des équipes et attribuez des rôles. Gardez une trace de la vitesse de votre équipe et travaillez sur plusieurs fuseaux horaires. Discutez avec les membres de l'équipe, faites des annonces et partagez des fichiers.

Gestion des arriérés

Créez des backlogs et organisez-les à l'aide de listes, de balises et de filtres. Utilisez des épopées pour garder un aperçu de haut niveau des choses. Divisez le travail en morceaux gérables à l'aide de sous-tâches et de listes de contrôle.

Gestion des versions

Planifiez efficacement les rejets à long terme, en prévoyant les dates de diffusion en utilisant les vitesses et le taux de combustion prévus. Savoir si vous êtes sur la bonne voie ou non.

Sprint management

Organisez les sprints de manière visuelle en répartissant le travail entre vos équipes. Voir quelle équipe est sur-affectée et faire des ajustements à la volée. Gérez les vacances, les allocations partielles et le travail de fin de semaine.

Tableaux de tâches

Concevez vos propres tableaux de tâches faciles à utiliser, où tout se met à jour en temps réel. Chaque élément du carnet de commandes a sa propre ligne dans le tableau, ce qui permet de garder facilement les sous-tâches ensemble.

Graphiques de Burndown

Visualisez vos progrès dans les tableaux de burndown, en tenant automatiquement compte des vacances et du travail du week-end, quel que soit le fuseau horaire de l'équipe.

Conseils Kanban

Utilisez des tableaux Kanban lorsque vous n'avez pas besoin de sprints pour créer un tableau pour chacun de vos flux de travail. Mélangez Scrum et Kanban librement, pour une flexibilité totale.

Suivi du temps

Suivez le temps de facturation et de comptabilité et obtenez des journaux de temps détaillés pour des personnes individuelles, des sprints, des équipes et des périodes calendaires. Exporter au format CSV ou copier directement dans des feuilles de calcul.

Le Prix ?

Entre 9 et 7,50 dollars / mois / utilisateur

Alors pourquoi s'en priver d'autant que vous pouvez essayer gratuitement ...

Dashboard Scrumwise

Voilà, vous connaissez d'autres outils de ce type pour s'organiser en méthodologie Scrum ?

N'hésitez pas à faire votre commentaire.

mercredi 9 janvier 2019

C'est quoi l'industrie 4.0 ?

L'industrie 4.0 qu'est ce que cela implique ? Certaines normalisations, certains concepts acceptés par tous et quoi encore ? Des protocoles de communication communs. Venez, on va trouver la réponse.
 
L'industrie 4.0 une révolution
L'industrie 4.0 une révolution

Bien sûr, on parle d'IoT mais aussi beaucoup de blabla sur le dessin on voit que l'industrie 4.0 se sont les machines qui discutent entre elles soit à l'intérieur de l'usine mais cela peut être aussi d'usine à usine.

Pour nos amis anglais notons qu'ils appellent cela la smart factories. Pour la standardisations et les normalisation il s'agit du standard "OPC UA" particulièrement adapté aux communications entre machines.

Autres protocoles IEC 62264 (intégration des systèmes entreprise-contrôle)
IEC 61512 (conception et la spécification des systèmes de contrôle des procédés de fabrication batch)

Pour la communication entre eux des objets de l'industrie 4.0, on parle de technologie RFID. OPC UA sert de protocole de communication.

La prochaine norme 5G vise à répondre à l'industrie 4.0.

Protocole OPC UA

Il important que les équipements puissent communiquer et fonctionner en bonne intelligence quelque soit le fabricant, dans l'usine 4.0, il ne faut pas de format propriétaire mais un protocole ouvert unifié et Open Source.

OPCUA permet de dispatcher des commandes grâce à l'exécution de méthodes et permet de spécifier des événement et de recevoir des notifications.

L'OPC UA a été implémenté dans différents langage de programmation C++, C#, Java. L'OPC UA implémente le design pattern de l'observer qui permet de s'abonner à des notifications. Il implémente également le classique Client/Serveur.

Lorsqu'un appareil est compatible OPCUA il suffit de la connecté sur le réseau Ethernet de l'usine et il est immédiatement opérationnel sans autre manipulation à effectuer.

OPC Unified Architecture

Implémentations en langage C++




lundi 7 janvier 2019

C'est quoi OpenCL ? Langage de programmation Open Computing Language.

Ce n'est pas tous les jours que l'on découvre un nouveau langage de programmation alors quant on me parle d'OpenCL, je m'empresse d'aller voir ce que c'est que ce nouveau langage de programmation.

Langage de programmation OpenCL
Le langage OpenCL c'est comme du C

OpenCL ou Open Computing Language, c'est la combinaison d'une API et d'un langage de programmation dérivé du C et comme son nom l'indique "open" c'est un standard ouvert, open source (quoi que Apple en dépose une marque ...). Ce langage informatique est conçu pour programmer des systèmes parallèles hétérogènes comprenant un CPU multi-cœur et un GPU, il est créé en juin 2008.

Le langage OpenCL est à l'intersection des mondes CPU parallèles et GPU programmables.

Initialement conçu par Apple pour collaborer avec AMD, Intel et Nvidia autrement dit tout le monde.
AMD décide de supporter OpenCL et DirectX 11

OpenCL 1.1 est publiée en juin 2010 par le Khronos Group

Xilinx

On retrouve OpenCL dans la programmation de Xilinx (FPGA) Circuit Logique Programmable associé à l'IDE Eclipse :

Xilinx - Familiar Embedded C/C++/OpenCL Application Development Experience

Xilinx - SoC

SDSoC Environment Demo

SoC : Single or Dual-core
MPSoC : Dual or Quad-core
RFSoC : Quad-core ARM

Les dernières news sur toutes ces technos concernant le Langage OpenCL :

LinuxGizmos - 16nm Zynq SoC mixes Cortex-A53, FPGA, Cortex-R5

Xilinx - Zynq UltraScale+ MPSoC Product Advantages


Microsoft DirectX

C'est quoi Microsoft DirectX 11, j'en parle souvent avec la librairie OpenGL, en disant que si le langage C++ existe encore c'est parce que de telles librairies existent et ne sont pas traduites dans d'autres langages. car le langage C++ est la manière la plus efficace pour adresser c'est librairies.

Librairies Microsoft Windows

Developpez.net - Affichage des résultats du sondage: Quels API 3D préférez vous ?

Wikipédia - Comparison of OpenGL and Direct3D

C'est donc des librairies de fonctions qui permettent de dessiner sur l'écran ...

Direct3D : est un sous-ensemble de DirectX une librairie graphique pour dessiner en 3D

DirectX : ensemble de librairies, n'adresse pas seulement les graphismes mais aussi le son, la mise en réseau et le multimédia.

DirectX est sur Intel tandis qu'OpenGL est sur AMD. DirectX ne fonctionne que sous Windows et X
Box. Si vous avez besoin de développer pour plus que Windows OpenGL est la solution.

C'est quoi le Deep Learning ?

Il faut que je fasse un article pour présenter simplement ce qu'est le Deep Learning (ou apprentissage profond) en quoi on parle également à propos du Deep Learning de l'Intelligence Artificielle.

Il faut commencer par le "neurone formel" avec sa fonction d'activation qui est l'unité élémentaire en en mettant plusieurs on fabrique un "réseaux de neurones artificiels".


https://fr.wikipedia.org/wiki/Neurone_formel
Neurone avec fonction d'activation à seuil

On parle de "Perceptron" à rétroaction. Alors nous les électroniciens on connait bien la "boucle de rétroaction" en prenant une petite partie du signal de sortie on vient corriger l'entrée, elle sert dans l'industrie sous le nom de servomoteur pour stabiliser la vitesse des machine à vapeur.

Boucle de rétroaction
Boucle de rétroaction

Pour moi la rétroaction c'est "l'apprentissage" dans le sens ou l'on vient corriger ce que l'on a déterminé.

Réseau neuronale à rétroaction
Réseau neuronale à rétroaction

Avec un début d'algorithme :

Règle d'apprentissage du perceptron

Le perceptron de Frank Rosenblatt est très proche de la règle de Hebb, la grande différence étant qu'il tient compte de l'erreur observée en sortie.
Cette fonction est recommandée lorsque la tangente hyperbolique (tanh) est utilisée comme fonction d'activation.

W'(i) = W(i) + Alpha( Y(t)-Y ) * X(i)

avec :
W'(i) = le poids i corrigé
Y(t) = sortie attendue
Y = sortie observée
Alpha = le taux d'apprentissage
X(i) = l'entrée du poids i pour la sortie attendue Y(t)
W(i) = le poids i actuel

C'est trois systèmes sont constitutifs du réseau neuronale a apprentissage, c'est le début du Deep Learning on le conçoit alors presque entièrement quand on arrive au "Perceptron multicouche" :

Perceptron multicouche
Perceptron multicouche

Et surtout l'algorithme de rétropropagation présenté sur cette page dont je prends note ici.

Algorithme de rétropropagation

  1. Présentation d'un motif d'entraînement au réseau.
  2. Comparaison de la sortie du réseau avec la sortie ciblée.
  3. Calcul de l'erreur en sortie de chacun des neurones du réseau.
  4. Calcul, pour chacun des neurones, de la valeur de sortie qui aurait été correcte.
  5. Définition de l'augmentation ou de la diminution nécessaire pour obtenir cette valeur (erreur locale).
  6. Ajustement du poids de chaque connexion vers l'erreur locale la plus faible.
  7. Attribution d'un blâme à tous les neurones précédents.
  8. Recommencer à partir de l'étape 4, sur les neurones précédents en utilisant le blâme comme erreur.
Voilà j'ai fait un tour rapide bien plus rapide qu'en lisant toutes les pages de Wikipédia pour aller directement au but le Deep Learning. Il reste des notions à préciser. ce que je ferais plus tard.

Des cas concrets soit disant mais franchement cet article n'est pas terrible :

Forbes - 10 Amazing Examples Of How Deep Learning AI Is Used In Practice?

Pour aller beaucoup plus loin, je vous conseille mais c'est en anglais :

Deep Learning in Neural Networks: An Overview

Promis, un jour je vous ferai un résumé.

Bon année 2019 !

vendredi 28 décembre 2018

Avertissement Système! Votre système de sécurité Windows est endommagé !

C'est incroyable le moteur de recherche Bing sur la page d'accueil d'Internet Explorer 11 est devenu incompatible avec Windows 7 ! Ce matin j'ouvre mon Internet Explorer pour Windows 7 c'est à dire en vérité Internet Explorer 11, le dernier IE qui fonctionne sous Windows 7.

J'ai devant moi la page d'accueil du moteur de recherche Bing et je me dis que c'est véritablement de la Daube en barre, des pubs, des articles racoleurs stupides, des articles inutiles, des fenêtres de Pub qui changent toutes seules et essayent d'attirer mon attention pour que je clique sur un devis en ligne pour trouver une mutuelle moins chère ! Quelle Daube ! Et je me dis que je vais changer ma page d'accueil pour y mettre le moteur de recherche Google.

Alors que je suis là, dans la contemplation de ce désastre devant cette page stupide, une fenêtre surgissante m'indique :

Avertissement Système! Votre système de sécurité Windows est endommagé !

Il ne manquerait plus que ça ! Voici la page d'accueil de mon Internet Explorer 11 sous Windows 7 :



Votre système de sécurité Windows est endommagé !
Win Erx03 - Votre système de sécurité Windows est endommagé !

J'ai été redirigé automatiquement vers une page nommée  : "Win Erx03" on dirait un ransomware c'est catastrophique cet Internet Explorer 11 pour Windows 7.

Solution Ransomware Win Erx03 Windows 7 IE 11

Bien sûr NE FAITES SURTOUT PAS la mise à jour, c'est une arnaque. On vous prédit que tous vos fichiers seront supprimés au bout de X secondes, C'EST FAUX c'est un canular. Pas drôle !

Faites simplement : Dans le Gestionnaire des Tâches de Windows -> Bouton droit sur l'application Internet Explorer -> Fin de tâche

Internet Explorer Win Erx03 - Solution

Si une fois ne suffit pas, en effet ce processus essaye de se relancer, recommencez, Internet Explorer 11 fini par se fermer !
Ouf !

Je vous laisse une page complète sur ces sujets d'installe de paramètre navigateur :

PCrisk - Arnaque Microsoft System Security Alert

Faites attention quand même, je ne suis pas sûr que : "Réinitialiser vos paramètres Internet Explorer" ne vous laisse pas plus dans le caca que de ne rien faire. 

En effet, souvenez-vous, les paramètre IE sont tellement ... comment dire ... merdiques à configurer ... il faut maîtriser la chose.

Marre de ces bêtises, je pars à la plage !