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 !

jeudi 20 décembre 2018

Comment configurer OpenVPN dans l'Azure Cloud ?

Je cherche à utiliser le logiciel OpenVPN pour me connecter à ma passerelle VPN que j'ai créé dans l'Azure Cloud de Microsoft. Comment faire ? J'ai maintenant réussi à configurer OpenVPN sur mon poste hôte mais si je ne créé pas de passerelle VPN dans l'Azure je ne vois pas comment me connecter à ma machine virtuelle Azure.

Configurer des clients OpenVPN sur la passerelle VPN Azure (préversion)

Je me dis que si je créé une passerelle dans l'Azure, je n'aurais plus qu'à configurer mon client pour qu'il se connecte à ma machine virtuelle à travers la passerelle.

Alors allons-y.

Tout logiquement cet article me mène à :

Configurer OpenVPN pour la passerelle VPN Azure de point à site (préversion)

Qui me ramène à la première étape :

Configurer une connexion point à site sur un réseau virtuel à l’aide d’une authentification par certificat Azure native : Portail Azure

Avec le joli dessin :
Connexion VPN Point à Site
Connexion VPN Point à Site
L'essentiel dans cette page c'est l'explication donnée tout en haut :

Pour connecter un client individuel à un réseau virtuel Azure, la connexion VPN point à site permet de se connecter à un réseau virtuel à partir d'un emplacement distant.

La connexion P2S est une alternative au VPN de site à site lorsque il y a nombre restreint de clients qui se connectent au réseau virtuel.

Les connexion P2S ne nécessite pas de périphérique VPN ou pas d'adresse IP publique. La connexion P2S crée la connexion VPN vie SSTP (Secure Socket Tunneling Protocol) ou IKEv2.

Créer un VPN de Point à Site

On a vu deux types d'authentifications :
  • Certificat Azure Native
  • Domaine Active Directory
Je choisie Certificat Azur Native je me dis que AD il faut installer un serveur Radius ... plus compliqué ...

A chaque fois on peut faire avec le Portail Azure ou PowerShell


mercredi 19 décembre 2018

OpenVPN - Comment configurer votre VPN ?

Vous venez d'installer Open VPN et vous cherchez à configurer rapidement votre VPN (Virtual Private Network) entre la machine server sur Internet et votre post de travail.

C'est quoi un VPN
C'est quoi un VPN ?
Après l'installation, on remarque la commande installée : "Generate a static OpenVPN key".

Pour générer une Clef (une key) dans le répertoire : C:\Program Files\OpenVPN\config
Utilisez l'exécutable : Generate a static OpenVPN key
Cliquez dessus et voilà le fichier key.txt créé dans le répertoire "config".

Open VPN generate a key
Maintenant, il va falloir temporiser, la compréhension de tout le système OpenVPN va prendre du temps. Ce que l'on comprend assez vite c'est que la configuration du VPN va se faire "à la mano" en modifiant des fichiers de samples du répertoire "sample-config" et en allant les placer dans le répertoire "config".
 
sample-config -> config

Le client c'est votre machine hôte et le server la machine virtuelle sur laquelle vous cherchez à vous connecter en VPN.

J'ai un exemple de VPN configuré avec OpenVPN et dans cet exemple il y a trois fichiers dans le répertoire "config"
  • .p12
  • .ovpn
  • .key
Il s'agit d'un VPN sous Windows. Pour ma part j'ai beau lire les fichiers du répertoire "sample-config", je sens que je vais avoir besoin d'un peu plus de documentation.

Alors il y a bien cette documentation sur le site OpenVPN :


OpenVPN 2x HOW TO - Introduction
OpenVPN 2x HOW TO - Introduction

Il y a pourtant marqué introduction malgré tout c'est un peu costaud comme doc ... d'ailleurs si vous prenez le temps de lire l'Intended Audience :

INTENDED AUDIENCE
This HOWTO assumes that readers possess a prior understanding of basic networking concepts such as IP addresses, DNS names, netmasks, subnets, IP routing, routers, network interfaces, LANs, gateways, and firewall rules.

Bon, en gros vous devez être administrateur réseaux.

Connexion VPN en mode Static Key

