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 !

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 :

Fig1 - 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 !

Mise à jour en février 2021

Cette histoire est toujours d'une complexité sans nom ! La preuve, j'ai créé récemment un nouveau nom de domaine que je cherche à coller à un site blogger et je retrouve le même problème.

Vous n'êtes pas sans avoir remarqué que l'interface Blogger a été modifiée avec pas mal d'améliorations dans le style dans l'ergonomie. 

Dans le outils pour webmaster les choses ont évoluées la Google Search Console prend plus de place entre AdSense et Analytics

Comment valider une propriété de site dans le Search Console

Dans Blogger -> Paramètres ->Général

Nous n'avons plus la "Fig1 - Corriger l'erreur AdSense". Nous avons maintenant :

Erreur - Risque de perte de revenus liés au fichier ads.txt

La question est maintenant où se trouve la ligne avec "google-site-verification" que l'on pouvait trouver dans "Fig1 - Corriger l'erreur AdSense" ? Vous savez sans doute également que pour suivre les erreurs, les performances de votre site Google privilégie maintenant la Google Search Console.

Vous "Ajoutez la propriété" de votre site dans la Google Search Console et vous faites :

Paramètres -> Validation de la propriété

Corriger l'erreur AdSense - google-site-verification

Ou se trouve la clef googlehosted.com ?

Mon souci, c'est l'enregistrement DNS suivant :

xxxxxxxxxxx CNAM gv-xxxxxxxxxx.dv.googlehosted.com

Que je ne retrouve nul part et donc je ne sais pas vérifier si c'est le bon, je reste avec la doc google sur ce sujet :


"Ces informations varient en fonction de chaque personne et sont propres à votre blog et à votre compte Google." 

Ok mais on les trouve où ?

Solution

On a appris à faire plein de choses, à jouer avec un nom de domaine personnalisé, il y a également le problème de l'https qui se règle très bien dans blogger.

Il faut vérifier que le fichier ads.txt est accessible depuis 

https://votrenomdedomaine.com/ads.txt

et

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

Si ce n'est pas le cas, cochez la case Redirection du domaine :

Blogger - Redirection du domaine

Franchement... j'ai encore le problème sur ce nouveau site et je cherche encore je suis dègue dègue dègue !

Il me semble que LA solution consisterait à recommencer l'indexation du site par AdSense car le souvi se trouve dans googlehosted.com qui a disparue dans le nouvelle interface blogger ... Mais je ne me résigne pas totalement à tout supprimer, je vais attendre le voir si j'ai quand même des revenus sur ce site...

Ils le disent lorsque l'on fait des manipulations de DNS chez sont hébergeur, on doit attendre "un peu" de quelques minutes à quelques heures... Et le problème à disparu ...