PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Blogmotion : Vagrant, la virtualisation au service du développeur

samedi 1 mars 2014 à 10:00

Administrateur système et développeur sont deux métiers bien différents.

Un développeur n'est pas forcément à l'aise avec l'installation d'un serveur linux, des librairies et dépendances qui vont avec. Rien d'anormal dans ce constat, chacun son métier. Mais autant donner un maximum de libertés et de possibilités à un développeur pour qu'il puisse travailler en autonomie.

vagrant

Si vous utilisez des machines virtuelles régulièrement au sein de vos développements pour faire tourner par exemple une webApp, Vagrant est un outil open source fait pour vous.

Vagrant permet d'automatiser l'installation d'une VM et la configuration des différents services, packages et configurations associés. Besoin d'envoyer une VM à un collègue pour qu'il ait le même environnement de développement que vous ? Plutôt que d'exporter une VM au format OVF/OVA de plusieurs Go il suffit d'envoyer les fichiers de configuration de Vagrant, qui ne pèsent quelques lignes. Très simple !

Vagrant permet de s'affranchir de l'interface du virtualiseur, qu'il s'agisse de VMware, VirtualBox ou libvirt (KVM). Pour bien comprendre de quoi il s'agit je vous invite à regarder la démo de Grafikart :

Pensez à faire un tour dans la documentation et gardez en tête que Vagrant n'a pas vocation à être utilisé en production, déconnez pas. Je rappelle que l'idée c'est de se retrouver dans un environnement de pré-production ou de développement. A vous de créer vos box ou d'utiliser celles chez vagrantbox.es.

Vagrant est multiplateforme, il est disponible pour Windows, Mac et Linux.

Vous devriez me suivre sur Twitter : @xhark

Article original écrit par Mr Xhark publié sur Blogmotion le 01/03/2014 | Aucun commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons

Vous risquez d'être aussi intéressé par :

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

botchchikii : Mutt, redécouverte et configuration partagée

vendredi 28 février 2014 à 21:58

Bonsoir à tous !

Je me sens motivé ces jours ci pour redécouvrir des outils considérés comme « complexes » pour certains mais tellement intéressants à découvrir et maitriser. Dans ce domaine, les applications en console sont au premier rang : elles demandent un investissement dans la documentation du logiciel et dans la mise en place d'une configuration de fichiers textes. 

Un outil indispensable, pour ceux qui n'ont jamais apprécié les webmails, c'est un courrieleur. Utilisé au quotidien, il doit correspondre à vos besoins et présenter un confort d'utilisation irréprochable (à mon avis). J'ai testé de nombreux clients de messagerie : Claws-mail arrive largement en tête de la catégorie graphique, grâce à sa légéreté et ses options complètes. Thunderbird, je ne suis pas capable, désolé…

Fût un temps où j'ai également utilisé Mutt, le client messagerie en console. J'avais abandonné lors de mon passage en Bépo : le changement des raccourcis claviers m'avait oté les repères que j'avais pris et j'avais perdu le goût de l'utiliser. Jusqu'à ces derniers jours où j'ai décidé de lui redonner sa chance.

Alors bien sur, il a fallu que je me redocumente sur les fonctions de cette application, très complète, et que je me replonge dans la configuration du muttrc, pierre angulaire de cet outil. C'est alors que j'ai eu le sentiment d'un bordel monstre dans ce fichier de config crée, monté, patché et inspiré de nombreux tutos sur la toile. Un vrai foutoir !