Si on n'est pas administrateur réseau comment se dépatouiller ?
Il y a bien le chapitre :

Static Key Mini-HOWTO

C'est tentant, d'autant que l'on a vu comment générer une clef static, ça parait facile. Les restrictions de ce mode de configuration "Limited scalability — one client, one server" ne me posent pas de problème pour l'instant.

1 - Copier la clef statique dans le client et dans le server (en utilisant un canal sécurisé) bon ...
2 - Modifier les machines pour qu'elles soient dans le même domaine.

J'ai beau chercher :

disabling NCP mode (--ncp disable) because not in P2PM client or server mode

There is a problem in your selection of --ifconfig endpoints [local=40.89.154.136, remote=192.168.1.28].  The local and remote VPN endpoints must exist within the same 255.255.255.252 subnet.  This is a limitation of --dev tun when used with the TAP-WIN32 driver.  Try 'openvpn --show-valid-subnets' option for more info.

Il me semble que dans ce cas, c'est l'instruction OpenVPN :

>dev tun

qui est remise en cause et je ne pourrais pas l'utiliser car mes deux machine ne sont pas dans le même subnet ...

Quand je pense que cela fonctionnait tout seul sur mon ancienne machine ...
Allons voir comment sont configurés le "Centre réseau et partage".

Windows - Réseau et Internet
Windows - Réseau et Internet

Il y a une nouvelle "Connexion au réseau" installée par l'install d'Open VPN comme un driver souvenez vous, on nous a demandé d'acquiescer l'installation d'un Driver TAP. C'est peut être en allant regarder la configuration de cette connexion que l'on va comprendre comment configurer notre VPN.

https://github.com/OpenVPN/openvpn/
OpenVPN tap-windows
OpenVPN tap-windows

TAP-Windows pas de doc !? Snif

OpenVPN HowTo Install

Voici la quintessence de la doc ...

VPN avec connexion par pont ou connexion par routage ?

Le routage est probablement le meilleur choix, plus efficace, plus facile à configurer, meilleur contrôle sélectif des droits d'accès.

Voici les fonctionnalités qui nécessitent un Pontage :
  •  le VPN doit pouvoir gérer des protocoles non IP tels que IPX,
  • vous exécutez des applications sur le VPN qui reposent sur des diffusions réseau (telles que des jeux en réseau local), ou
  • vous souhaitez autoriser la navigation sur les partages de fichiers Windows sur le VPN sans configurer de serveur Samba ou WINS.

Numérotation des sous réseaux privés

La configuration d’un VPN implique souvent la mise en réseau de sous-réseaux privés situés à des emplacements différents.

L'IANA (Internet Assigned Numbers Authority) a réservé les trois blocs suivants de l'espace d'adressage IP pour les internets privés (codifiés dans la RFC 1918):

10.0.0.0
10.255.255.255
(10/8 prefix)
172.16.0.0
172.31.255.255
(172.16/12 prefix)
192.168.0.0
192.168.255.255
(192.168/16 prefix)

Il faut sélectionner des adresses minimisant la probabilité de conflit d'adresses IP ou de sous-réseau. Les conflits à éviter sont les suivants :
  • des conflits provenant de différents sites sur le VPN utilisant la même numérotation de sous-réseau LAN, ou
  • connexions d'accès à distance depuis des sites utilisant des sous-réseaux privés en conflit avec vos sous-réseaux VPN.
Par exemple, supposons que vous utilisiez le sous-réseau populaire 192.168.0.0/24 en tant que votre sous-réseau LAN privé. Vous essayez maintenant de vous connecter au VPN depuis un cybercafé qui utilise le même sous-réseau pour son réseau WiFi. Vous aurez un conflit de routage car votre machine ne saura pas si 192.168.0.1 fait référence à la passerelle WiFi locale ou à la même adresse sur le VPN.

Le VPN doit pouvoir identifier les sous-réseaux de manière unique. Il faut éviter les adresses 10.0.0.0/24 ou 192.168.0.0/24 comme adresse de réseau local privé. Les meilleurs candidats sont les sous-réseaux au milieu du vaste réseau 10.0.0.0/8 netblock (par exemple, 10.66.77.0/24).

