mercredi 20 janvier 2021

Encore un VPN voici Proton VPN

Je voudrais trouver un VPN que je pourrais utiliser facilement, à la mode en ce moment il y a  ProtonVPN. Allons y découvrons ce VPN.


Avec une version Free à 0 € / mois pour 1 connexion VPN Vitesse moyenne avec des Serveurs dans 3 Pays. Par la suite il faut créer un compte. 

C'est une très bonne nouvelle, cela va nous permettre de le tester sans investir.

Proton VPN

Voilà je prends rapidement cette note pour y revenir. J'avoue je galère pas mal avec OpenVPN je ne suis pas allé au bout.


mardi 12 janvier 2021

Vous avez envie de découvrir l'outils devops Terraform ?

Dans la stack des outils DevOps Terraform permet d'automatiser la construction de votre infrastructure. Pour faire au maximum du DevOps vous devez scripter tout ce que vous pouvez afin de pouvoir le rejouer dans n'importe quel environnement.

Terraform pour mettre sous forme de scripts votre infrastructure

Terraform vous permet de construire votre infrastructure (réseau de machines) sous forme de scripts en langage de configuration HCL (Hashicorp Configuration Language) ou plus récemment JSon. 

Les scripts Terraform sont dépendants du fournisseur de cloud. Un script Terraform écrit pour Amazon ne pourra pas être utilisé pour Azure.

Terraforme s'utilise sous dans le cadre d'une stack DevOps du style : Docker, Terraform, Ansible, Git, GitlabFlow, Python, Shell.

En travaillant avec Azure vous allez utiliser Azure CLI en ligne de commandes.

Ouvrez votre fenêtre PowerShell et tapez la commande suivante :

$ Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi

La suite du script Terraform de création de votre infrastructure dans le Cloud Azure :

Création de votre Infrastructure dans le Cloud Azure

Terraform porte bien sont nom puisse qu'il s'agit de former votre infrastructure dans le coud de votre choix.




jeudi 26 novembre 2020

Azure Cloud - Contrôler l'état d'une machine virtuelle avec Azure Automation

J'ai un compte Azure Cloud et plusieurs machines virtuelles, je cherche à optimiser mes coût, je passe par le Parcours d'Apprentissage dans Micorsoft Learn :

Microsoft Learn - Contrôler les dépense Azure et Gérer les factures
 avec Azure Cost Management + Facturation

Dans ce module j'apprends que je peux contrôler l'activité de mes machines virtuelle, les arrêter les démarrer avec Azure Automation par exemple pour qu'elles ne soient actives qu'aux heures de travail et que cela aura un impact sur le coût de mon abonnement Azure. En effet, une machine qui est arrêter coûte moins.

Créer un Azure Compte Automation

Je suis dans mon portail Azure, je cherche de la documentation sur Azure Automation, ce n'est pas intuitif ... Dans la barre de recherche, je tape Automation :

Azure Automation
Azure Automation - Documentation

Je regarde la partie : Scénarios courants pour Automation.

A ce niveau il y a des choses qui me paraissent intéressantes par exemple :

Protéger - Mettez les machines en quarantaine si des alertes de sécurité sont déclenchées. Définition d’exigences intégrées.

Bon ce n'est pas clair, et je trouve "Créer un compte Azure Automation" il faut créer un compte Azure gratuit avant de commencer. M'enfin, je suis sur Azure depuis plus d'un an, j'ai des facture tous les mois. 

C'est vraiment mal foutu ! Rien a dire, je suis dans mon portail Azure et je vais donc faire :

Azure Automation
Azure création d'un Compte Automation

C'est ambigu, on dirait que cette doc date un peu... Je peux créer un Comptes Automation en cliquant sur "+ Ajouter", je me retrouve avec un formulaire à remplir correspondant à la partie gauche de la documentation.

Azure Création d'un compte d'Automation
Azure Création d'un compte d'Automation

Le Compte d'Automation est une ressource supplémentaire qui s'ajoute à un Abonnement existant. En cliquant sur le bouton Créer il me faut attendre "un certain temps" le déploiement de mon nouveau Compte d'Automation.

Mon Compte d'Automation dans la liste des comptes d'Automation
Mon Compte d'Automation dans la liste des comptes d'Automation

Pour la création du Compte Automation, c'est terminé mais qu'est ce que je peux faire avec cette chose là...

Configurez les états de la Machine Virtuelle

Cela passe par l'ajout d'une State configuration (DSC) à mon Compte d'Automation de la façon suivante :

Automation - State Configuration (DSC)
Automation - State Configuration (DSC)

Puis en cliquant sur "+ Ajouter" comme d'habitude.

Ajouter une State configuration (DSC)

Je me retrouve avec la liste de mes machines virtuelles.
J'en choisie une, je clique sur "+ Se connecter".

State configuration (DSC) - Se connecter à la machine virtuelle

Bon, je ne sais pas trop ce que je fais.

State configuration (DSC) - Se connecter à la machine virtuelle

Oups, j'ai du raté un truc...

Mais bon, je pense que c'est ça  l'idée, le Compte d'Automation comme son nom l'indique permet d'automatiser tout un tas de tâches de Scripts de commandes liées à l'Azure à PowerShell mais pas seulement.

Je vais étudier la question et revenir avec la réponse...

To Be Continued!

La suite peut-être Ici :


mercredi 18 novembre 2020

Plateforme de e-commerce en ligne découvrir Shopify

