Web

Quel constructeur de site web offre la meilleure performance?

Les constructeurs de sites web (ou éditeurs WYSIWYG de sites) font partie intégrante du web d'aujourd'hui. Pourtant, ces outils sont souvent critiqués pour la lourdeur du site ainsi généré. Aujourd'hui, on sait tous qu'un site lent vous coute des clients! Personne n'aime attendre et la moitié des…

Laravel vs Symfony: Quel framework PHP choisir en 2020

Les frameworks PHP sont la solution la plus fréquemment choisie en matière de développement web. Il en existe meme des tonnes sur le marché, , mais Laravel et Symfony sont les plus populaires auprès des développeurs web en ce moment. Petit tour d'horizon... C'est quoi Laravel? Laravel est un…

Laravel: Faire un accés non connecté via un ID

On a souvent besoin de faire un accés non connecté à certaines resources d'une application. Par exemple imaginons le téléchargement d'un document avec un lien envoyé par email a un utilisateur. Il peut être judicieux d'un point de vue UX que le téléchargement se déclenche directement au clic sur le…

Définir un singleton Laravel

Un singleton est une classe qui ne peux être instanciée qu'une fois dans une application donnée. C'est utile, par exemple, lorsque l'on veut partager une information ou un état entre plusieurs partie de notre code. En revanche, cela rend le code plus difficile à suivre car son éxecution dépend de l…

Envoyer un email lorsqu'un utilisateur se connecte en ssh

Vous avez un serveur dédié, ou un raspberry pi qui traine sur votre réseau? Il peut alors être intéressant de recevoir un mail lorsque quelqu’un se connecte en ssh sur la machine. Surtout si ce quelqu’un n’est pas vous! Attention: Cet article ne se substitue pas aux "vraies" techniques de…

Faire un diaporama fondu sans javascript avec les animations css

Je partage un mini tuto aujourd'hui sur comment faire un slideshow (diaporama) super simplement avec les animations css, et surtout sans JS. Pour ce faire, on va partir du DOM suivant: Et enfin, le code CSS (ici en Sass): Pour la petite explication du css, dans un premier temps on utilise les width…

Laravel et pattern Repository

Un Repository est une séparation entre un domaine (business) et une couche de persistance. Le Repository fournit une interface de collecte pour accéder aux données stockées dans une base de données, un système de fichiers ou un service externe. Les données sont renvoyées sous forme d'objets. En…

La justice pourrait contraindre google à révéler son algorithme.

Une fois n'est pas coutume, je publie un petit article d'actualité car il est possible que les événements à venir changent le paysage du référencement à jamais. Cet article est le condensé de plusieurs sources différentes et il est possibe que cet article soit incomplet. Je vous invite donc à…

Comprendre le sucre syntaxique d'ES6 vers JS

Tandis que le support d'ECMAScript6 est de plus en plus répandu, il est encore beaucoup trop tôt pour s'attendre à un support de tous les navigateurs sur un site grand public. Un transpileur est donc obligatoire pour utiliser le Javascript de demain, mais dès aujourd'hui ! Voici un petit tour d…

Pourquoi héberger son site statique sur netlify?

Depuis quelque temps, les sites statiques deviennent de plus en plus répandus, comme le témoigne l'apparition de frameworks dédiés a ça tel que Gatsby ou encore Jekyll ou Hugo. En effet, comme la génération ne se produit plus à chaque chargement de page mais plutôt au moment de la mise en production…

Google change son interprétation de rel=nofollow et lance sponsored et UGC

Le 10 septembre dernier, Google a annoncé le lancement de deux nouveaux attributs rel: sponsored et UGC. Ces attributs, viennent en remplacement de l'attribut nofollow utilisé depuis des années pour indique qu'un lien ne devait pas être suivi vis-à-vis de référencement. Voici un court billet…

Réseau domotique en ESP8266: Début d'un projet avec PReact

Pour mon projet domotique, j'ai besoin d'un dashboard. C'est à dire un endroit ou toutes les informations importantes seront accessibles. Comme je compte servir ce dashboard depuis un ESP8266 pour éviter d'installer un raspberry pi juste pour un serveur web, je dois garder une taille de fichiers la…

Streamer son rendu React Server Side (SSR)

