Archives mensuelles : juin 2018


[Ansible] : Récupérer un rôle de Galaxy

Petit à petit je me met à Ansible et ça commence à devenir sympa. Et pour bien avancer et pas réinventer les choses, je vous recommande de vous rendre sur le site Galaxy. Il héberge les rôles partagés par la communauté.

person sky silhouette night

Photo by Snapwire on Pexels.com

Bien sûr il y a à boire et à manger. Il faut faire le tri pour trouver une chaussure à votre pied. Trouver le bon OS, voir le nombre de téléchargement etc… Mais ça vaut le coup car il y a vraiment beaucoup de rôles disponibles.

Mais comment récupérer un rôle de galaxy ?

Dans un premier temps on aurait tendance à faire avec la commande :

ansible-galaxy install -p roles username.role_name

L’option « p » permet d’indiquer le chemin où déposer le rôle.

Mais que se passe-til si vous devez retélécharger le rôle quelques moi splutard et que vous n’avez pas conservé votre ligne de commande ? plus rien

Donc le mieux, c’est de stocker ça dans un fichier pour relancer en tant que de besoin. Ne serait-ce que pour faire un upgrade.

Et là la commande idéale c’est :

ansible-galaxy install -v -p roles -r requirements.yml

L’option « r » pointe vers le fichier qui contient l’auteur et le nom du rôle sous cette forme:

- src: geerlingguy.postgresql
  name: postgres_server

Et voilà le tour est joué.

PS : n’oubliez pas d’exporter vos variables de proxy si vous êtes derrière un proxy.


#Devdocs.io : retrouver les docs des principaux outils et languages

Là c’est du lourd. C’est vrai que tout le monde rêve d’avoir un outil qui regroupe tous les languages et les outils du développeurs (web ou autres). Bon on en est pas loin du tout avec https://devdocs.io/.

Sur ce site vous retrouverez de très nombreux languages :

  • perl
  • ruby
  • python
  • c
  • c#
  • etc…

Des docs sur des outils courants :

  • postgres
  • ansible
  • http
  • apache
  • cake
  • node.js

En plus grâce à son usage du cache de navigateur, il permet de faire du offline.

batch books document education

Photo by Pixabay on Pexels.com


[Python] : lancer un serveur web en une ligne

Python comme quelques autres languages permettent de faire simplement des tâches qui peuvent paraître parfois « un peu lourdes ». Attention quand je dis des tâches ce ne sont pas non plus des choses insurmontables mais plutôt des choses où on pense qu’il faut une trentaine de lignes pour faire ça.

python book

Photo by Christina Morillo on Pexels.com

Là aujourd’hui je découvre un truc tout simple, le lancement d’un serveur web. D’habitude il faut faire appelle à des sockets… Et bien là c’est simplement unte toute petite ligne.

#en python 3
python3 -m http.server

#en python 2
python -m SimpleHTTPServer 8000

Et àla vous pouvez lancer votre navigateur sur localhost:8000 et vous découvrez le répertoire là où vous avez lancé la commande.

Ce n’est pas exceptionnel mais c’est tellement simple.


[TIPS] : Remplacer un pattern dans plusieurs fichiers

Cela arrive souvent sur Linux on vous file un tar.gz avec des chemins à modifier mais qui ne sont pas passés par une variable. Résultat il faut se palucher plusieurs fichier à modifier à la main.

Ben non bien sûr ! sur linux on peut faire cela plus facilement !

Découvrez cette astuce en vidéo :

Un bon grep suivi d’un xargs et le tour est joué :

grep -Rl '/home/titi' * | xargs sed -i -e 's#/home/titi#/home/toto/appli1#g'

Dans cet exemple, on liste tous les fichiers qui contiennent « /home/titi » et on leur applique un sed où on remplace « /home/titi » par « /home/toto/appli1 ». et voilà le tour est joué. L’option s de sed permet de remplacer et l’option g permet de ne pas limiter le remplacement à une substitution mais bien à l’ensemble du fichier.