PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Hobbestigrou : Supporter plusieurs distributions dans ses tâches ansible.

mercredi 24 janvier 2018 à 22:42
###Introduction Il n'est pas rare que les développeurs n'utilisent pas la même distribution que le serveur de production. D'ailleurs, il est même possible que dans l'équipe, il y est plusieurs distributions différentes. Il n'est pas grave que le poste de développeur ne soit pas le même que la production, car pour ça il y a d'autres environnement. Pour ce genre de situations, il est intéressant de pouvoir gérer plusieurs distributions dans les tâches ansible. Ce n'est pas contraignant et ça ne prends pas beaucoup plus de temps. L'exemple est l'installation d'un serveur de base de données. ###Usage Ansible fournit plusieurs utilitaires, dont par exemple la possibilité d'importer une une tâche. Ce qui permet d'avoir des sous-tâches spécifiques à une distribution, par exemple. Maintenant, voyons comment ça fonctionne, le fichier roles/postgresql/tasks/main.yml : --- - name: Import the task for debian import_tasks: debian.yml when: ansible_distribution|lower == 'debian' - name: Import the task for archlinux import_tasks: archlinux.yml when: ansible_distribution|lower == 'archlinux' - name: Ensure the service is running service: name: postgresql state: started enabled: yes D'abord, un nom pour l'action, c'est classique. Ensuite, l'utilisation du module import_tasks, puis, l'utilisation d'une structure conditionnel pour importer la tâche qui convient à la distribution. Le fichier roles/postgresql/tasks/debian.yml: --- - name: Install apt: name: postgresql state: latest update_cache: yes become: yes Utilisation du module apt pour installer le serveur de base de données. D'abord le nom du paquet, ensuite son état, latest pour avoir la dernière version disponible, puis updatecache pour mettre à jour la liste des paquets. L'opération demande les droits d'administration, la valeur de becomeuser est root par défaut. Le fichier roles/postgresql/tasks/archlinux.yml: --- - name: Install pacman: name: postgresql state: latest update_cache: yes become: yes La seule différence est le nom du module utilisé. Ici, c'est pacman, sur le reste le fonctionnement est le même. En général, il y a peu d'opération spécifique à faire pour une distribution. Les modules qui gèrent les systèmes de paquets pour les distributions, sont proches et ont beaucoup d'options communes. ###Conclusion Il n'est pas difficile de gérer le support de plusieurs distributions, dans les tâches ansible. La plupart du temps, les tâches spécifiques sont l'installation du paquet.

Gravatar de Hobbestigrou
Original post of Hobbestigrou.Votez pour ce billet sur Planet Libre.

Hobbestigrou : Présentation Python à des novices.