Et pour éviter les conflits de numérotation IP entre sites, utilisez toujours une numérotation unique pour vos sous-réseaux LAN.

Try 'openvpn --show-valid-subnets' option for more info.

Encore quelques infos afin de pouvoir configurer les sous-réseaux que l'on va mettre en connexion grâce au VPN.

openvpn --show-valid-subnets
OpenVPN - openvpn --show-valid-subnets

Sous forme texte plus pratique :

C:\Program Files\OpenVPN\bin>openvpn --show-valid-subnets
On Windows, point-to-point IP support (i.e. --dev tun) is emulated by the TAP-Windows driver.  The major limitation imposed by this approach is that the --ifconfig local and remote endpoints must be part of the same 255.255.255.252 subnet. 
 
The following list shows examples of endpoint pairs which satisfy this requirement.  Only the final
component of the IP address pairs is at issue. As an example, the following option would be correct:
    --ifconfig 10.7.0.5 10.7.0.6 (on host A)
    --ifconfig 10.7.0.6 10.7.0.5 (on host B)
because [5,6] is part of the below list.
[  1,  2] [  5,  6] [  9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254]
 
La solution va passer par le configuration du driver réseau TAP-Windows

OpenVPN - TAP-Windows Adapter V9
OpenVPN - TAP-Windows Adapter V9

Considéré ce driver comme une carte réseau donc :

Driver TAP- Windows
Configuration du Driver TAP- Windows

Pour le DNS, j'ai choisi :

208.67.222.222
208.67.222.220

Grâce à l'utilitaire DNSBench


https://www.grc.com/dns/benchmark.htm
Utilitaire DNS Benchmark

OpenVPN Troubles

Sur le Server, je n'ai pas réussi à obtenir une connexion avant de la renommer comme dans à la page suivante :

Windows: issue: netsh command failed: returned error code 1

Étonnant non ?

NETSH: command failed - now OK
NETSH: command failed - now OK

Remarquez le nouveau nom : Ethernet VPN et la connexion est OK !

Attention : Il faut lancer OpenVPN GUI en mode Administrateur

Don’t forget to enable IP Forwarding on the OpenVPN server machine - On Windows

Your computer appears to be correctly configured, but the device or resource (DNS server) is not responding

Method 3: Use the Ipconfig command-line tool. To do this, follow these steps:

1 - Select Start, type command prompt in the Search Programs and files box, press and hold (or right-click) Command Prompt, and then select Run as administrator.
2 - At the command prompt, type the following commands. Press Enter after each command.
>ipconfig /flushdns
>ipconfig /registerdns
>ipconfig /release
>ipconfig /renew

Configuration d'un réseau virtuel dans l'Azure

Configurer des clients OpenVPN sur la passerelle VPN Azure (préversion)
C'est le terme préversion qui fait peur, cela fonctionne t-il ?

Configurer une connexion point à site sur un réseau virtuel à l’aide d’une authentification par certificat Azure native : Portail Azure
Ca se complique ...

Heureusement, il y a un petit dessin :

Configurer une connexion point à site à l'aide d'une authentification par certificat (classique)
Configurer une connexion point à site à l'aide d'une authentification par certificat (classique)
Documentation sur la passerelle VPN Azure
Je crois qu'il faut commencer par là ...

Seulement on s'éloigne de la connexion en mode "Static Key".

On vient de mettre le doigt dans un gros truc, je reviendrai pour finir, c'est promis !

vendredi 14 décembre 2018

Connaissez-vous la RPA, la Robotic Process Automation ?

Dans son principe la Robotic Process Automation est une technique qui consiste à mettre à la place de l'utilisateur un robot face aux IHMs du Système d'Information. Ceci afin d'automatiser des tâches répétitives.

Soit le robot vient en aide à l'utilisateur, on parlera alors de "RPA Attended", soit le robot s'exécute de façon autonome, on parlera alors de "RPA Unattended".

RPA - Robotic Process Automation
RPA - Robotic Process Automation