Suite aux dernière directive du gouvernement et de Bruno Le Maire en particulier, je cherche une plateforme de e-commerce pour sauver mon petit commerce qui ne peut plus ouvrir ! Je m'inscris sur Shopify pour voir de quoi il retourne.

e-commerce créer une boutique en ligne chez Shopify

Et comme toujours ce qui nous intéresse au plus haut c'est combien cela va nous coûter. Il est souvent difficile d'obtenir une réponse claire à cette question ce n'est pas l'intérêt du marketing que de donner un prix clair et fixéce qu'ils veulent c'est que vous vous inscriviez pour que vous commenciez à investir en découverte de leur solution. Ainsi vous resterez plus surement chez eux.

Mais avec Shopify on trouve rapidement une page est dédiée au Pricing :

Shopify le prix de votre boutique en ligne

On va dire que la solution de base est à 29 $ / mois mais attention il y a une petite ligne en tous en bas : Frais de transaction 0,5 %. On me propose un essai de 15 jours allons y ...

Je créé la boutique MaBoutique-123 et j'ai une période d'essai de 15 jours. Et voici donc la page d'accueil de MaBoutique-123 chez Shopify :

e-commerce Ma Boutique en ligne chez Shopify
e-commerce Ma Boutique en ligne chez Shopify

Je peux ajouter un produit. Je clique sur "Ajouter un produit" :

e-commerce Shopify - Ajouter un produit

Les possibilité sont importantes ... j'ai ajouté un support média définit le prix afficher et un "prix normal" je peux définir un coût par article, le stock, un code barre. Dés que je fais une modification à mon produit une barre me propose de sauvegarder mes modifications pas encore enregistrées.
  • Support média
  • Prix
  • Stock
  • Expédition (info douanières)
  • Variantes
A la fin je peux "Activer le produit".

Maintenant concernant ma boutique en ligne :

Shopify - Gestion de ma boutique ne ligne
Shopify - Gestion de ma boutique ne ligne

Il me faut trouver l'url de ma boutique pour y accéder pour en faire la publicité afin que mes clients viennent acheter ne ligne... Je clique donc sur le bouton "Désactiver votre mot de passe".

Shopify - Boutique ne ligne - Désactiver votre mot de passe
Shopify - Boutique ne ligne - Désactiver votre mot de passe

Et c'est là que les athéniens s'athégnir... Il me faut choisir un forfait, il est donc impossible d'aller jusqu'à concrétiser une vente avant la fin de la période d'essai.

Shopify semble très complet, dans toutes les parties de la boutique en ligne.

Commande -> Sélectionner un forfait
Commande Préliminaire

Produit
    Tous les produits
    Stock
    Transferts
    Collections
    Cartes-cadeaux

Clients
    Ajouter un client
    Importer des clients

Analyse de données
    Ventes totales
    Visites boutique en ligne
    Taux de clients récurrents

Marketing
    Aperçu
    Campagne -> Activité Shopify emil
    Automatisation

CANAUX DE VENTE
    Boutique en ligne
        Thèmes
        Article de blog
        Pages
        Navigation
        Domaines -> nom de domaine maboutique-123.myshopify.com
        Préférences Titre et méta-description
            Image de partage social
            Google Analytics
            ...
    Facebook

Il faut se méfier avec cette solution car le référencement de la boutique en ligne reste à votre charge à priori il y a des moyens de faire des campagnes payantes mais est-ce cher, très cher ? A qui cela rapporte à Facebook ?

Par email, par facebook ? snapchat ? Annonce de reciblage du coup facebook de mets dans la liste des canaux de vente ... Quel est le coup de ces campagnes.

Attention parfois vous swtichez en anglais, les pages ne sont pas traduite, il vaut mieux avoir des rudiments de la langue anglaise.

Je m'arrête là pour Shopify ... Si j'ai le temps avant la fin de ma période d'essai je reviendrais décrire les fonctionnalités.

Voici pour les commerçant en ligne qui souhaitent trouver leur plateforme, des choses simples faciles à mettre en œuvre :


vendredi 13 novembre 2020

Qu'elle est la meilleure plateforme de e-commerce en ligne ?

Pour aider les commerçant à se digitaliser après la lecture des nouvelles dispositions prisent par Bruno Le Maire, les commerçants pourraient se digitaliser pour 500 Euros ! Dans ces conditions, il faut trouver la meilleure plateforme de e-commerce en ligne si possible open source.

E-commerce en ligne, je sais, c'est un pléonasme mais c'est pourtant comme cela que l'on dit en France ce pays qui n'est pas digitalisé. Voici un article qui semble pointer les incohérences de ce gouvernement et sa mauvaise compréhension de ces questions :

ZDNet - Bruno Lemaire et les commerçants : la grosse blague de la transformation numérique à 500 euros

La France est un nain numérique, il y aurait tellement à faire...

Le problème du commerce en ligne c'est que c'est un problème des plus complexes. Si vous savez faire du commerce en ligne, vous savez tout faire. 

Il ne s'agit pas seulement de créer une belle vitrine encore que techniquement ce n'est pas si aisé, encore faut-il faire connaître votre vitrine et là, on entre dans le domaine de l'indexation, du SEO comment faire indexer sa boutique en ligne pour qu'elle soit trouver par les clients qui cherchent.

