Accueil
Oh Happy Dev - Développeur web freelance
Création et gestion de sites pour commerces et entrepreneurs. Portfolio, blog, site vitrine, boutique e-commerce ou autres.
16 avril 2021
Il y a un nouveau freelance en ville !Après 10 ans en tant que développeur, lead développeur et architecte dans de grands noms du web français, j'ai pris la décision de me lancer en tant que développeur indépendant.Je vais mener deux types d'activités: développeur free-lance au sein ... lire la suite
tuto4dev - Tutoriels pour développeurs
Apprenez les bases d'un sujet en moins de 10 minutes.
16 avril 2021
Tuto 4 dev est la nouvelle version d'informatix. Le concept central: comprendre un sujet en moins de 10 minutes. Technologies, méthodologies, vous trouverez les bases de nombreux concepts rencontrés par les développeurs dans leur vie quotidienne.Pour y accéder: https://tuto4.dev.... lire la suite
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
ValueObject : qu'est ce que c'est ?
Quelle différence entre ValueObject et Entity ?
08 février 2017
Souvent associés au Domain Driven Design (DDD), les ValueObjects font partie des concepts méconnus mais pourtant très simples que chaque développeur devrait connaître.Le DDD divise nos objets métiers de base en deux catégories : les entités (entity) et les valeurs (value object). Avant mêm ... 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