La RPA se situe au dessus du scriptage au sens ou le robot attaque directement l'IHM du Système d'Information. Il y a conservation de l'intégrité des données telles qu'elles sont traitées par les utilisateurs alors qu'un script pourrait endommager des données ou ne pas respecter le processus utilisateur.

Je fais l'impasse sur les arguments marketing ce qui m'importe c'est l'intérêt de la solution technique. Après une première recherche sur Internet à la vue de la qualité et de l'agressivité des Sites, c'est sûr, c'est un sujet en vogue en ce moment.

Je vous laisse lire les arguments marketing des premières solutions trouvées sur Internet :

Kofax - Get the Power of Robotic Process Automation

Laserfiche - What is Robotic Process Automation?

Techniquement qu'elle pile d'outil qu'elle Stack ?

Pour réaliser un projet de RPA, il faut mettre en place de outils on parle de UiPath grafiquement on a vu lors d'une démonstration, la possibilité de réaliser un graphe de processus pour enchaîner les opérations nécessaires à la réalisation de la tâche de RPA.

UiPath Solution

Pas de prix, pas de détail sur la solution, on vous propose de : "Démarrer tout suite". C'est embêtant on a peu d'élément pour se faire  une idée de la solution.

Je vous laisse avec les arguments marketing :

UiPath - Robotic Process Automation (RPA)

Donc techniquement de quoi vas t-on avoir besoin pour mettre en œuvre notre projet de RPA ?

Stack Open Source de RPA Robotic Process Automation

python

Le langage, le ciment fédérateur de la stack d'outils

Autolt

AutoIt Scripting Language : AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general Scripting.

https://www.autoitscript.com/site/autoit/
Autolt - Scripting

AutoIt v3 est un langage de script gratuit de type BASIC conçu pour automatiser l'interface graphique Windows et les scripts généraux. Il utilise une combinaison de frappes de touche simulées, de mouvements de la souris et de manipulations de fenêtres / contrôles afin d’automatiser les tâches de manière impossible ou fiable avec d’autres langues (par exemple, VBScript et SendKeys).

Selenium

Set of tools used to automate testing of Web Applications

sikuli

Réaliser vos scripts de façons visuelle

Jenkins

bien connu des développeurs DevOps

JOBScheduler

pourquoi pas

ELK Stack

Faire des logs, des logs, toujours logger pour savoir ce qu'il se passe au sein du SI.

Open RPA

Bon et alors et maintenant ? Si on essayait d'en savoir un plus techniquement en regardant par exemple les solutions Open RPA en opposition aux solutions propriétaires qui oblige à être en relations commerciale avec le fournisseur.

Voici la solution LECSYS :

LECSYS - Open RPA
La RPA (Robotic Process Automation) consiste à remplacer des actions utilisateurs sur l’environnement informatique existant (SI, outils bureautique, web…) par des actions effectuées par un automate.

RPA Exemples et Toturials

Allons encore un peu plus loin avec Guru99 :

GURU99 - RPA Tutorial: What is, Tools and Samples
Une vision industrielle de la Robotic Process Automation avec un exemple concret d'automatisation du traitement des factures. Des explications et des exemples vers les principaux outils comme UiPath, Blue Prism, en anglais.

Conclusion sur la RPA

J'ai maintenant une idée plus fine et je l'espère vous aussi de ce que peut être la RPA (Robotic Process Automation). Je compléterai cet article la prochaine fois que l'on évoquera la Robotic Process Automation.

Ca fait un peu flipper ce concept quand même. Et malgré les arguments marketing que vous pouvez avoir lu, ce n'est pas à mettre dans toutes les mains, il faut une bonne maitrise de la programmation pour réaliser et aller au bout d'un projet réussi de RPA.

N'hésitez pas à commenter apportez votre grain de sel !

vendredi 7 décembre 2018

Quel est le meilleur outil de VPN (Virtual Private Network) gratuit ?

On se fait toujours un monde d'une connexion VPN, quand le manager de l'équipe te dit merci de monter un VPN entre ton poste et la machine "une telle". Je sais pas vous, mais moi je panique un peu. Sans doute car quand j'ai débuté il y a 20 ans monter un VPN ce n'était pas si facile.