La solution du meilleur positionnement des boutiques en lignes sur Internet vient très certainement des places de marché, il faut regrouper des commerçants ayant envie de l'être, pour faire ensemble la promotion dans une seule et unique plateforme.

Je cherche donc "open source plateforme e-commerce" et je trouve ce site :

ecommerce platforms - 20 Meilleures plates-formes Open Sourceet Free Ecommerce pour 2020
Si vous recherchez une plateforme de commerce électronique open source bon marché ou gratuite, vous êtes au bon endroit.

Ce que j'aimerais réaliser, c'est mettre en ligne une plateforme du type Cdiscount le commerce made in France.

Site intéressant pour structurer votre recherche, on vous propose de spécifier votre projet du coup ça donne des idées de choix.

La Fabrique du NET - Création de site web - Estimation de prix & recommandation personnalisée

Le choix du design va compter, un choix de design standard parmi les choix possibles est beaucoup moins onéreux qu'un design réalisé sur mesure.

Le nombre de produits à vendre entre en ligne de compte encore que je ne vois très bien la complication à vendre plus de produits, le nombre de pages du catalogue.

Le multilinguisme, encore là je ne vois aujourd'hui des plateformes le font automatiquement. 

Il y a la partie gestion du compte client qui est importante pour que l'utilisateur puisse d'approprier le site est l'impression d'être chez lui. C'est une partie du site qui doit être facile et claire.

La Fabrique du Net les options pour votre site e-commerce.
La Fabrique du Net - Les options pour votre site e-commerce.

On voit par le choix de ces options que cela peut aller très loin, l'intégration d'un ERP dans votre site e-commerce entraîne la réalisation d'un véritable outil de gestion de la relation client.

Par la suite il y a la gestion du site comment est-elle réalisée ?

ecommerce platforms les 20 meilleures plates-formes Open Source

Reprenons, ce que nous propose ce comparateur pour aller chercher celle que nous trouverions à notre goût.

Square - Tools to run your business even it's not business as usual

Le premier défaut c'est que ce n'est pas en français ! You must be fluent english to use this solution.
Vous devez choisir un "hardware" est ce que c'est une boutique en ligne pureplayer ? Et deux autres choix.

Le prix on dirait 2,9 % ... donc l'Open Source on oubli sur GitHub - Square 

Aucune info pour installer une boutique en ligne

WooCommerce - Build exactly the eCommerce website you want
Il s'agit d'un plugin pour WordPress c'est très populaire donc il y a un support fantastique et disponible.

Il y a nombreuses sommes à dépenser en plus, un thème peut coûter jusqu'à 100 $ + nom de domaine + hébergement. Classique mais il faut quelques compétences de développeurs.

CS-Cart Multi-Vendor - START THE MOST SELLER-FRIENDLY MARKETPLACE WITH CS-CART MULTI-VENDOR
Logiciel Russe pour créer une "place de marché" avec plusieurs vendeurs sous le même toit.

Seulement rien n'est gratuit sauf l'essai pendant 15 jours ! Après 15 jours vous devez acheter le logiciel pour au moins 1 450 $ Plus 3 500 $ Ultimate 7 500 $

nopCommerce - Plateforme de commerce électronique gratuite et open source

Là c'est bien une plateforme de commerce électronique open source totalement gratuite pour les magasins en ligne.

nopCommerce Review: une solution de commerce électronique opensource intuitive pour tous

Je retiens, moins déroutant que Magento, totalement gratuit ! des fonctionnalités équivalentes à CS-Cart Multi Vendor ... bref the best ! Les commentaires sont élogieux. Bien sûr pour tout gérer tout seul il faut des compétences en programmation en gestion et administration de windows.

nopCommerce - Solution Open Source

Il y a également des installeurs comme la Web Plateforme installer ou directement sur le site :


Je peux ajouter une petite recherche sur Trends :

Trends recherche magento, nopcommerce, woocommerce, ecommerce

La palme revient largement à WooCommerce le plugin de WordPress sans doute pour sa facilité de mise en oeuvre en plus un site WordPress permet de faire sa propre publicité et d'obtenir un meilleur référencement, un meilleur SEO.

Conclusion la meilleure plateforme de e-commerce

Bon, moi je m'arrête là, j'ai fait le tour de ma question de départ : Qu'elle plateforme de e-commerce en ligne ? Ma réponse est nopCommerce. En plus, je suis pro ASP.NET ...

GitHub - nopSolutions/nopCommerce

nopCommerce - 59% de C#
C'est parfait !

Seulement voilà, ce n'est pas le besoin du petit commerçant en bas de chez moi dans mon quartier. C'est trop fastidieux de partir d'une plateforme de e-commerce pour lui, il n'a pas les compétences et ce n'est pas son sujet.

Alors je tombe sur Shopify ... Et c'est peut être ça, tout simplement la solution mais je sens qu'avec ça, je ne suis pas satisfait ... je voudrais quelque chose de plus ... local made in français.

Concernant le commerce en ligne, je trouve encore le DropShipping ... 

Ce sujet du e-commerce est bien vaste, continuons avec un article plus large sur les initiatives de régions Françaises :


Internet pour les Nuls - Plateformes de e-commerce

Have fun!



jeudi 5 novembre 2020

GitHub vs GitLab

Finalement GitLab fait comme GitHub alors lequel offre les meilleures fonctionnalités ? Pour moi GitHub était la seule plateforme où publier un projet Open Source mais il ne pouvait pas être privé alors que GitLab c'était plutôt pour ceux qui souhaitaient installer leur propre plateforme. Qu'en est-il aujourd'hui ? 