J'ai donc décidé de rafraichir un peu tout ça, de nettoyer le code et de repartir sur des bases saines. Cela m'a permis de mieux comprendre le fonctionnement de Mutt (les copier coller n'enseignent rien) et peut être de vous proposer un kit de démarrage pour ceux qui souhaitent passer le cap et courrieller depuis Vim et Mutt !

Le multi-compte dans Mutt : le foutoir presque assuré

Et oui, lorsque c'est fait à La Rache, on s'arrache vite les cheveux, c'est le moment de le dire. Le muttrc devient vite illisible et on se perd dans les folder-hooks, les réinitialisations de config, le mélange entre les mailboxes… J'en perdais mon latin, même si cela fonctionnait.

J'ai donc cherché un moyen de faire fonctionner Mutt avec deux fichiers de configuration différents. Comme je suis sous i3 et que j'aime le tiling, avoir deux instances de Mutt côte à côte, une par compte mail, c'est l'idéal. J'ai alors trouvé le « graal » en tombant sur cet article  qui explique comment, avec une variable, des alias et screen, faire cohabiter facilement deux profils bien distincts. Bon, je n'utilise pas screen mais le concept me plaisait bien et j'ai donc bossé dans ce sens : un script va me lancer les deux instances de Mutt, avec des fichiers de config distincts et idéalement facilement modifiables. On est parti ? Go.

Si vous souhaitez voir cela en concrêt, je vous propose de télécharger l'archive qui comprend tous les fichiers nécessaires et qui vous permettra, sans grosse modification, de vous connecter en IMAP à un compte Gmail et un compte GoogleApps. Cette archive contient un dossier bin/ avec 3 scripts et un dossier .mutt/ avec les fichiers de configuration. Placez bin/ et .mutt/ dans votre répertoire personnel, en n'oubliant pas de faire une sauvegarde de votre .mutt originel si vous en avez un.

Détail de la configuration

Je vais vous expliquer le fonctionnement de ma configuration, basée sur quelques variables et le découpage du muttrc originel pour gagner en confort de lecture et en facilité d'adaptation selon les comptes. Vous pourrez facilement ajouter des nouveaux comptes, sans pour autant modifier beaucoup de fichiers.

L'étape de lancement et la déclaration des variables

Nous allons commencer par créer les lanceurs pour les instances de mutt. Ce sont les fichiers bin/{gmail.sh,googleapps.sh}  que nous allons détailler ici :

#!/bin/sh
LOCAL_CONFIG=gmail \\
USER=login-avant-@ \\
PASS=******* \\
DOMAIN=gmail.com \\
GPG_KEY=********* \\
/usr/bin/mutt

C'est le fichier de base, qui définit les identifiants et autres données mises en variables pour ne pas se les coltiner dans les autres fichiers de config. Idéalement donc, vous penserez à mettre des permissions un peu strictes si vous partagez votre ordinateur (700 me semble bien mais vous pouvez le chiffrer). Le LOCAL_CONFIG est ce qui va permettre de différencier le muttrc et sera repris pour les sous parties de la configuration (signatures, thèmes de couleurs). Le reste semble assez clair. Le fichier bin/googleapps.sh est sensiblement identique, excepté un changement dans la définition de l'$USER et l'ajout d'un champ personnalisé.

#!/bin/sh
LOCAL_CONFIG=googleapps \\
USER=email@complet \\
PASS=********* \\
DOMAIN=gmail.com \\
ORGANIZATION="La Rache" \\
GPG_KEY=********** \\
/usr/bin/mutt

Le dernier fichier, bin/m est celui qui permet de lancer d'une commande les deux instances. Pour faire au mieux, je vous conseille de déclare votre $HOME/bin dans votre $PATH. Par exemple dans votre .zshrc, ce qui permettra de l'appeler via dmenu :

PATH=$PATH:"/home/mike/bin"

Voici donc le contenu du fichier de lancement. Modifiez roxterm par le terminal de votre choix. Le titre est optionnel mais bien pratique.

#!/bin/sh
roxterm --title=GoogleApp -e "$HOME/bin/googleapps.sh" & roxterm --title=Gmail -e "$HOME/bin/gmail.sh"

Pour finir avec ces 3 fichiers : ils doivent être executables.

Le fichier de configuration commun : muttrc

J'ai regroupé dans ce fichier toute la configuration globale, celle qui va bien pour les différents comptes. Vous noterez qu'il n'y a aucune donnée à modifier pour qu'il soit opérationnel. J'ai essayé de commenter et de trier suivant les catégories. Par contre : je suis en BÉPO ! Les accès claviers sont à modifier si vous utilisez une disposition de dinosaure 

# ## GENERAL
set hidden_host=yes
set move=no
set quit=ask-yes
set mark_old=no
set tilde=yes
set delete=yes
set reply_regexp="^((re|aw|sv|ang):[ \\t]*)+"
set sig_dashes=yes
set abort_nosubject=yes
set abort_unmodified=yes
set postpone=ask-no
set tmpdir="/tmp/"
set sort=threads
set sort_aux=last-date-received
set editor="vim + -c 'set ft=mail tw=80' -c ':0/^$'"
set metoo=no
set confirmappend=no
# configuration des alias
set alias_file= ~/.mutt/aliases
set sort_alias= alias
set reverse_alias=yes
source $alias_file
# Visualiseur HTML
set implicit_autoview=yes
auto_view text/html application/x-pgp-message
alternative_order text/plain text/enriched text text/html # Show the "text/plain" part *before* the "text/html" part
set mailcap_path="~/.mailcap"
# ## CHARSET
set allow_8bit=yes
set locale = fr_FR.utf8
set charset="utf-8"
set send_charset="utf-8:iso-8859-15:us-ascii"
charset-hook us-ascii UTF-8
charset-hook x-unknown UTF-8
charset-hook windows-1250 CP1250
charset-hook windows-1251 CP1251
charset-hook windows-1252 CP1252
charset-hook windows-1253 CP1253
charset-hook windows-1254 CP1254
charset-hook windows-1255 CP1255
charset-hook windows-1256 CP1256
charset-hook windows-1257 CP1257
charset-hook windows-1258 CP1258
# ## Sons
# Beep when new mail arrives.
set beep_new=yes
# sinon, silence
set beep=no
# simplifie la procédure d'édition
set fast_reply=yes
# ## Set cache
set header_cache=yes
set header_cache="~/.mutt/cache/headers"
set message_cachedir=yes
set message_cachedir="~/.mutt/cache/bodies"
# ## Certificats
set certificate_file=~/.mutt/certificates
# ## Abook 
set query_command="abook --mutt-query '%s'"
macro index,pager A "abook --add-email-quiet" "Ajouter cet expéditeur dans Abook"
bind editor complete-query
# ## VIEW MAIL
set smileys="(>From)|(:[-^]?[][)(><}{|/DP])"
set pager_context=1 # number of lines that overlap on paging
set pager_index_lines=8
set pager_stop=yes
#
# ## REPLY
set edit_headers=yes
set attribution="%n a probablement écrit:" # attribution format : on day, name wrote (alias=%a if you want to add that)
set indent_string="> "
# ## INDEX
set auto_tag=yes
set to_chars=" +-.F"
set date_format="%d/%b-%H:%M"
# Hooks pour régler la largeur des colonnes selon la taille du terminal (source wiki archlinux)
folder-hook .*[sS]ent.* 'set my_col_from = `echo $((35 * ($(tput cols)-35) / 100))`; set my_col_subject = `echo $((65 * ($(tput cols)-35) / 100))`; set index_format="%2C | %Z [%d] %-$my_col_from.${my_col_from}t --> %-$my_col_subject.${my_col_subject}s"'
folder-hook ! .*[sS]ent.* 'set my_col_from = `echo $((35 * ($(tput cols)-35) / 100))`; set my_col_subject = `echo $((65 * ($(tput cols)-35) / 100))`; set index_format="%2C | %Z [%d] %-$my_col_from.${my_col_from}F --> %-$my_col_subject.${my_col_subject}s"'
# ## HEADERS
ignore *
unignore From: Organization: Website: To Cc Reply-To Mail-Followup-To Subject User-Agent X-Mailer Date X-Spam-Level:
hdr_order Date From: Organization: Website: To Cc Reply-To Mail-Followup-To User-Agent X-Mailer X-Spam-Level: Subject
# ## BINDINGS
bind pager previous-line
bind pager next-line
bind index F flag-message
bind pager F flag-message
macro attach W /srv/download/mutt/
# ## BÉPO
bind browser,attach t next-entry
bind browser,attach s previous-entry
bind index t next-undeleted
bind index s previous-undeleted
bind generic,index,browser T next-entry
bind generic,index,browser S previous-entry
bind pager t next-line
bind pager s previous-line
bind index,attach j tag-entry
bind index J tag-pattern
bind index ^J untag-pattern
bind index j tag-thread
bind pager,index k save-message
bind attach,pager b exit
bind browser b previous-page
macro index b "y"
bind browser r select-entry
bind index r display-message
bind pager r view-attachments
bind attach r view-attach
bind attach k save-entry
bind index,pager,attach , reply
# ## Source pour intégrer les différents profils
source ~/.mutt/muttrc.local.$LOCAL_CONFIG

La ligne importante ici est la dernière : vous notez la présence de la première variable, qui va diriger Mutt vers la suite de la configuration, selon le compte choisi.

Le fichier de compte

Voici l'endroit où tout se sépare. Je vous colle uniquement le fichier concernant le compte Gmail (.mutt/muttrc.local.gmail). Vous pourrez voir l'autre dans l'archive.

# ## RECEIVE
set imap_authenticators=login
set imap_passive=no
set ssl_starttls=yes
set imap_user=$USER@$DOMAIN
set imap_pass=$PASS
set mail_check = 60
set timeout = 300
set imap_keepalive = 900
set folder = imaps://$USER@imap.$DOMAIN:993/
set spoolfile = +INBOX
set postponed = +Drafts
# set record = +Sent
# ## SEND
set smtp_url=smtps://$USER:$PASS@smtp.$DOMAIN
set realname='Mickael Brangeon'
set from=$USER@$DOMAIN
set hostname=$DOMAIN
set signature="~/.mutt/signatures/$LOCAL_CONFIG.txt"
# ## LISTES DE DIFFUSION
subscribe awesome@naquadah.org
subscribe dev@suckless.org
subscribe frugalware-devel@frugalware.org
# ## HOOKS
# FILTRES POUR TRI
save-hook "~C dev@suckless.org" =Listes/suckless
save-hook "~C awesome@naquadah.org" =Listes/awesome
save-hook "~C frugalware-devel@frugalware.org" =Listes/frugal-dev
# GESTION PARTIELLE D'UN COMPTE CHEZ GANDI RELEVÉ SUR LE COMPTE GMAIL
send-hook '~C ^root@wolf\\.am$' 'my_hdr From: botchikii '
send-hook '~f ^root@wolf\\.am$' 'my_hdr Jabber-ID: botchchikii@wolf.am'
send-hook '~f ^root@wolf\\.am$' 'set signature="~/.mutt/signatures/gandi.txt"'
# ## GNUPG
source ~/.mutt/gpg.rc
set pgp_sign_as="$GPG_KEY"
set pgp_autosign=no
set pgp_autoencrypt=no
set pgp_replysign=yes
set pgp_replyencrypt=yes
set pgp_verify_sig=yes
set pgp_timeout=900
set pgp_long_ids=no
# ## COLORSHEME
source ~/.mutt/colors/$LOCAL_CONFIG

Vous noterez que les variables renseignées dans le lanceur sont bien utiles ici ! Par contre, j'ai tenté de mettre le prénom et le nom réel en variable également mais cela n'a pas été pris. Je ne sais pas pourquoi. Bref, vous pourrez modifier ça à la mimine ! Le reste du fichier est assez clair je pense. Réglage du compte, préférences de réception et d'envoi, inscription à des mailing lists et une gestion partielle d'un compte annexe géré par mon gmail. GPG est géré également mais pas en auto (c'est saoulant de signer tous les mails). La dernière ligne vous apprend également que nous ne sommes pas arrivés au bout : il reste le thème de couleurs : si on a deux comptes, autant les différencier non ? En fait, ce sont les mêmes thèmes à la différence de la barre de status : jaune pour l'un, vert pour l'autre. Les signatures sont également définies par un fichier ad-hoc.

Les fichiers annexes

Comme dit dans la partie précédente, vous avez également les signatures dans .mutt/signatures/ suivant le même concept (nom de fichier = $LOCAL_CONFIG.txt, ainsi que les thèmes de couleurs dans .mutt/colors/ . Je n'ai pas renouvelé le concept pour les alias, qui sont communs aux deux comptes (je ne vois pas l'intérêt de les dégrouper) et définis dans .mutt/aliases. Le fichier .mutt/gpg.rc est destiné au réglage du module gpg.

La touche finale

Maintenant que tout est paramétré, il suffit de créer un raccourci clavier dans votre ~/.i3/config :

bindsym XF86Sleep exec $HOME/bin/m

Je n'ai par contre pas réussi à faire comprendre à i3 de lancer les deux terminaux dans un tag spécifique : le titre donné par roxterm n'influence pas l'instance du terminal et il n'y a donc pas moyen de les identifier.

Voici pour la mise à jour de ma configuration de Mutt. Je suis content car tout est plus clair maintenant, plus facile à reprendre en main et peaufiner. Utiliser Mutt est un réel plaisir et j'ai plus de fun qu'avec Claws-mail, qui reste un très bon client de messagerie mais qui est finalement moins « sexy » !

Quelques liens pour terminer :

Bonne lecture de mails à vous ! 

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

Romaine Lubrique : Aragon : j'aime que mes poèmes tombent, moi vivant, dans le domaine public

vendredi 28 février 2014 à 20:59

Dans un joli passage, le poète Louis Aragon exprime un point de vue personnel et singulier sur le droit d'auteur (vite oublié par ses ayants droit)

- Littérature /

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

La vache libre : Slingscold – Un menu global de type Gnome/Unity/Mac OS X pour Xfce

vendredi 28 février 2014 à 20:18

slingscold

Xfce est un bureau très populaire sous GNU/Linux, que nous pouvons retrouver dans un grand nombre de distributions telles que Xubuntu ou Emmabuntüs, par exemple. En dehors d’Xfce vous pouvez retrouver d’autres environnement de bureaux comme Gnome ou KDE par exemple, qui ont beaucoup évolué ces dernières années, embarquant au passage diverses améliorations, de nouvelles fonctionnalités, voir de nouveaux paradigmes. Certains de ces environnements de bureau sont désormais livrés avec un menu global, dont le but est d’afficher l’ensemble des applications installées sur votre machine et une barre de recherche vous permettant d’y accéder rapidement (voir même d’effectuer des recherches sur le web). Si vous avez envie de retrouver cette fonctionnalité sur votre desktop Xfce, sachez que c’est possible grâce à Slingscold, une application capable de fournir un menu global à Xfce. Celui-ci va vous permettre de voir la liste complète des applications installées sur votre machine et de les afficher sous forme de catégories (internet, jeux, bureautique, etc) afin d’y accéder rapidement. Vous pourrez également profiter d’une barre de recherche intégrée dans le haut du menu, afin de cibler rapidement l’application que vous voulez lancer. Slingscold est écrit en Vala, basé sur GTK+, Cairo et peut être appelé rapidement à l’aide d’un raccourci clavier paramétrable (la touche Super par exemple) ou d’un lanceur spécifique. Je ne connaissais pas ce projet mais ça a l’air assez sympa et je pense que ça peut plaire au fanatiques de la customisation.

Pour le reste je suis un peu désolé, mais je ne peux pas vous en dire plus. Je ne possède pas de session Xfce installée sur ma machine et pour être franc, étant en phase de « grande flemmite aiguë en ce moment », je n’ai pas eu le courage d’en installer une juste pour un test :) Cela dit si ça vous tente, vous pouvez en savoir un peu plus en vous rendant sur la page Sourceforge du projet.

Vous pouvez aussi passer directement à la phase test en vous procurant les sources du projet, ou les .deb 32 et 64 bits pour Ubuntu, Xubuntu, Debian et dérivés, fournis par lffl.org.

Si vous tournez sur Arch Linux ou Manjaro vous pouvez profiter de SlingScold via AUR.

Amusez-vous bien, moi je retourne soigner ma flemitte aiguë :)