Alors quel sont les bons outils pour démystifier le VPN le Virtual Privat Network. Un VPN est un "tunnel sécurisé" à l'intérieur d'une réseau, établit entre deux machines pour leur communication.

Je cherche donc Outils de VPN Gratuits et c'est là le paradoxe, je ne tombe que sur des annonces payantes. C'est à dire que des sites vont payer pour me donner de l'informations sur des outils de VPN Gratuits. Je ne comprends pas bien la logique mais bon...

Les outils de VPN Gratuits
Les outils de VPN Gratuits
Je commence à regarder tous ces outils lesquels sont vraiment gratuit, difficile à dire. En plus je me souviens d'avoir utilisé un outil simple ultra performant que je me permets de vous présenter :

https://openvpn.net/community-downloads/
Outil Gratuit pour établir un VPN
On y trouve un installeur pour Windows :

OpenVPN installer for Windows
Et voilà c'est parti vous voici avec un bon outil pour établir un VPN c'est à dire une connexion sécurisé entre votre machine et une machine du réseau que vous souhaitez atteindre.

Merci qui ?

Have fun!

jeudi 29 novembre 2018

C'est quoi l'outil de Gestion de Configuration Puppet ?

C'est l'objectif de ce blog que de décrire ces outils pour s'y retrouver un peu et tenter de trouver les outils qui conviennent le mieux pour vos développements, alors cette fois on me parle de Puppet.

L'outil puppet c'est quoi ?

Wikipédia - Puppet
Gestion de la configuration de serveurs esclaves ... Puppet est écrit à l'aide du langage Ruby. Déploiement de systèmes applicatif sur des machine virtuelles Amazon EC2. Version commerciale qui gère en plus les machines Virtuelles VMware. Automatisation et orchestration des déploiements.

Puppet est utilisé dans la suite Satellite de Red Hat. Il existe une version pour Windows !?

https://puppet.com/download-puppet-discovery
https://puppet.com/download-puppet-discovery

Le site : https://puppet.com/

Puppet - Products
Puppet - Products

Quelques images pour se donner une idée de l'interface graphique et de sa complexité :

Puppet - Cluster
Puppet - Cluster

Et le Puppet Projects :

Puppet - Projects

Puppet - Pipline for containers :

Fournir des applications natives vers le Cloud de Kubernetes.

Puppet - Pipline for containers
Puppet - Pipline for containers

Quelques définitions des fonctionnalités trouvées sur le site de Puppet :

Les Pipelines de Puppet simplifient la diffusion continue et offrent à vos développeurs une automatisation simple, en libre-service, leur permettant ainsi de livrer des applications sans délai, sans attendre quelqu'un d'autre.

Puppet automatise la création et le déploiement de vos applications, qu’il s’agisse d’applications traditionnelles empaquetées ou natives sur le cloud, exécutées sous Kubernetes, et vous offre une visibilité approfondie et des traces de vérification pour chaque action entreprise.

Tout ceci à l'air extrêmement complexe et complet espérons le. Je trouve des versions d'essai et toute la documentation nécessaire.

Voilà maintenant j'ai une idée un tout petit peu plus de clair de ce qu'est Puppet ...

Puppet 5 Beginners's Guide

Et sinon il y a des scéances de cours :

Getting Strated With Puppet

On est quand même sur du $2,400 USD pour trois jours de cours Puppet ...

De toutes les façons, sur leur site, où que vous essayez d'aller, vous allez vous trouvez face au fameux formulaire :

"Enregistrez-vous pour démarrer maintenant" :

Puppet - Sign Up
Puppet - Sign Up

Je n'aime pas beaucoup cette pratique, pas de cas d'utilisation pas de comparaison par rapport à d'autres solutions, vous êtes jeté dans le grand bain et à vous de vous démerder pour apprendre à nager. 

C'est votre temps que vous devez investir. Il faudra trouver une autre solution pour évaluer cet outil de façon plus approfondie...

Have fun!

vendredi 23 novembre 2018

C'est quoi Ansible ? IT automation tool ?

On est dans le vif du sujet, la prolifération des outils de développement logiciel est faramineuse et leurs noms n'évoquant absolument rien il est bien difficile mémotechniquement de retenir tout ça. Alors Ansible c'est quoi ?

