Laisser un commentaire

Tirer toute la puissance d'Ansible avec les rôles

Ansible est absolument génial. Il permet d’automatiser l’installation et la maintenance de machines et d’infrastructures complètes. J’ai déjà consacré un article à la prise en main d’Ansible, nous nous concentrerons ici sur les rôles.

Les rôles représentent une manière d’abstraire les directives includes. C’est en quelque sorte une couche d’abstraction. Grâce aux rôles, il n’est plus utile de préciser les divers includes dans le playbook, ni les paths des fichiers de variables etc. Le playbook n’a qu’à lister les différents rôles à appliquer et le tour est joué !

En outre, depuis les tasks du rôle, l’ensemble des chemins sont relatifs. Inutile donc de préciser l’intégralité du path lors d’un copy, template ou d’une tâche. Le nom du fichier suffit, Ansible s’occupe du reste.

Laisser un commentaire

Optimiser les performances de MySQL

Les bases de données SQL et plus particulièrement MySQL restent une des pierres angulaires de l’immense majorité des sites internet. MySQL fonctionne très bien out of the box, cependant, dès que la base se trouve assez sollicitée, on s’aperçoit que les réglages par défaut méritent une petite optimisation. Jetons un œil à tout ça !

Laisser un commentaire

Compresser les images dans le navigateur

Uploader une image de profil, vous avez sûrement déjà vécu cette situation. Cette petite image qui ne fera au mieux que 250px * 250px. Mettez vous dans la peau de mamie du cantal, est-ce que vous croyez qu’elle va redimensionner son image avant upload ? Notre utilisateur qui balance une image de 8000px x 6000px va devoir patienter un bon moment le temps d’envoyer tout ça avant que, enfin, le serveur optimise cette dernière.

Mais pourquoi ne pas faire tout ça directement dans le navigateur ?! On y gagne en tous points. L’utilisateur ne perd pas son temps à uploader xMb pour rien, vous économisez de la puissance et de la bande passante serveur et vous œuvrez pour la planète ! 5 bonnes raisons de faire ça dans le browser. On y va ?

Laisser un commentaire

Installer, configurer et sécuriser le serveur ssh

Par définition, un serveur est accédé de manière distante. C’est à dire qu’on doit pouvoir l’administrer sans être physiquement devant. Alors qu’il soit dans un datacenter à l’autre bout du globe ou dans le grenier de la maison, SSH nous permettra de gérer tout ça depuis notre ordinateur de bureau (ou laptop).

Si vous louez votre serveur chez un hébergeur, vous l’avez sans doute-reçu avec ssh pré-installé. Cependant, si vous bidouillez au fond de votre garage, il va falloir l’installer vous-même, et qui plus est, il n’est pas inintéressant de peaufiner la config de SSH pour vos propres besoins !

Laisser un commentaire

Apache2 : récupérer les IP derrière un reverse proxy

Par défaut, lorsqu’Apache se trouve derrière un reverse proxy, l’adresse source telle qu’il la voit est celle du reverse. Donc 127.0.0.1 ou ::1 si le reverse est en local. Si votre applicatif a besoin de récupérer les ip, c’est l’adresse qu’il verra (exemple $_SERVER['REMOTE_ADDR'] en php… Pas très pratique donc.

Il existe bien entendu des headers spécifiques que les reverses ajoutent (ou peuvent ajouter) pour indiquer l’ip source de la requête. Il faut cependant indiquer à Apache2 de le prendre en compte. Voyons comment faire cela.

Laisser un commentaire

10 fonctions secrètes de Google

Hello à tous ! Puisque nous sommes samedi 1er avril, je vais écrire un article un peu plus détente. Laissez-moi donc vous présenter une petite sélection des easter eggs de Google qui fonctionnent toujours.

Laisser un commentaire

Créer une USB bootable depuis un Mac

Petit article rapide aujourd’hui afin d’expliquer la démarche pour obtenir une USB bootable depuis un ISO Linux (ou autre) sur Mac. En effet, le logiciel UNetbootin échoue à créer un USB qui boot correctement avec un environnement UEFI. Dernièrement, lorsque j’ai tenté une réinstallation sur un de mes PC portables, j’ai eu droit à un joli message Operating System Not Found. Le Mac est déjà équipé de tout ce qu’il faut pour faire cette opération en ligne de commande. Ne tardons pas plus et allons-y !

Laisser un commentaire

Chiffrement de répertoire sous Linux

Dans l’ère post-Snowden, le chiffrement est devenu une question d’hygiène. Contrairement au chiffrement des communications pendant leur transport, les données sont encore souvent stockées en clair sur nos machines et serveurs.

Sur Linux, il existe plusieurs méthodes de chiffrement : chiffrement du disque entier avec LUKS ou encore de répertoire. Une particularité cependant, l’usage doit être compatible avec les serveurs, donc possibilité de rentrer le mot de passe à distance et de conserver le dossier lisible après que l’utilisateur se soit déconnecté.

Laisser un commentaire

Utilisation des pseudo-classes CSS :valid et :invalid

Le HTML5 a permis d’assortir ses formulaires de contraintes. Elles permettent de valider le contenu directement en HTML, sans avoir forcement recourt au JavaScript. C’est supporté par la majorité des navigateurs depuis un bon moment.

Dans le même temps, deux nouvelles pseudo-classes CSS ont fait leur apparition. Elles offrent la possibilité d’appliquer des styles en fonction de la validation (ou non validation) du champ de formulaire. Voyons comment tout cela fonctionne !

Laisser un commentaire

Javascript asynchrone, les Promises à la rescousse

Tout est dans le titre. L’ES6 a apporté beaucoup de nouveautés, entre hype et réelle utilité, beaucoup d’encre a coulée. Les Promises ont été à l’honneur car elles sont un ajout notable au langage et pemettraient, apparemment, de nous affranchir du callback hell. Voyons dans cet article comment les utiliser pour une meilleure gestion du flux.