Voici un article qui essaye de tuer la question... mais c'est vu par GitLab :

GitLab - GitLab vs GitHub : GitLab : 54,5/73 GitHub : 21/73

GitLab - GitLab vs GitHub
GitLab - GitLab vs GitHub

Franchement, c'est pas abuser ! Non ? Ils se réservent leur version payante pendant quelques années, ils attendent que tout le monde passe sur GitHub gratuit et pouf ; ils déploient leur GitLab platforme en ligne... gratuit. Ça c'est pas bien ! Mais vous me direz, ils leur faut bien une stratégie marketing pour concurrencer leur principal concurrent GitHub.

En plus, ils conservent une version entreprise et dans ce comparatif, ils ne disent pas quelle version ils comparent. C'est beau la publicité comparative ! 

Et même je crois dans cet article qu'ils sont en retard sur les fonctionnalités de GitHub car il me semble bien que les fonctionnalités de management agile des projets ont évoluées récemment dans GitHub.

Faut-il aller plus loin ... pour répondre à cette question GitLab ou GitHub, lequel de ces outils gestionnaires de code source faut-il choisir ? Le réponse peut être ici :

GitLab vs GitHub
Digital Guide IONOS - GitLab vs GitHub

Il semble qu'ici nous avons une étude complète :

Digital Guide IONOS - GitLab vs GitHub : Comparatif des deux systèmes de contrôle de version
Une étude très complète de cette question posée GitHub vs GitLab. 

GitHub a l'avantage d'une énorme base d'utilisateurs et donc un quasi monopole racheté par Microsoft en 2018. Et oui, c'est ce que je disais GitHub à commencer à offrir son service en ligne bien avant. On se souvient des migrations de code source du CodePlex vers GitHub dont le Compilateur C# Roslyn.

Donc IONOS nous dit que GitHub est la plateforme la plus stable et la plus performante. Mais l'interface Utilisateur de GitLab semble plus clair et s'adapte aux terminaux mobiles tandis que l'interface de GitHub est fixe.

Mais je me demande bien quel être saugrenu pourrait avoir l'envie de faire du développement sur son mobile ? GitLab offre un EDI ... là encore quelle idée saugrenu. Vous imaginez le développeur qui fait des modifications de code source en ligne ... Et les TESTS c'est après ?!

Bémol pour GitLab, les Issues ne peuvent pas être suivies dans plusieurs Repositories.

IONOS nous dit aussi GitHub : Repositories privés payant - C'est devenu faux. C'est récent chez GitHub pas de souci pour rendre votre Repositori Privé.

Je vous laisse avec les Tutos IONOS sur GitHub et sur GitLab.

Et si vous cherchez  un autre type de gestionnaire de codes sources :

WIKIPEDIA - Comparison of source-code-hosting facilities
Attention là ça fait mal au cheveux et les donnée que j'y ai trouvé sont un peu anciennes mais il n'y a pas que GitHub et GitLab dans la vie d'un développeur, il y a aussi Azure DevOps ;-)

La recherche des Internautes GitHub vs GitLab

Pour tenter de départager cette question, un petit Google Trends :

GitHub vs GitLab
Trends de recherche entre les termes GitHub et GitLab

Il ne faut en tirer aucune conclusion concernant l'utilisation de la solution ni les fonctionnalités associées. C'est simplement le reflet de l'intérêt de ceux qui recherche une information sur GiHub ou GitLab.

Conclusion sur GitHub vs GitLab

Bref ... beaucoup de choses à dire, à mon avis les deux solutions se valent de très prêt avec au début une grosse avance pour GitHub que GitLab essaye de combler. Ils sont sans cesse en train de modifier leurs offres, ce qui est très bien pour nous, ils se concurrencent et comme cela on évite un ultime monopôle pour GitHub et nous avons la joie de voir une autre implémentation au dessus de Git (Linus Torvalds).

Mon conseil, si vous avez un projet d'envergure international open source avec une communauté de développeurs dans le monde entier privilégiez GitHub. Si vous avez un projet interne ou d'entreprise prenez GitLab. 

Mais pourquoi ne pas utiliser les deux ... 

Mise à jour en décembre 2020 - On évoque une solution alternative au grands GaFams c'est Gitea: Git with a cup of tea.

Gitea est un service Git auto-hébergé indolore. Il est similaire à GitHub, Bitbucket et GitLab. Gitea est un fork de Gogs. Consultez le billet de blog Gitea Announcement pour en savoir plus sur la justification d'un fork.

Gitea: Git with a cup of tea
Gitea: Git with a cup of tea

Il y a un peu de Go là dedans ! Donc méfions nous des grands GaFams ils sont un peu partout...

mardi 27 octobre 2020

C'est quoi le Property Based Testing dans le TDD

Dit de cette façon, c'est quoi le PBT dans le TDD, c'est indigeste mais ce sont des concepts de base du Testing. Le choix des données de test est important et l'on dit qu'il faut se retourner vers le PO (Product Owner) pour bien savoir comment tester trouver le bon jeux de données d'entré.

GitHub - FsCheck
Voici la porte d'entrée vers l'automatisation des tests et le chois des jeux de données en entré.

F# for fun and profit - An introduction to property-based testing
Pourquoi faut-il utiliser FsCheck et QuickCheck en F# mais facilement adaptable à un autre langage.