Je cherche un peu, je tombe bien directement sur la documentation : Doc Ansible
 
Documentation Ansible
Documentation Ansible

Et si on en croit la documentation c'est un outils d'automatisation des tâches de l'intégration continue avec un temps nul de retour en arrière. Autrement dit si un erreur est détectée durant le déploiement d'une nouvelle release on peut retrouver rapidement l'état précédent de fonctionnement correcte.

Et dans la doc :

Control Machine Requirements
Currently Ansible can be run from any machine with Python 2 (version 2.7) or Python 3 (versions 3.5 and higher) installed. Windows isn’t supported for the control machine.
This includes Red Hat, Debian, CentOS, macOS, any of the BSDs, and so on.

Dommage !


Une belle vidéo :
With Ansible - Solve IT, Automate IT, Share IT

On dirai que c'est un peu lié à la distribution Linux Red-Hat :

Ansible & RED HAT

Ansible is a Tower.

Oui mais ce n'est pas pour Windows. Encore que : Ansible Windows Guide

A creuser !


Découvrons les outils de la Business Intelligence (BI ou décisionnel)

A quoi servent ces outils de la Business Intelligence quels sont-ils ? Comment comprendre leurs fonctionnalités pour les mettre en œuvre rapidement. Il me semble que cela concerne le traitement des données d'une base de donnée mais pas seulement.

Les outils de la Business Intelligence (BI)
Les outils de la Business Intelligence (BI)

Je tombe sur une annonce pour l'emploi de la société Business & Decision : ils cherchent un Consultant Talend au sein du Business & Decision Corporate Services et dans l'annonce il est stipulé que bien évidemment : "Vous maitrisez au moins un outil décisionnel (ODI, Datastage, Informatica, Qlikview, Tableau Software, BO, Cognos, Talend, Power BI, SQL Server, Oracle, etc)

J'avoue, je suis surpris par autant d'outils et en même temps je trouve cela un peu présomptueux de connaitre tout cela. Forcément je connais SQL Server et encore pas complétement les outils BI qui sont autour d'SQL Server. Je connais également Oracle pour avoir été obligé de travailler avec.

Alors faisons le tour de tous ces outils de la Business Intelligence (BI) afin de voir ce que cela implique comme connaissances et ce que l'on va bien pouvoir faire avec ça.

Power BI

On plutôt Microsoft Power BI, c'est un outil d'analyse qui délivre des insights qui permettent des décisions rapides, en toutes connaissances de causes.
Passez des données aux insights en quelques minutes.

Du blabla non ?

Microsoft Power BI
Microsoft Power BI

Des graphiques pour analyser vos données.


Télécharger gratuitement
Un .msi  de  200 Mo pour l'installation de Power BI Desktop.

Talend

Puisque cet outil de Business Intelligence qui est mis en avant dans l'annonce APEC que je sitais ci dessus, voici donc Talend outil BI :

Talend : Déplacez vos données
Talend : Déplacez vos données

Cette fois ce n'est pas facile de comprendre ce que fait cet outil. A peine vous cliquez on vous vous inscrire dans une appli web pour faire un essai de 30 jours !

talend - S'enregistrer
talend - S'enregistrer

Oui d'accord s'enregistrer mais pourquoi faire, ce n'est pas claire.

talend - Big data - Data integration - Data preparation
talend - Big data - Data integration - Data preparation

Et maintenant trois outils différents c'est encore moins claire.

Le menu Solutions

talend - les Solutions
talend - les Solutions

Je comprends que les outils BI talend peuvent adresser tous les clouds AWS, Azure, Google, Snowflake, Cloudéra Altus, Hadoop,

Peut être que le début commence avec TALEND DATA FABRIC

talend data fabric
talend data fabric

Et tout redevient flou où aller ? ESSAI GRATUIT ? Un formulaire pour demande votre version d'essai gratuite.

Il existe par ailleurs nombre d'outils gratuits :

talend outils gratuits
talend data fabric - outils gratuits

Alors j'ai eu l'occasion d'utiliser Talend et je dois dire que c'est un formidable outils de BI pour manipuler organiser les données de vos bases de données. Au moment où je l'ai utilisé il était gratuit sans restriction vous pouviez tout faire et des fonctionnalités il y en a.