mercredi 24 janvier 2018 à 22:21
###Introduction L'idée était de répondre à cinq questions autour du langage. J'ai donc réfléchi aux questions auquel je pouvais répondre, et ce fut difficile à trouver. Avec la première question, j'ai pris un risque. C'était la partie la plus technique de ma présentation. Python c'est quoi ? J'aurai pu m'en passer, mais je souhaitais que les personnes présentes apprennent des choses. J'ai commencé par expliquer le fonctionnement des langages de programmation. J'ai donc présenté les différentes techniques pour traduire le code aux langages machines. J'ai donc parlé de compilateur, d'interprète et de compilation à la volée. Ensuite toujours technique, j'ai expliqué le paradigme de la programmation objet. J'ai pris l'un des exemples, le plus commun la voiture. J'ai aussi rapidement abordé les sujets, de la portabilité et des architectures. La deuxième question fut plus légère. Comment est née Python ? J'ai présenté par une photo l'auteur du langage. J'ai expliqué son rôle. Abordé le moment pendant lequel a été conçu Python et l'origine du nom. Pour finir, j’ai expliqué où il a puisé son inspiration. La troisième question de nouveau un peu technique. Pourquoi apprendre Python ? J'ai présenté volontairement des langages illisibles pour terminer avec un exemple Python. Qui utilise Python ? J'ai entre autre parlé de google et Dropbox. J'ai aussi parlé de quelques médias, mais je ne vais pas tout lister ensuite. J'ai rapidement abordé calibre et Openstack. La dernière question, était à destination de ceux qui aurait envie de creuser le sujet. Comment apprendre Python ? J'ai essayé de donner des pistes pour apprendre le langage. ###De l'humour Comme je l'ai dit plus haut, lorsque il s'agit d'un sujet technique, ce n'est pas facile de garder les gens à l'écoute. L'une des techniques est de faire de l'humour. Ce qui permet de détendre et d'intéresser les gens. Ce n'est pas facile surtout lorsqu’on est pas quelqu'un de drôle, mais ça se travail. Quelque soit le sujet, il y a toujours des choses amusantes à trouver. Ce qui est important c'est de trouver le juste milieu, ne pas en faire trop et surtout les faire au bon moment. Je ne sais pas si j'ai vraiment réussi, mais j'ai eu l'impression de ne pas m'être trop mal débrouillé sur ce point. ###La peur du serpent Comme-dit plus haut, faire rire c'est important. J'ai donc commencé ma présentation en faisant une description du serpent. La fin de cette partie a été marqué par une présentation d'un ami. Un serpent en peluche je précise. Je l'ai lancé dans le public, j'espérais une réaction, mais elle fut encore meilleure que prévu. La configuration de la salle faisait que certaines personnes étaient dos à moi. Ce qui était parfait, car lorsque j'ai lancé la peluche, une personne ne l'avait pas vu arrivé et elle s'est retrouvé nez à nez avec le reptile, qui lui était tombé juste devant. L'effet de surprise a provoqué une vive émotion, un petit cri et un sursaut se levant brusquement de la chaise. Ce qui a eu pour effet de beaucoup amuser tout le monde. Je n'avais pas payé la personne et ce n'était pas prévu. ###La préparation Je ne me suis pas suffisamment préparé. Notamment sur l'oral, j'aurai du plus répéter. J'ai eu du mal à trouver mon rythme, j'avais parfois tendance à parler trop rapidement et je n'étais pas toujours très fluide. En revanche, j'avais bien préparer le contenu ce qui m'a beaucoup aidé. Sachant que j'allais m'exprimer à un auditoire qui ne connaissaient pas la programmation, j'ai essayé de beaucoup travailler la clarté. Pour faire une bonne présentation de vingt minutes, compter une semaine de préparation. Pour s'entraîner à l’oral, préparer ses blagues et travailler son texte. ###Prendre sa respiration Lorsqu’on fait une présentation à cause du stress, il n’est pas rare de manquer d’air. Il faut penser à bien prendre sa respiration et ponctuer ses phrases pour garder un bon rythme. Comme-dit plus haut il faut mettre des touches d’humour, profiter aussi de ses moments pour prendre plus de temps pour respirer et en profiter pour réfléchir à la suite. ###Le passage des questions Ma première grande surprise. A la fin de ma présentation, il y a eu un petit moment de flottement, puis j'ai vu des mains se lever. Ce qui laisse à penser que j'avais été suffisamment clair. J'ai eu de bonnes questions que j'ai trouvé pertinentes. ###Mon avis Je suppose que c'est normal, mais j'ai été un peu déçu de ma présentation. Je sais ce qu'il me reste à travailler pour la prochaine. Accorder plus de temps à répéter l'oral. Tout en continuant à travailler le contenu et en essayer de toujours trouver des passages amusants. Je prépare mes présentations comme si je devais faire un spectacle. ###Les retours Je m'attendais pas ça mais j'ai eu beaucoup de retours positifs. Ce fut une satisfaction, savoir que les personnes avaient appréciés l'intervention, et ça m'a aussi fait plaisir. C'est toujours agréable de recevoir des compliments. ###Ce que j'ai préféré Lors de ma présentation, j'ai abordé différents sujets. J'ai notamment parlé d'un atelier gratuit pour apprendre à programmer avec Python. Ma plus belle récompense fut que des personnes se sont rendu à l'atelier. Ce qui signifie que j'ai réussi à susciter un intérêt. ###Pourquoi je ne donnais plus de présentation ? J'avais donné des formations, mais je ne faisais plus de présentation. Sans rentrer dans les détails, c'était pour une raison précise. Lors d'une présentation et du passage des questions, il m'avait été demandé quelque chose qui n'avait rien à voir avec le sujet. La question, est-ce que tu as un handicap léger ? Ce genre d'intervention est toujours un peu difficile à accepter. J'avais réussi à bien le gérer sur le moment, mais je n'osais plus faire de présentation public. Je sais pour quelle raison cette question m'avait été posé, j'aurai donc du prendre plus de recul. Aujourd'hui j'aurai réussi à le gérer autrement et avec humour. ###Ne pas se regarder Il ne faut pas se regarder et surtout ne pas avoir peur du jugement des autres. Il n'y aucun risque à faire une présentation, même pas de perdre en crédibilité. Il faut donc prendre du recul. S’il y une question auquel on ne sait pas répondre, le dire franchement et ne pas essayer de trouver une réponse qui serait fausse. Il est normal d'avoir un peu peur de s'exprimer devant du monde, c'est pour cette raison qu'il ne faut pas négliger la préparation, répéter souvent, faire la présentation à ses chats, à son miroir. ses peluches et pour finir à ses proches. Pour finir apprendre aussi à rire de soi et ne pas se prendre trop au sérieux. ###Apprendre à improviser Il faut laisser une part pour improviser. S'adapter aux réactions pour pouvoir rebondir aux besoins. On ne peut pas préparer les réactions du public, il faut donc être attentif à ça, pour ne perdre personne. ###Envie de recommencer Même si je fus un peu déçu de ma présentation, j'ai envie de recommencer. J'ai eu de bon retour, des questions et des résultats. J'apprécie beaucoup mon métier et pouvoir le partager c'est quelque chose de très agréable. Je me suis donc fixer d'essayer de faire un minimum de présentation pour cette année et continuer l'année suivante. La transmission du savoir même si ça reste des présentations simples et quelque est un élément important. De plus, ça ouvre des discussions et permet de faire des rencontres. ###Conclusion Ce fut un moment hors du temps, agréable que j'ai beaucoup apprécié. J'étais dans ma bulle, dans mon univers, concentré et à l'affût des réactions pour pouvoir réagir en cas de besoin. J'aurai du mal à me rappeler précisément de tout ça. Le seul point qui dérange, j'étais un peu nerveux de commencer et au début de la présentation, ce qui a eu pour effet d'avoir la bouche asséchée à la fin. J’ai donc repris ma respiration et cela m’a aidé. J'ai eu un compliment d'un de mes patrons qui m'a touché. Je recommencerai et je prends les critiques positives, pour progresser dans ce domaine. C'était une présentation à petit comité, mais c'était justement bien pour se lancer. Cet article m’a aidé à faire le point. J’espère que ce partage vous donnera des points de travail pour dépasser les peurs de tout un chacun face à une présentation publique. Bonne journée à tous.