Voilà, il s'agissait de vous sensibiliser au choix de vos jeux de données en entrée de vos tests, c'était le Property Based Testing dans le TDD.

Le TDD maintenant tout le monde connait ;)

Outils de Développement Logiciel - TDD

mardi 20 octobre 2020

Comment devenir un Ingénieur DevOps ?

Le DevOps est à la mode en ce moment, est ce que cela va durer est ce que cela va être balayé par une autre mode, en tous les cas c'est une bonne pratique pour les éditeurs de logiciels. 

Pourquoi on écrit ainsi DevOps avec un 'O' majuscule et bien parce que le DevOps vient de la réunion ou l'union de deux services dans l'Entreprise d'une part les Devs la R&D et d'autre part les Ops les Opérationnels ceux qui sont en contact avec le client.

Il a été diagnostiqué que le plus grand nombre de problèmes dans le continus delivery client vient du fait de la séparation entre la R&D et les Opérationnels par manque de communication, par une culture différentes, le déploiement chez les clients s'en ressent. D'où l'idée de réunir sinon ces deux services, de créer en tous cas des ressources ayant les deux culture R&D et Déploiement client chargé de faire la liaison.

Cela conduit à l'automatisation, ou le scripting (la mise en scripts) de tout un tas d'opérations qui pouvaient être faites à la main mais qu'il est souhaitable d'automatisées pour des questions de répétabilité et pour les rendre facile à utiliser.

Alors aujourd'hui un Ingénieur DevOps c'est quoi ? Et bien, c'est quelqu'un qui fait le lien entre la R&D et le déploiement chez le client qui rédige ces scripts pour s'assurer que tout se passera correctement  lors du Continus Delivery chez le client. 

Je vous propose de disséquer la fiche de poste de l'ingénieur DevOps :

Compétences techniques requises pour l'Ingénieur DevOps :

Franchement, vous croyez que celui qui a rédigé cette fiche sait de quoi il parle ? La première ligne c'est pour maintenir des Bases de Données. C'est toujours un problème de maintenir des versions de Bases de données et pouvoir faire des livraisons incrémentales et du rétrofite avec les Bases de données.

Les Outils de l'Ingénieur DevOps
Les Outils de l'Ingénieur DevOps

Voici quelques explications succinctes sur ces différents outils de la Stack DevOps. 

Elasticsearch : moteur de recherche et d'analyse permet de faire des recherches rapides dans des bases immense. Kibana pour afficher sous forme graphique probablement des logs récupérés par Logstash

Logstash : moteur de collecte de données open source avec des capacités de pipelining en temps réel. Logstash peut unifier dynamiquement les données de sources disparates et normaliser les données dans les destinations de votre choix.

Nexus ? A priori personne ne sait vraiment ce que ce terme vient faire là mdr

Ansible : est un outil d'automatisation informatique. Il peut configurer des systèmes, déployer des logiciels et orchestrer des tâches informatiques plus avancées telles que des déploiements continus ou des mises à jour progressives sans temps d'arrêt.

Puppet : est un logiciel libre permettant la gestion de la configuration de serveurs esclaves (GNU/Linux, Mac OS X et Windows2). Il est écrit à l'aide du langage de programmation Ruby et est diffusé sous licence Apache

Openstack : est un système d'exploitation "cloud" qui contrôle de grands pools de ressources de calcul, de stockage et de mise en réseau dans un centre de données, tous gérés et provisionnés via des API avec des mécanismes d'authentification communs.


Il faut en convenir, cela fait une sacrée Stack, pas mal d'outils à maîtriser mais on reconnait là des outils pour loguer, contrôler, faire des diagnostiques, scripter, déployer des applications logicielles.

En réalité, il n'est pas nécessaire de maîtriser la totalité de ces outils présents sur cette fiche de poste, beaucoup de fonctionnalités sont redondantes entre les différents outils. Le vrai travail serait de rationaliser ces outils.

Voilà, nous avons maintenant une meilleure connaissance des outils du DevOps, des outils qu'ils va falloir prendre en main pour devenir un véritable Ingénieur DevOps.

Sur ce Blog - Les Articles sur le DevOps


jeudi 15 octobre 2020

C'est quoi l'outil Jupyter Notebook ?

Tous ces outils, ils ont vraiment des noms parfois ! Comment se distinguer avec un nom comme Jupyter Notebook. Au départ cela ne doit pas être facile. Jupiter c'est un dieu Grec qui gouverne la terre et le ciel, Notebook pour moi c'est un petit ordinateur portable Macintosh. Donc Jupyter Notebook, ça devrait être un petit ordinateur portable avec lequel je peux gouverner le ciel et la terre.

Alors Juptyter Notebook c'est quoi ? C'est un projet Open Source une application Web qui permet de partager des documents qui contiennent du code, des équations, des visualisations et du texte narratif. S'utilise pour : le nettoyage et la transformation des données, la simulation numérique, la modélisation statistique, la visualisation des données, l'apprentissage automatique et bien plus encore ...

Et bien "Jupyter Notebook" est encore un de ces terme derrière lequel se cache un monde complexe. Je me demande la différence ou comment il se positionne par rapport à Talend par exemple.

jupyter notebook
jupyter notebook

Sur le site, très vite on trouve de quoi installer l'outil. C'est même le premier menu qui tombe sous mon clique.

jupyter - Install

Des scripts d'installation ... 

