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

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.


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.

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 pas utiliser les deux ... 

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

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

Je m'aperçois que je ne vous ai pas encore parlé de Scilab. Alors 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. 

C'est l'outil indispensable de tout bon DataScientist un complément incontournable à Excel. Allez je me lance, j'installe :

Scilab - Install

Scilab Install - Choix des modules 1/3

Encore quelques choix de modules à installer :

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 c'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é.

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 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 les 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 type qui va essayer me convaincre que son truc c'est le truc qu'il me faut ! Alors que ce truc je ne sais même 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.

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 trad, vous avez compris.

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.

En très gros Kuzzle est une sorte de Cloud pour l'open data où Kuzzle est capable de traiter des quantités massive 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 là. 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.

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

mardi 15 septembre 2020

Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt

Pour éviter une perte importante de vos revenus, vous pensez que c'est important de corriger cette erreur et vous avez raison. J'ai ce message dans Google Adsense depuis des mois et cela me gène de rester ainsi. J'ai tenté maintes fois de cliquer sur le bouton "Corriger maintenant" sans résultat probant.

Donc je vais prendre le problème à bras le corps et vous trouver la solution. Lorsque j'accède à l'url :

https://www.mondomaine.com/ads.txt

Du site qui m'appartient, je vois bien le contenu du fichier ads.txt avec les bons numéros ! Alors je ne comprends pas pourquoi AdSense me renvoi encore ce message :

Risque de perte de revenus - Vous devez corriger les problèmes liées au fichier ads.txt pour éviter une importante baisse de vos revenus.

Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt
Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt

Si vous êtes comme moi, acharné sur cette erreur pensant qu'il n'est pas normal de gagner qu'un centime par jour avec AdSense et que cette erreur en est peut être la source comme le laisse entendre ce message. Vous allez lire tout un tas de littérature sur ce sujet sur Internet sans jamais trouver la bonne solution.

Je vous précise mon contexte, c'est que j'utilise Blogger et que j'ai mon domaine que j’appellerais mondomaine.com. Pour ajouter à la difficulté vous avez remarqué en ce moment Blogger veut changer de peau mais ce n'est pas encore gagné.

Notamment au niveau de l'adresse du blog, configurée ainsi dans l'ancienne interface :

Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt

Notez que cela n'est pas évident évident ! Mais cela ne suffit pas non plus ! A priori l'erreur porte sur mondomaine.com et non sur www.mondomaine.com donc je lis des dizaines de pages sur comment rediriger une requête mondomaine.com vers www.mondomaine.com pour tous les types de serveur Internet, Apache, IIS et j'en passe ...

Mais cela ne suffit pas, je me tape le guide d'insertion du fichier ads.txt mais cela ne suffit pas ...

Quand, je trouve la bonne réponse dans la page suivante :

Aide Blogger - Définir un domaine personnalisé

L'étape 3 est facultative mais je vais quand même la tenter ...

Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt

Mon fournisseur d'hébergement et de nom de domaine est NAMEBAY mais je pense que vous trouverez l'équivalent chez tous les hébergeurs. Donc vous allez chez votre hébergeur de nom de domaine.

Après ça, il ne vous reste plus qu'à résoudre une problématique : l'Aide de Blogger parle de configurer une redirection vers un "domaine nu" encore une énigme ... Cette énigme peut être résolue en remarquant que dans la configuration de votre site Blogger, il y un lien vers :

téléchargez le fichier de paramètres DNS

Corriger l'erreur AdSense - Risque de perte de revenus liés au fichier ads.txt

Ce que je fais pour vous livrer son contenu :

@ 3600 IN A 216.239.32.21
@ 3600 IN A 216.239.34.21
@ 3600 IN A 216.239.36.21
@ 3600 IN A 216.239.38.21

Donc on peut y voir qu'un "domaine nu" c'est simplement le caractère "@" ...

Je vais chez NAMEBAY configurer tout ça :

Rediriger mondomaine.com vers www.mondomaine.com

Maintenant quand j'accède à l'url :

https://mondomaine.com

Je suis bien redirigé vers :

https://www.mondomaine.com

En quand j'accède à l'url :

https://mondomaine.com/ads.txt

Je vois bien le contenue du fichier ads.txt de la forme :

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

où pub-0000000000000000 correspond à votre référence éditeur

Il faut attendre, un certain temps que les dns se mettent à jour que le site AdSense ce rende compte que le fichier ads.txt est bien là derrière "mondomaine.com" et le tour est joué :

l'Erreur AdSense - Risque de perte de revenus liés au fichier ads.txt est corrigée !

Voilà, nous venons de corriger l'erreur AdSense : Risque de perte de revenus - Vous devez corriger les problèmes liés au fichier ads.txt pour éviter une importante baisse de vos revenus. Mais ce n'était pas de la tarte.

Elle est pas belle la vie !

dimanche 30 août 2020

Comment s'y retrouver dans le code de Grafana

Sans parler de devenir un développeur de la communauté Open Sources Grafana, non je souhaite simplement faire une plongée dans le code source pour avoir une meilleure vue cette plateforme et de son développement.

Communauté Open Source Grafana sur GitHub


Moi la première chose que j'ai découverte avec stupéfaction c'est que Grafana est écris en langage Go !  Je l'avoue je suis en admiration devant cette communauté. Car je suis un utilisateur de AdSense et de tous ces graphiques parce que je suis un développeur curieux j'ai toujours poursuivis un projet de "dahboard" afficher de superbes graphiques à partir des données.

Matlab est sans doute le premier outil avec lequel j'ai joué pour afficher des graphiques. Mais avec Grafana on atteint un sommet mais alors qu'elle est l'organisation, la structure des codes source de cette application.

