Créer un endpoint avec Java/Spring pour Webhooks Shopify

Les Webhooks Shopify sont disponibles afin de notifier une application extérieure sur des évènements de la boutique. Les évènements touchent toutes les entités de la boutique (commande, client, panier, produit ….). Malheureusement Shopify ne fournit pas d’exemple en Java pour le squelette du Endpoint. Notamment il n’est pas évident de reproduire en Java la vérification du Digest permettant de vérifier que la requête est bien issue de Shopify.

Voici l’exemple en Java :

Dans l’exemple il faut remplacer la constante SHOPIFY_APP_SECRET par le code de vérification fourni dans la section Webhooks de votre boutique shopify. Le lien vers la doc shopify pour utiliser les webhooks et les exemples de codes en php/python/ruby sur la vérification de l’appel est ici.

Cloudberry Backup – suppression du client sur Linux

J’ai eu à changer la solution de sauvegarde d’un serveur et impossible de trouver comment désinstaller le client Cloudberry Backup. Et bien sûr celui-ci continuait à se lancer régulièrement bien que ce serveur ai été supprimé des plans de sauvegardes. Après quelques recherche dans les paquets, j’ai fini par trouver le paquet responsable : online-backup.
Pour le désinstaller rien de plus simple :

 

docker – accéder au shell dans un conteneur

Pour accéder au shell dans un conteneur, il faut lancer la commande suivante :

Pour obtenir le nom du conteneur, il faut utiliser :

Ici les noms sont docker_nginx_1, docker_httpd_1 …

 

 

Linux Ubuntu lister le nom des interfaces réseaux

Lorsque l’on souhaite configurer une interface réseau qui n’a pas été créée lors de l’installation du système, il peut être « ardu » de trouver le nom de l’interface. Pour se faire rien de plus simple :

Exemple de résulltat sur une machine virtuelle VMWARE avec 2 interfaces réseaux.

Resynchronisation d’un noeud avec MariaDB Galera Cluster

Lorsqu’un noeud a du mal à se synchroniser avec le reste du cluster, il est plus simple de le remettre à zéro. Pour faire cette opération, il suffit d’effacer les données pour que le noeud se resynchronise avec le cluster :

Cette opération peut prendre du temps, et un timeout peut survenir au démarrage du cluster. Il peut être nécessaire de modifier la configuration du service pour augmenter le timeout au démarrage :

Ajouter cette ligne en fin de fichier :

 

 

Déterminer si google bot est passé en mobile first sur un site

Voici un petit script qui permettra d’analyser les logs de votre serveur Web et de déterminer le nombre de requêtes effectuées par chaque bot google (mobile et desktop) :

Par exemple on obtient :

Avec un pourcentage de 28% (2203/(5531+2203)de requêtes pour le bot mobile on peut dire que l’on est pas encore passé dans ce scope.

Générer un mot de passe complexe

La complexité du mot de passe est un gage de sécurité, car plus il est long et complexe (mix de chiffre / caractère / symbole) plus il sera long a « cracker ».  Mais dans bien des cas ce type de mot de passe est difficile à retenir, et on retrouve alors des bouts de papier ou post it avec ces mots de passe. La CNIL propose un outil en ligne bien fait qui propose à partir d’une phrase de construire un mot de passe s’en rapprochant. Pour accéder à cet outil le lien est ici.

Avec la phrase « Mon mot de passe est un secret bien gardé depuis 25 ans ! » on obtient le mot de passe : Mmdpeusbgd25a!

Assez simple à retenir, le système garde la première lettre de chaque mot, ainsi que les chiffres et la ponctuation.

 

Active Directory – lister les utilisateurs et générer un fichier csv

La commande (cmdlet) get-aduser permet de lister et retourner des informations d’un utilisateur ou des utilisateurs de l’Active Directory. Le format des informations fournit par la commande n’est pas très simple à exploiter :

Cette commande listant tous les utilisateurs de l’Active Directory donne le résultat suivant :

Afin d’obtenir un résultat plus exploitable il faut ajouter le pipe de sortie suivant et choisir un fichier CSV de sortie :

Active Directory – lister les utilisateurs et générer un fichier csv