Je trouve toujours cette démarche un peu curieuse de vouloir faire tomber l'utilisateur dans l'adhésion de l'outil et son utilisation, je ne sais pas encore ce que c'est ni même si j'en ais besoin.

Du coup je me tourne vers la documentation :

jupyter - Project Documentation

Autant de lecture et toujours pas d'explication, Jupyter c'est encore une de ces applications, un éco-système complexe que l'on peut pas appréhender en une seule phrase.

Digital Guide - IONOS - Jupyter Notebook
Ce site donne des éléments pour comprendre et installer et utiliser Jupyter Notebook. 

Voici quelques éléments pour élaborer une définition : Jupiter Notebook permet la création et le partage de documents Web au format JSON constitués d’une liste ordonnée de "cellules d’entrées" et de sorties et organisés en fonction des versions successives du document ...

Un gestionnaire de documentation ? Mais pas seulement ...

Le nom Jupyter rassemble le nom des trois langages : Julia Python et R

Je reste un peu sur ma faim ! Je reviendrais pour creuser.


lundi 5 octobre 2020

Scilab l'outil mathématique par excellence, pour toutes vos études de data-scientist

Je ne vous ai pas encore parlé de Scilab. Je vais me rattraper. Ce n'est peut être pas un outil de développement au sens langage de développement et chaîne de compilation associée mais il est important de connaitre Scilab, l'alternative Open Source à Mathlab. C'est deux univers, portes d'entrée vers les mathématiques, cohabitent depuis presque toujours. 

L'outils mathématique Scilab de l'Inria
L'outils mathématique Scilab de l'Inria

Scilab est l'outil indispensable de tout bon DataScientist, un complément incontournable à Excel. Allez, passons directement au vif du sujet, j'installe la dernière version :

Scilab - Install

Scilab - Install
Scilab Install - Choix des modules 1/3

Encore quelques choix de modules à installer, c'est vraiment très complets pour tous vos travaux mathématiques :

Scilab - Install
Scilab Install - Choix des modules 2/3

Des choix basés sur les performances de l'ordinateurs sur lequel vous installez Scilab.
Pour finir par l'écran de fin :

Scilab Install - Choix des modules 3/3
Scilab Install - Choix des modules 3/3

Me voilà prêt à devenir un vrai data-scientiste. Scilab se charge voici l'écran principal :

Scilab - Fenêtre principale
Scilab - Fenêtre principale

Pour bien démarrer, je me créé un répertoire Scilab et puis un utilitaire Scinote me permet de créé un fichier essai1.sce.

Le moins que je puisse vous dire ce que l'interface n'est pas intuitive on sent bien l'interface dérivée de la fenêtre de commande, le problème c'est que Scilab est multiplaforme donc il doit s'arranger avec les navigateur de fichier de toutes les plateforme windows linux mac ... du coup c'est pas easy easy ...

Par exemple, je ferme par mégarde le "navigateur de fichier". Je trouve le menu Applications -> Navigateur de fichiers. Mais une fenêtre s'ouvre et ne trouve pas tout de suite comment l'intégrer dans la fenêtre principale de Scilab.

Je ne suis pas encore à créer mon premier script et à l'exécuter ce n'est pas du tout intuitif il va me falloir une longue phase d'apprentissage mais cela en vaut la peine.

Scilab je me retrouve avec le "navigateur de fichiers" dans le vide Grrrrr
Scilab - Je me retrouve avec le "Navigateur de fichiers" dans le vide Grrrrr

Donc ma première question à la communauté :

Scilab - Comment réintégrer le "navigateur de fichier" dans la fenêtre principale

Et la réponse que j'ai trouvé, ici : FAQ Scilab

Avec des histoire de bande bleue avec un "?" qu'il faut maintenir cliquée, puis faire glisser dans la fenêtre principale :

Scilab - Comment réintégrer le "Navigateur de fichiers" dans la fenêtre principale
Scilab - Comment réintégrer le "Navigateur de fichiers" dans la fenêtre principale

Attention la bande en question n'est pas forcément bleue, il n'y a pas de gestion de déplacement de la fenêtre simple on la voit réapparaitre dans la fenêtre principale une fois déplacée ... Bref ... c'est pas gagné mais j'ai finit par y arriver :

Scilab Comment réintégrer le "Navigateur de fichiers" dans la fenêtre principale
Scilab - Comment réintégrer le "Navigateur de fichiers" dans la fenêtre principale

Donc vous maintenez la souris cliquée sur la bande bleue et vous la déplacez dans la fenêtre principale. La fenêtre du Navigateur de fichiers que vous déplacez ainsi va venir se Docker automatiquement dans la fenêtre principale.

Je retourne dans mon répertoire de travail. J'ouvre le fichier que j'ai créé avec son contenu.

Scilan - Fichier ouvert avec SciNotes
Scilan - Fichier ouvert avec SciNotes

Je peux faire bouton droit exécuter dans Scilab :

Scilab - Exécution de mon Script
Scilab - Exécution de mon Script

L'exécution du Script me donne le résultat suivant :

--> exec('D:\Bruno\Scilab\essai1.sce',-1)
à la ligne 14 du fichier exécuté D:\Bruno\Scilab\essai1.sce
y = np.array([((np.log(np.abs(2 + x1[t])) - x2[t-1]**2) + 0.02*x3[t-3]*np.exp(x1[t-1])) for t in range(len(t))])
                                                         ^^
