Utiliser MongoDB à partir d’une image docker

MongoDB est une des bases de données NoSQL orientée Document les plus populaires. Pour l’utilisez sur des environnement de développement il est souvent plus simple d’utiliser une image docker plutôt que d’installer le moteur sur chaque poste de développement. Voici les quelques étapes à suivre pour utiliser MongoDB dans un conteneur docker.

Récupération de l’image

Le prérequis est que docker est installé et configuré sur le poste de travail. Le plus simple est d’utiliser la dernière version :

Il est possible de choisir une version spécifique en ajoutant un tag :

La liste des tags (versions + systèmes disponibles) est accessible ici.

Déploiement de l’image comme container

L’image téléchargée doit être déployée sous forme de container, il faut durant cette opération préciser les paramètres d’accès au container (port, host) et le nom du container afin de pouvoir le gérer par la suite dans docker.

La commande précédente va démarrer le container en mode daemon, il fonctionnera de cette manière en tâche de fond une fois démarré.

Se connecter à MongoDB

Le container docker peut être démarré et arrêté avec les commandes suivantes :

Une fois démarré le container permet de se connecter à mongodb comme si il fonctionnait directement sur votre poste de travail. Avec votre outil préféré ou un langage de programmation, vous aller pouvoir vous connecter sur le host localhost. Pour interagir avec le shell mongo directement il faut se connecter au bash du container et lancer le shell mongo :

Vous pourrez ensuite accéder à toutes les commandes de gestion à partir du shell, liste des dbs, liste des collections …

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.