Tutoriels

Docker pour les null

Créer mon premier conteneur docker.


15 août 2017

Si vous lisez ceci, je suppose que vous avez au minimum un aperçu de ce qu'est Docker, je ne vais pas revenir là-dessus. En revanche, parlons du concept de microservice.Une application web est généralement composée d'une multitude de logiciels assurant chacun des services, un exemple basiq ... lire la suite

Formater un tableau pour CURLOPT_POSTFIELDS

Envoyer un array en POST avec cURL


23 mars 2017

Le tableau de paramètres que l'on doit passer dans l'option CURLOPT_POSTFIELDS de cURL a un format particulier pour les paramètres qui sont eux-mêmes des tableaux.Contrairement à la fonction PHP http_build_query qui travaille directement avec des tableaux associatifs, pour cURL le tableau ... lire la suite

Email avec pièce jointe en PHP

Envoyer des fichiers grâce à la fonction mail.


16 mars 2017

Envoyer un mail en PHP est globalement assez simple grâce à la fonction mail. Il est en revanche plus compliqué d'ajouter une pièce jointe. Le corps du mail doit ainsi respecter une structure très particulière dont les blocs sont délimités par des chaînes de caractères : les frontières. Nous auron ... lire la suite

MySQL: comment faire une requête sur la description d'une table

Retravailler le résultat de describe.


16 mars 2017

Describe est un mot clé en MySQL qui permet d'afficher la structure d'une table. Il existe différentes façons de retravailler ce rendu et d'y ajouter des critères de sélection par exemple.SHOW COLUMNS avec un WHERE SHOW COLUMNS from ma_table where Type="text"La base de don ... lire la suite

MySQL : order by selon la valeur des champs

Personnaliser l'algorithme de tri grâce à coalesce


01 mars 2017

Coalesce est une fonction SQL qui prend une liste de paramètres en entrée et retourne le premier non null. Si tous les paramètres sont null, null est retourné.Vous pouvez utiliser un coalesce dans un order by pour trier différemment selon qu'un champ soit vide ou contienne une valeur spéci ... lire la suite

Ecrire une extension pour Google Chrome

Un simple plugin pour gagner du temps


20 février 2017

Si vous utilisez Google Chrome vous avez probablement déjà utilisé une extension comme adblock.Une extension chrome n'est rien de plus qu'une fonction javascript. Chrome fournit une API que cette fonction peut utiliser pour manipuler les données du client, le DOM de la page etc...U ... lire la suite

Ouvrir un terminal pendant l'installation de Windows


13 février 2017

Pendant une installation de Windows 10, il m'est arrivé de devoir ouvrir un terminal pour utiliser des outils de manipulation de partitions en ligne de commande.Shift + F10 est le raccourci pour ouvrir un invité de commandes sur toutes les dernières versions de Windows.A bientôt :) ! ... lire la suite

Git : annuler le dernier commit sans perdre ses modifications

Revenir en arrière après un git commit amend


13 février 2017

Vous avez fait un git commit --amend et vous vous rendez compte qu'un nouveau commit aurait été préférable ? La ligne de commande ci-dessous permet d'annuler le dernier commit ou amend et de remettre vos fichiers dans la liste des fichiers staged.Annuler le dernier commit en gardant les m ... lire la suite

JSONP : envoyer des requêtes cross-domains

Contourner la same-origin policy


10 février 2017

JSONP (JSON with Padding) est le nom d'une technique permettant de contourner les sécurités misent en place par la norme same-origin policy. Cette norme interdit entre autres d'utiliser l'objet XMLHttpRequest (et donc l'AJAX) pour envoyer une requête vers un autre domaine que le domaine courant. ... lire la suite

SSHFS : monter un système de fichier avec SSH

Intégration d'un filesystem distant.


09 février 2017

SSHFS est un logiciel qui permet de monter un système de fichier distant à travers SSH. Vous aurez accès à ce filesystem comme s'il était directement intégré à votre propre système.Les commandes ci-dessous sont testées sous fedora.Créer un montage avec ssh# Installation dnf in ... lire la suite

Linux : débloquer une interface graphique gelée

Utiliser les terminaux virtuels pour débloquer ma machine


06 janvier 2017

La plupart des descendants d'Unix (dont Linux et BSD) disposent d'un système nommé "terminaux virtuels" (virtual terminals ou virtual consoles). Ces terminaux, que vous utilisez probablement déjà sans le savoir, offrent la possibilité d'avoir plusieurs sessions d'interfaces graphiques complèteme ... lire la suite

PHP : modifier les attributs privés d'un objet

Utilisation des fonctions anonymes pour accéder aux attributs protégés d'une instance.


28 décembre 2016

Pour modifier ou simplement accéder à un attribut privé ou protégé d'un objet, il suffit de créer une fonction anonyme et de les lier ensemble. La méthode Closure::bindTo de PHP, si on lui passe l'objet en premier et second paramètre, permet de simuler l'appartenance de notre nouvelle foncti ... lire la suite

Tester l'existence d'un fichier dans l'include path

Utiliser stream_resolve_include_path au lieu de file_exists.


07 mai 2016

PHP permet de modifier le chemin d'inclusion "include_path" des fichiers. L'include path n'est toutefois pas pris en compte par toutes les fonctions de manipulation de fichiers : par exemple file_exists exige un chemin absolu complet.Heureusement, la fonction stream_resolve_include_path p ... lire la suite

Convertir récursivement un objet PHP en tableau

Caster un objet et ses attributs


07 mai 2016

Il n'existe pas de méthode native pour caster un objet récursivement en tableau. Voici une petite fonction qui transformera tous vos objets ainsi que leurs attributs en tableaux. Pour ne pas avoir de surprise avec cette fonction, je vous conseille de bien lire le manuel de get_object_vars.... lire la suite

Gnome 3 : changer les raccourcis clavier systèmes

Modifier les raccourcis clavier en ligne de commandes.


04 avril 2015

Dans Gnome 3, la plupart des raccourcis clavier peuvent être modifiés depuis l'interface graphique "Paramètres > Clavier > Raccourcis". Certains raccourcis systèmes, comme le changement de bureau, ne peuvent être totalement supprimés depuis cette interface. Par exemple, si vous tentez de changer ... lire la suite

Bash : sortir automatiquement du script si une variable n'est pas initialisée

Utiliser la commande set -u pour tester l'initialisation des variables


16 novembre 2014

La commande set possède plusieurs options très utiles pour sécuriser vos scripts bash. Parmi elles "set -u", que l'on peut aussi utiliser sous la forme "set -o nounset", permet de sortir automatiquement du script lors de l'utilisation d'une variable non initialisée. En plaçant cette commande en h ... lire la suite

Bash : sortir automatiquement du script si une commande échoue

Utiliser la commande set -e pour tester le code retour


16 novembre 2014

La commande set possède plusieurs options très utiles pour sécuriser vos scripts bash. Parmi elles "set -e", que l'on peut aussi utiliser sous la forme "set -o errexit", permet de sortir automatiquement du script lorsqu'une erreur survient. En plaçant cette commande en haut de votre script, vous ... lire la suite

GIT : merger 2 commits

Ajouter des fichiers à un commit déjà existant ou fusionner deux commits


12 novembre 2014

Vous souhaitez attacher vos nouvelles modifications au dernier commit de votre branche :Ajouter mes fichiers à un commit déjà existantgit commit --amendVous avez deux commits déjà créés, vous souhaitez les fusionner pour n'en laisser qu'un :Fusionner deux commits ... lire la suite