Erreur : syntax error, unexpected [, expecting "," or )

Voilà, Scilab permet d'exécuter les Scripts mathématiques que vous avez défini. Nous venons de faire un tour ultra-rapide de l'outil mathématique Scilab.

mardi 29 septembre 2020

Outil de Remote Desktop, connexion au bureau à distance avec Myrtille

Voici un outil de connexion au bureau à distance avec rien d'autre qu'un browser web, pas d'installation pas de plugin, pas de d'extension, pas de configuration. Donc assez pratique quand on est en déplacement et assez rare pour le noter ici.

Myrtille provides a simple and fast access to remote desktops

En plus c'est un outil développé avec Visual Studio 2017 donc fort intéressant pour les développeurs que nous sommes. Evidemment, il intègre Docker.

Je projet est particulièrement bien documenté ce qui permet une prise en mains rapide. Il y a module de Trace (Log4Net). Il y a même un installeur Setup MSI pour Windows. C'est donc un projet complet de qualité.

Il faut installer Myrtille sur votre Serveur pour pouvoir l'utiliser. Il y a tout ce qu'il faut est sur le site du GitHub.

cedrozor/myrtille

Voilà, nous avons un exemplaire d'outil de connexion au bureau à distance, une application Web accessible par un browser web sans autre installation à effectuer sur votre machine hôte.

Pour aller plus loin, voici une rapide découverte des sources du projet dans le blog C# .NET :

C#.NET Blog - Myrtille


lundi 28 septembre 2020

Connaissez-vous la stack, la pile logicielle, Grafana, Prometheus, Loki, Jaeger, Cortex, and Graphite ?

Alors voilà un sujet des plus complexes que l'on va démystifier pour tenter de vous, de nous expliquer ce qu'est cette stack logicielle ; Grafana, Prometheus, Loki, Jaeger, Cortex, and Graphite. Alors si l'on connait Grafana et Prometheus mais que sont les autres ? Oui en même temps vous allez me dire que l'on ne connait pas si bien Prometheus.

Pour être franc, celui que l'on connait c'est Grafana. Alors allons y, c'est quoi Prometheus ? Au premier abord on dirait Grafana ... Ce que l'on sait, c'est que Grafana est un fork de Kibana. Kibana est une extension d'affichage pour les données issues de la Suite Elastic search.


Kibana extension de elastic search

Mais alors quand je vois la stack sur la première page de Prometheus :


Stack Prometheus Includes

Je sais pas vous mais moi, je ne me sens pas très bien, un peu envie de vomir ... D'autant que l'on ne retrouve pas, ni Loki, ni Jaeger, ni Cortex, ni Graphite. 

Ce que je peux vous dire, au niveau fonctionnalités c'est que l'on est dans l'univers des connecteurs de données et de leurs afficheurs de données sous forme de graphes.

Ce qui me surprend tout de même c'est que le slogan de Prometheus est un peu identique à celui de Grafana à savoir : Power your metrics and alerting with a leading open-source monitoring solution.

Leading Open Source Monitoring Solution ... Donc Prometheus est une source de données pour Grafana.

Prometheus source de données pour Grafana

Mais on pourrait dire Grafana extension de visualisation des données pour Prometheus.

Poursuivons notre recherche sur cette stack ... avec Jaeger


Monitor and troubleshoot transactions in complex distributed systems

Jaeger permet d'instrumenter votre application. Quant à Loki on dirait d'après le sigle est absorbé par Grafana.

Grafana Labs - Jaeger data source
Grafana nous explique comment ajouter Jaeger comme "data source" afin de pouvoir requêter dans les traces de votre application.

Cortex est absorbé !

Graphite : Grafana vs Graphite

Grafana vs Graphite

Conclusion

Dans cet univers des connecteurs aux données et des afficheurs graphiques pour afficher de beaux tableaux de bord, Grafana se paye la part du lion et le luxe de faire croire qu'il intègre tout le monde alors qu'il est plutôt en train de les absorber en commençant par les connecteurs dont il multiplie le nombre quasiment à l'infini. Et les afficheurs graphiques qu'il supprime en les absorbant.

lundi 21 septembre 2020

Pour les développeurs, j'aborde l'outil NDepend d'analyse statique de vos codes source mais pas seulement.

Pour le développeur expérimenté que je suis, je me dois de vous présenter cet outil NDepend qui parait être une solution intégrée pour Analyser - Analyse des métriques du code - mais également pour déboguer votre code.

Lorsque vous avez à manager des projets importants en termes de lignes de codes en termes d'architecture, vous vous devez d'utiliser un outil d'analyse statique de code comme NDepend qui va vous permettre d'avoir une bien meilleur vision, un vision plus large de plus synthétique de votre projet.

NDepend
NDepend - Managez plus facilement vos projets d'envergure

Au moment de l'installation de l'outil, vous ouvrez votre Visual Studio, vous créez un projet NDepend juste à côté, il se met alors à analyser votre code et à créer des rapports d'analyse de votre code source. Les règles que vous pouvez appliquer sont classées de différents types :

  • Code Quality
  • Object Oriented Design
  • Architecture
  • Dead Code : code mort, code non utilisé
  • Naming convention : convention de nommage

NDepdend vous fournit des outils pour naviguer à travers le code au sein de projet dont l'architecture est complexe. NDepend vous permet donc de réorganiser des projets complexes et de maintenir la qualité de vos projet actuels.