C'est un outil graphique très facile à utiliser que je vous recommande.

Informatica

Outils d'intégration de données créer en 1993

Qlikview

Tableau Software

BO

Business Object

Cognos
SQL Server
Oracle

Imaginez ... et à continuer. Voici, c'était le monde de la Business Intelligence (le monde du décisionnel)

To Be Continued!

Connaissez-vous Kubernetes ? Outil du DevOps

Parmi les outils du DevOps voici Kubernetes, un outil qui a le vent en poupe. Intéressons nous aux fonctionnalités qu'il procure. Cet outil permet de gérer les applications mises en containers.

Les outils du DevOps Kubernetes
Les outils du DevOps Kubernetes

Définition : Kubernetes est un système open source permettant de gérer des applications contenairisées sur des hôtes multiples. Il fournit des mécanismes de base pour le déploiement, la maintenance et la mise à l'échelle (scale up) d'applications.

Ce projet open source est hébergé par le Cloud Native Computing Foundation (CNCF).

J'ai trouvé à travers la documentation quelque graphiques simples pour présenter cet outil :

Learn Kubernetes Basics

Qu'est-ce que Kubernetes peut faire pour nous ?

Avec les services Web modernes, les utilisateurs s'attendent à ce que les applications soient disponibles 24 heures sur 24, 7 jours sur 7, et les développeurs s'attendent à déployer de nouvelles versions de ces applications plusieurs fois par jour. 

La containeurisation aide les progiciels à atteindre ces objectifs, permettant ainsi aux applications d'être publiées et mises à jour de manière simple et rapide, sans temps d'arrêt.

Kubernetes vous aide à vous assurer que ces applications containeurisées s'exécutent où et quand vous le souhaitez et les aide à trouver les ressources et les outils dont elles ont besoin pour fonctionner.

Kubernetes est une plate-forme open source prête pour la production, conçue avec l'expérience accumulée de Google dans l'orchestration de conteneurs, associée aux meilleures idées de la communauté.

Kubernetes Basics Modules - Basic workflow

  1. Créer un cluster Kubernetes
  2. Deployer une application
  3. Explorer votre application
  4. Exposer votre application publiquement
  5. Scale up votre application
  6. Mettre à jour votre application

Voilà c'est tout pour l'instant, je garde en tête le nom de cet outil et s'il permet de faire facilement tout cela. Dans le cadre du DevOps, il est indispensable d'automatiser toutes les tâches possibles pas seulement pour gagner du temps mais pour supprimer les erreurs humaines également.

J'ai passé du temps à recueillir ces informations et pourtant ce n'est pas exhaustif, je ne sais même pas sur quelle plateforme cet outil s'installe !

Mise à jour, de plus en plus de client cherchent des compétences sur Kubernetes

Je me suis retrouvé dans un Bootcamp :

kubernetes bootcamp 1
kubernetes bootcamp 1

La seule commande que j'ai su taper c'est :

>exit

En fait, il faut cliquer sur les commandes dans la fenêtre de gauche sous "Cluster up and running" et vous verrez les commandes :

>minikube version

>minikube start ...

Vous avez alors les commandes qui s'exécutent et affichent leur déroulement dans la console.

Kubernetes dans le Cloud Azure de Microsoft

Je trouve toute une littérature sur le sujet, sur le site de Microsoft je trouve :

Kubernetes dans le Cloud Azure
Kubernetes dans le Cloud Azure

Microsoft - Azure Kubernetes Service (AKS)

AKS réduit la complexité et les coûts opérationnels liés à la gestion de Kubernetes en déléguant une grande partie de cette responsabilité à Azure.

Beaucoup de blabla, pas de cas pratique, beaucoup de liens vers d'autres technos. C'est normal, la complexité de Kubernetes ne s'appréhende pas en une demi-journée.

J'ouvre mon portail Azure et je cherche Kubernetes, je trouve "Kubernetes - Azure Arc", alors Azure Arc c'est quoi ? ... Ils appellent cela : Hybride et multicloud

Il me faut creuser encore ...