Gravatar de Hobbestigrou
Original post of Hobbestigrou.Votez pour ce billet sur Planet Libre.

Thuban : Éviter d'avoir un @localhost dans roundcube : merci les regex

mercredi 24 janvier 2018 à 16:37

Roundcube fait certainement partie des webmail les plus utilisés et dynamiques.
Par contre, il peut être très pénible à configurer, surtout si vous voulez proposer du multi-domaine.

En gros, lorsqu'un utilisateur se connecte, il écrit avec une adresse en "@localhost", c'est vraiment moyen si on veut lui répondre :s

Il faudrait le forcer à se connecter en précisant son adresse mail entière, autrement dit pas "toto" mais "toto@ledomaine.fr".
Je pensais que le formulaire roundcube exigerait une adresse mail valide juste avec du html5, mais non.

Heureusement, on peut préciser une expression régulière à laquelle doit correspondre le champ "login". j'en profite pour exiger une adresse mail complète, mais surtout restreindre aux domaines que je peux servir.

Dans la configuration de roundcube, ça donne ça :

//%s correspond au domaine indiqué dans le login
$config['username_domain'] = "%s";
$config['username_domain_forced'] = true;
$config['mail_domain'] = '%s';
// C'est quand même le serveur lui-même qui envoie et récupère les mails
$config['default_host'] = "localhost";
$config['smtp_server'] = 'localhost';
// Le filtre qui va bien sur le login
$config['login_username_filter'] = "/^[a-z0-9_.-]+@(3hg.fr|ouaf.xyz|yeuxdelibad.net)$/";
$config['login_rate_limit'] = 2;

Cette ligne devrait être présente par défaut, c'est bête comme tout et ça filtre pas mal de bruit. Détaillons-là un peu :

$config['login_username_filter'] = "/^[a-z0-9_.-]+@(3hg.fr|ouaf.xyz|yeuxdelibad.net)$/";

Allez zou, je laisse ça là et continue d'aller faire mumuse, le plugin enigma pour le support de gpg semble très intéressant.

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

David Mercereau : Appel au traducteur pour CalcPvAutonome (calculateur photovoltaïque autonome)

mercredi 24 janvier 2018 à 16:33

Je recherche des traducteurs Français > Anglais pour CalcPvAutonome. Plateforme de traduction : crwd.in/calcpvautonome

Petit rappel : CalcPvAutonome est un logiciel libre (licence Beerware) et gratuit de dimensionnement d’installation électrique solaire en site isolé (autonome). Il se veut transparent (dans la méthode), pédagogique et surtout détaché de toute structure commercial.

Suite à mon dernier article à son sujet, CalcPvAutonome à fait beaucoup de chemin. Au départ, il ne savait pas récupéré les données d’ensoleillement au delà de la France métropolitaine. Devant le nombre de demande extérieur à la France, j’ai pris mon clavier et maintenant j’utilise les données d’ensoleillement du projet PVGIS qui permet désormais à CalcPvAutnome d’aller de couvrir une bonne partie du globe. De ce fait je lance un appel au contributeur traducteur pour m’aider à traduire ce logiciel vers l’anglais. Une fois que ça sera fait, je passerai le logiciel en anglais natif et j’ouvrirai la traduction à toutes les langues du monde (rien que ça)

La plateforme de traduction collaborative est par ici : crwd.in/calcpvautonome

D’avance merci pour vos coups de mains / claviers…

Gravatar de David Mercereau
Original post of David Mercereau.Votez pour ce billet sur Planet Libre.

System Linux : Date d'installation d'un paquet Debian ou Ubuntu

mercredi 24 janvier 2018 à 15:15

update jpeg

Petite astuce qui peut être utile.

Voici la commande :

zgrep -h " installed " /var/log/dpkg.log* | sort | grep nomdupackage

ça donne un résultat du genre :

2018-01-24 10:30:49 status installed nomdupackage:all 1:6.0.1-1
2018-01-24 11:13:23 status installed nomdupackage:all 1:6.1.1-1

Gravatar de System Linux
Original post of System Linux.Votez pour ce billet sur Planet Libre.