Il s'agit donc d'un outil d'analyse statique de code dont on connait un autre représentant SonarQube, voici donc un article pour aller plus loin :

NDepend vs SonarQube : Pourquoi ne pas les intégrer ensemble ?
Forcément les choses se compliquent encore un peu, puisque l'on est dans une démarche d'intégration continue grâce à la stack GitHub, AppVeyor, NDepend, NGrok, SonarQube.

Voici comment intégrer un outil comme NDepend dans une démarche de "conitinus delivry" (de livraison continue) :

NDepend Sonarqube
Continus Delivry 

Cet article est mal traduit en français mais il est très complet dans une démarche DevOps de scripting de la totalité des étapes. Dans cet article il y a une multitude d'outils utilisés, Resharper JetBrains, AppVeyor, Bamboo, GitLab

Donc le moyen de procéder avec ces stacks devops de développement, c'est de faire une matrice 3D, fonctionnalités recherchées, outils correspondants compétences dans l'équipe. Ainsi cette matrice vous permettra d'utiliser une pile adéquate.

vendredi 18 septembre 2020

Grâce à Kuzzle, Qwant publie les données des objets connectés, alors c'est quoi Kuzzle ?

On n'arrête pas le progrès ! Maintenant nous savons presque tous que Qwant est un moteur de recherche français possible pour browser l'Internet. Peu connu, mais en développement constant, il tend à se faire connaitre car son créneau c'est le respect des données personnelles.

Le Business modèle de Qwant ce n'est pas de vous "tauper" votre email, votre age, votre genre pour vous spammer de publicités. Mais alors Kuzzle c'est quoi par rapport à Qwant ?

Kuzzle - Open source backend for Iot and Mobile apps 

Je ne sais pas si vous êtes comme moi, mais franchement je supporte assez peu l'idée d'essayer un truc dont je ne sais même pas à quoi il sert ! Donc le bouton "Try Kuzzle" ce n'est pas encore pour moi.

Et comme je suis un peu timide également, le bouton "Request a demo" franchement, je n'ai pas envie de me retrouver face à un commercial qui va essayer de me convaincre que son truc c'est le truc qu'il me faut ! Alors que ce truc, je ne sais toujours pas ce que c'est.

Bref, je trouve ce marketing bien agressif alors que je souhaite simplement savoir à quoi peut bien servir Kuzzle ? Je cherche donc un autre bouton, alors essayons "Use Cases" pour découvrir ce que les utilisateurs peuvent bien faire de ce truc Kuzzle.

A quoi sert Kuzzle dans Qwant ?
Kuzzle in action - Case Studies

Avec toujours les boutons Try ou Request et franchement je n'ai pas avancé. Mais je vois sur la droite : "Smart Cities (Qwant IoT)" on dirait bien que c'est cela qui m'intéresse, essayons.

Là on me dit, en anglais :

Qwant opted to use Kuzzle IoT backend solution to collect real-time data from connected devices. When users search for up-to-date information available from IoT and open data sources on Qwant search engine, the results will be generated by the Kuzzle backend.

Je vous passe la traduction, vous avez compris.

Kuzzle et Qwant
Kuzzle - Use Cases - Smart Cities (Qwant IoT)

Il s'agit donc de pouvoir donner à l'utilisateur qui le recherche sur Qwant, des informations sur la qualité de l'air en Californie par exemple grâce à des capteurs dispersés en Californie.

En très gros Kuzzle est une sorte de Cloud pour l'open data où Kuzzle est capable de traiter des quantités massives de données ... Et de les monitorer pour les remonter à l'utilisateur.

Nous avons des capteurs quelques part qui s'occupent de mesurer la qualité de l'air. On peut imaginer qu'ils sont en réseau (IoT LoRa, Sigfox, ...) que Kuzzle se connecte à ce réseau pour Cloudifier ses données afin de présenter sous forme d'APIs qui pourront être utilisées par Qwant.

Il y a une interface de monitoring de données dans tout cela dont voici la présentation :

Kuzzle - Cluster http/rest/websocket/socket/io
Kuzzle - Cluster http/rest/websocket/socket/io

Il y a un module d'analyse statistiques. Et sinon la commande pour installer Kuzzle est la suivante :

$ bash -c "$(curl https://get.kuzzle.io/)"

Ça n'a pas l'air si sorcier ;)

For Developers - Getting Started

Sinon, j'aurais bien une dernière question à laquelle j'aimerais trouver une réponse ... vous vous en doutez ... Mais pourquoi ce nom ? Et les deux z, c'est pour jouer au scrabble ?

Kuzzle - Docs
Peut-être la page où commencer, Kuzzle aspire à se développer en communauté open source tout est là pour bien commencer. C'est plein de bonnes pratiques et d'exemples à suivre.

Bon, pour l'instant je n'ai pas un besoin immédiat de Kuzzle mais je prends note que cette solution existe. Ce qui m'avait attiré pour effectuer cette recherche c'est IoT + Qwant et donc la mise en place de Kuzzle c'est Qwant qui s'en charge.

Une petite étude marketing rapide Trends de l'intérêt du terme kuzzle :

C'est quoi Kuzzle ?

L'intérêt du terme kuzzle, se trouve principalement en Languedoc Roussillon.

Voilà, nous venons de découvrir rapidement ce que fait Kuzzle dans l'univers de l'IoT par l'intermédiaire de Qwant !