Sinon, il y a bien sûr Excel qu'il ne faut pas dénigrer car il est fort efficace pour tout tas de graphiques c'est une première approche un peu simpliste mais fun pour découvrir ce métier que j'appelle data-analyste.

En même temps c'est bine joli l'open source et Grafana en est un exemple parfait les sources sont publiques certes ! Mais alors pour installer une plateforme ... accrochez vous ! Il faut clairement être spécialiste pour installer un container Docker dans Windows 10 oui c'est l'OS que j'affectionne, bref, ils vous propose moyennant finances de vous instancier une plateforme dans leur cloud.

Si vous installez la plateforme de base, certes vous pourrez faire des choses mais les plugins seront payants. Voilà le tour est joué vous êtes ficelé. 

Grafana Create an account

Vous voyez que vous ne pourrez faire un essai gratuit mais que vous êtes obligé d'entrer vos informations de facturation car l'objectif est de vous facturer l'utilisation de cet outil fantastique.

Mais qui a dit que l'opensource c'est gratuit, certainement pas moi. Et quand je vois le travaille produit par la communauté, je me dis qu'ils font bien de procéder ainsi.

Les différents types de codes

Grâce à Github, je vois :

Grafana - TS 57 % - JS 5,4 % - Go 26 % 

La constatation que Grafana est en Go !

En langage Go

C'est le répertoire pkg

Grafana - Langage Go

Il y a du monde et de très bonnes explications dans le fichier README.md. Il s'agit du Backend de Grafana. 

Et bien oui c'est l'avantage de l'opensource on sait comment c'est fait. Il faut que la documentation soit suffisante pour qu'un développeur par lui même puisse étudier le code et venir renforce l'équipe. Donc la documentation est de qualité.

En langage TypeScript

C'est la publique app autrement dit l'application front en Angular.

Grafana - Langage TypeScript applcation Angular

Ce sont les deux principaux langages des fonctionnalités de Grafana. A partir de là il y a tout ce qu'il faut comme documentation d'installation pour installer une machine de développement et rejoindre la communauté. Ils sont déjà plus de 1200 !

Ils font même de la politique, oui il y a un document indiquant comment doit se passer l'intégration d'une nouvelle ressource dans la team et les votes associés dans un document de GOVERNANCE.md (Gouvernance).

Set up your development environment

Avec un répertoire devenv : une aide à l'installation de votre environnement de développement qui commence par l'installation de Docker

Des scripts d'installation.

Grafana en action

Voici les métrics autour de Grafana, Wikimedia metrics :

Grafana Wikimedia Metrics

Voilà, Grafana est un très bon exemple à suivre en matière de communauté open source, ils sont en plein succès alors il faut les observer puisque les publications sont nombreuses et tenter de les suivre mais là aussi ils sont nombreux.

lundi 24 août 2020

C'est quoi Grafana ?

C'est incroyable le nombre d'outils dans le Développement Logiciel et le DevOps ! On parle alors de stack quand les uns s'appuient sur les autres, comme dans un empilement. Ici je découvre la stack Grafana Jenkins Kubernets Cosmos. A quoi sert Grafana dans tout ça ?

C'est quoi Grafana ?

Utilisation de "Graphite" dans Grafana

Grafana est une communauté de développeurs énorme, aujourd'hui il y a 1 213 contributeurs.
J'installe rapidement sur mon Windows l'exécutable serveur et je lance mon browser à l'adresse localhost:3000 ça marche tout seul.

Grafana est intégré dans l'Azure de Microsoft pour la création de Pipeline

Microsoft - Pipeline CI/CD pour les charges de travail basées sur les conteneurs

Stack d'outils DevOps

Dans le cadre de cette Architecture DevOps, Grafana permet de visualiser les alertes et de mieux comprendre les mesures.

On y voit à l'oeuvre la stack : Visual Studio Code, GitHub, Jenkins, Kubernetes, Azure, Azure Monitor, Grafana. Moi je pourrais dire à peu prêt à quoi servent toutes ses briques mais vous avouerez que ça fait une belle pile !

Je poursuis ma découverte par les fundamentals :

Grafana fundatmentals

Pour les prérequis, il me faut Docker, Docker Compose et Git, rien de moins ...
Pour Docker, il faut Hyper-V.

Install de Hyper-V pour Windows

En cliquant sur "Add features".

The processor does not have required virtualization capabilities

Bref, pour moi ça va s'arrêter là ! Bon je trouve une VM avec Hyper-V capabilities je lance l'installe de Docker ...


Stack Grafana - C'est pas gagné !

Bon, bas pour moi, malheureusement ça s'arrête là ... Grafana !

Autres outils du même genre ... c'est incroyable de voir l'émergence de tant d'outils. Si je trouve un article sur Grafana on va me parler de :

Prometheus

Kibana

Grafana Open Source

Si c'est OpenSource alors il doit y avoir des sources sans doute sous github, voici donc :


Là on est dans l'antre de la communauté Grafana ...

Grafana Create Free Cloud Account

Et on peut aller créer ses propres tableaux de bord en créant un compte au sein de Grafana Cloud :

Création d'un Tableau de Bord avec Grafana
Création d'un Tableau de Bord avec Grafana

C'est magnifique cette application écrite en langage Go et Angular.

Un mot de l'équipe, toujours sur GitHub :

Grafana - Team Members

Le créateur c'est Torkel Ödegaard qui à démarré Grafana en 2014 en partant de Kibana en faisant un "fork" (une branche depuis le code source).

Mais bon ça ressemble à notre solution qui est toute fois beaucoup plus simple ... et la notre est en C# .NET avec ASP.NET Core Framework, c'est un peu mieux que du Go !

CQFD !