via

Gravatar de La vache libre
Original post of La vache libre.Votez pour ce billet sur Planet Libre.

Marco : Ajout du support https sur un serveur Apache

vendredi 28 février 2014 à 17:02

Si comme moi vous hébergez un blog sur votre serveur, le besoin d’avoir une connexion sécurisée https se fait vite ressentir, que ce soit pour accéder à la partie administration de votre site ou pour la manipulation de vos bases de données avec phpMyAdmin par exemple. Je vous propose donc ici un petit tutoriel avec le serveur Apache2 qui explique comment rendre accessible en https un site web (ici libre-experience.org).

Installation des paquets nécessaires et activation du module SSL

Le pré-requis est qu’Apache soit installé. Il faut ensuite ajouter les paquets suivants :

apt-get install openssl ssl-cert
Ensuite il faut activer le module ssl :
a2enmod ssl

Génération des certificats SSL

Création de la clé

cd /etc
openssl genrsa -out private/libre-experience.org.key 2048

Génération du Certificate Signing Requests (CSR)

Il s’agit de la demande de signature d’un certificat par une autorité de certification. Le certificat signé sera ensuite retourné. Le champ important est Common name (CN) dans lequel on pourra mettre par exemple :

openssl req -new -key private/libre-experience.org.key -out libre-experience.org.csr

Signature du certificat

Pour signer le certificat, deux possibilités s’offrent à nous :

Installation

Dans le fichier de configuration du site (par exemple /etc/apache2/sites-available/libre-experience.site ajouter :

DocumentRoot /var/www/libre-experience
ServerName www.mirelsol.org
# Add ssl protocol
SSLEngine On
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/mirelsol.org.crt
SSLCertificateKeyFile /etc/ssl/private/mirelsol.org.key

Recharger Apache :
/etc/init.d/apache2 reload

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