Les applications React isomorphiques sont de plus en plus utilisées en production. Globalement, l'idée est d'exécuter le même code coté client et serveur. Ainsi on va faire le premier rendu de l'application coté serveur, pour envoyer une vue toute faite au client. Le code de l'application est…

Gérer ses chargements en React avec un HOC

Souvent dans une application on à besoin de récuperer des données depuis une API distante. Comme ces données servent ensuite au rendu de l'application, on est obligé d'attendre leur changement avant d'afficher quelque chose. La gestion de ces (état de chargement) est important pour l'experience…

Penser son code pour le futur

Cela fait 4 ans que je développe de manière professionnelle pour le compte d'un client, et bien plus longtemps que je développe pour mon propre compte. Parfois j'ai dû coder sous pression, parfois j'ai dû récupérer le code d'autres développeurs, et parfois c'était à mon tour d'écrire du code qui…

NodeMCU: Utiliser son esp8266 comme serveur web

Dans cet article, nous allons voir comment créer un serveur web basique via nodeMCU. Ce serveur web aura pour objectif de servir de pont entre notre navigateur web et la liaison serie de l'esp. Les messages envoyés dans le navigateur seront écrits sur la liaison serie, et inversement. L'esp devra…

L'event loop NodeJS et l'asynchrone

NodeJS démystifie la programmation asynchrone et rend les applications temps réel triviales à programmer. Mais comment est conçu ce "langage"? Explications sur le fonctionnement d'un serveur pas comme les autres. Fonctionnement d'un serveur web classique Pour comprendre comment marche Nodejs, il…

Prendre en main nodeMCU sur ESP8266

NodeMCU est un framework qui permet, via du code lua, de programmer un ESP comme on programmerait un Arduino. Globalement on peut faire la même chose que sur ces derniers mais avec en plus une connexion wifi ! Cet article va vous guider de l’achat du matériel a la création d’un petit serveur de démo…

Les travers des keys en React, explications

Pour moi, l'utilisation des clés (keys) en React est l'un des aspects les plus délicats à comprendre lorsque l'on commence à développer avec cette technologie. Même après plusieurs mois, on ne se rend pas bien compte de leur importance car le code s'exécute correctement la plupart du temps, même…

Mouvement autoritatif en réseau partie 2: L'envoi des commandes

Dans un jeu multijoueur, si on veux garder l'autorité au niveau du serveur, il faut que tous les calculs importants (mouvement, tir) soient effectués sur celui-ci. Dans cette premiére partie nous allons donc traiter l'envoi des commandes du client vers le serveur. Cet article sera plutot court car c…

Mouvement autoritatif en réseau partie 1: Le principe

Concevoir un jeu multijoueur est loin d'être une tache aisée. Même si Unity3D simplifie grandement le développement, ce moteur reste trés général et ne simplifie pas tout. Un probléme récurent qui est souvent présenté sur les forums d'unity concerne le mouvement autoritatif d'un object ou d'un…

Bloquer les faux sites référents dans vos statistiques analytics

Les référents (referer en anglais) désignent une page qui envoie des visiteurs sur votre site. Mais certains s'en servent comme technique de promotion. Vous avez des sites référents bizarres qui polluent vos statistiques analytics? Ces référents sont en fait des bots qui spamment votre site en…

Changer le format de date Eloquent dans Laravel

Laravel est un framework qui prend de l'ampleur dans le monde du développement PHP. Ce Framework utilise la librairie Carbon pour gérer ses dates (pour les champs created at/deleted at/updated_at générés par Eloquent par exemple). En revanche, lorsqu'on développe un site pour un public francophone…

Ajouter du Wifi à votre arduino avec un esp8266

Pour mon projet de voiture controlée par arduino, il me fallait un moyen de connexion sans fil simple à mettre en place. J'ai donc cherché une puce wifi à la fois basse consommation, performante et simple à prendre en main et à monter sur un arduino. On commence à beaucoup parler de la puce ESP826…

Cachez les chargements de page Pjax et NProgress

La rapidité est un paramétre important a prendre en compte quand on doit se mesurer aux applications natives. Face a la concurence des applications natives, une simple latence lors du changement de page peut casser toute l'expérience utilisateur de votre site. Une excellente expérience utilisateur…