Blog

Featured Posts

How to deal with Docker Hub rate limit on AWS

Since 2020, DockerHub has been limited to only 200 container image pull requests per six hours. This article will help you to deal with this limitation on AWS.

Comment activer la vérification de typage pour Python dans VSCode

Python supporte désormais le [type hints](https://docs.python.org/3/library/typing.html). Dans cet article, nous allons voir comment avoir de l'IntelliSense pour le typage ainsi qu'avoir les erreurs de typage sur Visual Studio Code.

Comment gérer l'internationalisation avec NextJS SSG

Générer statiquement un site avec le framework NextJS pour différentes langues n'est pas si simple.

Utilisateurs et privilèges sous MySQL

L'administration d'une base de données inclue la gestion des utilisateurs et de leurs privilèges. La plupart du temps, une interface graphique, telle que MySQL Workbench ou PHPMyAdmin, est disponible pour réaliser de façon simple les actions liées à cette gestion. Dans ce tutoriel, nous allons voir comment réaliser la gestion des utilisateurs MySQL au moyen de requêtes SQL.

Installer et configurer un serveur DNS avec Bind9 sous Linux

Un service DNS (Domain Name Service) sert à la résolution de noms de domaine en une adresse IP ou une autre ressource. Ce service est utile notamment pour naviguer sur internet pour ne pas avoir à connaître les IPs des sites web.

All Posts

Publish multiple projects on a Monorepo on Cloudflare Pages

All the tooling provided by service providers is great and makes the developer's life much easier. Usually, those providers connect one git repository to an application. It works fine but it is not so easy when you work on a monorepo or if you want to make multiple deployments for more than one locale from only one source code.

Convert a JavaScript object to queryparams string

This post describes two very simple ways to convert a JavaScript object to a querystring both in a browser environment or server environment.

Succeeding understanding tech as a non-technical person

It exists a lot of technical terms. If you want to better understand the product team, you are at the right place.

MySQL Docker Image pour les Mac ARM M1

Apple ARM M1 issue is that number of software are not compatible with the microarchitecture ARMv8 like MySQL official Docker image for example. Here a solution.

Etendre le type Window avec Typescript

Certaine des propriétés et fonctions du type Window avec Typescript, ne sont pas disponibles. Ce post a pour but d'expliquer comme étendre le type Window avec les propriétés manquantes.

ESLint Global Variables

When we use some global variables defined elsewhere, eslint throws an error saying the variable is not defined. Here is how to configure eslint to ignore those.

How to deal with Docker Hub rate limit on AWS

Since 2020, DockerHub has been limited to only 200 container image pull requests per six hours. This article will help you to deal with this limitation on AWS.

Starter Gatsby + Netlify CMS + TailwindCSS

Avec le nombre de sites web generés avec les mêmes outils, j'essaie au maximum de mutualiser l'effort de maintenance de la stack technique commune. Suivant ce principe, je viens de créer un starter qui vient du développement de mes autres sites.

Comment activer la vérification de typage pour Python dans VSCode

Python supporte désormais le [type hints](https://docs.python.org/3/library/typing.html). Dans cet article, nous allons voir comment avoir de l'IntelliSense pour le typage ainsi qu'avoir les erreurs de typage sur Visual Studio Code.

Comment récupérer la chaine de charactères HTML d'un composant React

Dans plusieurs cas, vous pourriez avoir besoin d'avoir la chaine de charactère représentant le HTML généré plutôt que le composant React. Le moyen le plus simple est d'utiliser la fonction renderToString du package react-dom.

Comment gérer l'internationalisation avec NextJS SSG

Générer statiquement un site avec le framework NextJS pour différentes langues n'est pas si simple.

Comment render les emojis en JavaScript

Pour le contenu de vos articles, les emojis ajoutent un peu de fun à vos pages. Ce court article explique comment utiliser des emojis en JavaScript.

Git et la sensibilité à la casse

Aujourd'hui je ne comprenais pas pourquoi, sur la CI, les tests ne passaient pas ne trouvant pas certains fichiers alors que ceux-ci étaient bien présents sur le système de fichiers et envoyés sur GIT. La subtibilité venait d'un renommage de fichiers qui modifiait la casse de ceux-ci.

Utilisateurs et privilèges sous MySQL

L'administration d'une base de données inclue la gestion des utilisateurs et de leurs privilèges. La plupart du temps, une interface graphique, telle que MySQL Workbench ou PHPMyAdmin, est disponible pour réaliser de façon simple les actions liées à cette gestion. Dans ce tutoriel, nous allons voir comment réaliser la gestion des utilisateurs MySQL au moyen de requêtes SQL.

Installer et configurer un serveur DNS avec Bind9 sous Linux

Un service DNS (Domain Name Service) sert à la résolution de noms de domaine en une adresse IP ou une autre ressource. Ce service est utile notamment pour naviguer sur internet pour ne pas avoir à connaître les IPs des sites web.

Partage de dossiers avec VMWare sous Ubuntu et Debian

VMWare propose de partager des dossiers entre le système hôte et la machine virtualisée. Ces dossiers permettent de partager des données entre les deux machines. Le principe est que la machine virtualisée peut accéder aux dossiers choisis de la même manière que le système hôte et en changer les fichiers selon ses besoins.

Installer les VMWare Tools sous Ubuntu et Debian

Les VMWare Tools sont des outils développés par VMWare afin d'améliorer l'intégration de la machine virtuelle avec l'hôte. Ces outils, disponibles pour différents systèmes d'exploitation, apportent le support de différentes fonctionnalités tel que le copié-collé, les dossiers partagés, l'accélération matérielle, etc ... .

Supprimer l’entête server de Nginx

L’installation de Nginx par défaut laisse son identité sur l’entête des requêtes HTTP au moyen de l’entête Server. Pour des raisons de sécurités, il est important de laisser transparaître le moins d’informations possible au potentiel attaquant. Nous allons donc voir comment supprimer les informations de Nginx contenues dans ces entêtes.

Mettre en place memcached sous Ubuntu

Memcached est un système de cache permettant de stocker des données directement en mémoire. Ce système de cache permet aux sites web et aux bases de données, entre autres, d'accroître leur vitesse. Le principe de ce gain de vitesse est d'échanger des temps d'accès disque assez lents par des temps d'accès mémoire beaucoup plus rapide, le seul désavantage étant la consommation mémoire pouvant être importante selon les données stockées.

Creer un serveur Linux, Nginx, MySQL, PHP

Apache n'est pas le seul serveur HTTP existant pour desservir des applications écrites en PHP, de nombreux autre existent dont Nginx. Dans le cas de l'utilisation de Nginx pour desservir des applications PHP on appellera cela une pile LEMP pour Linux, Nginx, Mysql et PHP.

Importante mise à jour de Composer

Il semblerait que Noël soit fêté avant l'heure au sein de la communauté PHP. Le gestionnaire de paquets PHP, Composer, a reçu une importante amélioration de performance aujourd'hui.

Liens symboliques et materiels sous Windows avec Mklink

Tout comme linux, Windows permet de créer entre autre des liens matériels (**hardlink**) et des liens symboliques (**symlink**) en ligne de commande. La ligne de commande Mklink est l’équivalent sous Windows de la célèbre commande ```ln``` sous linux. Voici, plus bas, une série d’exemple de son utilisation.

Configurer la ligne de commande PHP sous windows

Lorsque vous installez PHP que ce soit avec WAMP, XAMPP, ou tout simplement en installant le binaire de php pour windows, il ne vous est pas possible d’utiliser php en ligne de commande sous windows, il vous faut obligatoirement configurer la ligne de commande.

Retirer une page supprimée de Google

Google ne voit pas d’un très bon œil les erreurs HTTP 404. Seulement, lorsque vous supprimez une page, un article, une image, … , Google ne voit plus ce qui a été supprimé et c’est l’erreur ! Pour éviter de tomber dans ce piège, il vous faut supprimer le lien dans l’index du moteur de recherche.

L’opérateur ternaire en PHP

L’utilisation de l’opérateur ternaire n’est certes pas la méthode de développer la plus lisible dans la majorité des cas mais elle s’avère pratique dans la lisibilité de conditions simples. L’implémentation de cet opérateur peut différer selon les langages, voyons dans le cas de PHP.

Mettre à jour NodeJS via npm

De nouvelles versions de NodeJS sortent régulièrement et il vous faut donc mettre à jour votre installation. Pour ce faire vous pouvez le faire via le gestionnaire de paquets de votre distribution si vous êtes sous linux (apt, dnf, ...) ou brew si vous êtes sous OSX. Une autre manière simple peut être d'utiliser npm.

Créer un serveur Web Lighttpd sur Ubuntu

Lighttpd est un serveur web au même titre que le plus célèbre, Apache. Comme son nom l’indique il se veut léger. Il comporte toutefois, malgré cette légèreté, un nombre de fonctionnalités comparables à ces homologues pour des performances aussi bonnes sinon meilleurs sur les tests benchmarks réalisés.

Installer SASS et Compass sur Ubuntu

SASS est un préprocesseur CSS utilisé par de nombreux projets web dont les framework Foundation et Bootstrap. Il permet, à partir d’un langage proche de celui du CSS, de générer une feuille de style CSS.

Annuler un git add

Un git add malencontreux est vite arrivé. C'est pourquoi il existe une commande qui permet d'annuler ce git add. Voici la ligne de commande permettant de faire cette action.

Protéger un champ MongoDB avec Mongoose

Comme pour toute application, nous ne voulons pas que certains champs de nos bases soient visibles aux yeux de tous. [Mongoose](https://mongoosejs.com/), ODM écrit en Javascript pour requêter les bases NoSQL MongoDB, permet simplement de mettre en place une protection sur certains champs que nous voulons laisser cachés.

Connecteurs ODBC et PHP

Comme vous le savez sans doute déjà, Windows met à disposition des développeurs un moyen simplifié de connexion aux bases de données. Ce moyen s'appel ODBC pour Open DataBase Connectivity et est notament beaucoup utilisé par les outils BI. Cependant, il peut vous être utile de les utiliser au cours de votre développement web pour vous connecter à des bases de données sans avoir à rentrer certaines informations.

Chrome version 35 : nouvelles APIs et intégration du chromecast

La version 35 du célèbre navigateur de Google vient d'être passée sur la chaîne stable. Au programme de cette mise à jour, de nouveaux outils pour les développeurs, des correctifs de sécurité, et une meilleur intégration de Chromecast.

Améliorations de performance pour PHP

Dimitry Stogov, ingénieur chez Zend Technologies, a annoncé il y a quelques jour par un post sur les news du site officiel du langage PHP des améliorations effectuées sur le moteur. Ces améliorations sont le fruit d'intenses travaux de refactoring sur celui-ci. Pour rappel le moteur interne de PHP est tenu par la société Zend qui a donné son nom au moteur.

Créer un serveur LAMP

La plupart des serveurs Web tournent avec ce qu'on appelle la pile LAMP, c'est à dire avec Linux, Apache, MySql, et un des trois langages de développement que sont Perl, Python et PHP. La combinaison de ces technologies vous permet de mettre en place un environnement pour propulser vos applications web codées dans l'un des trois langages cités précédemment. Cet environnement se met en place simplement et c'est ce que nous allons montrer aujourd'hui.

Collections de librairies graphiques

Parce qu'il est important pour son site ou son tableau de bord d'avoir des graphiques, il faut pouvoir trouver la librairie graphique qui nous convient en fonction de nos besoins et des librairies déjà existants sur la page (jQuery, YUI, ...).

Dropplets, le CMS sans base de données

Dropplets est un CMS sans base de données ecrit en PHP par Jason Schuller. Vous pouvez retrouver les sources de celui-ci sur github. Vous pouvez l'installer sur n'importe quel serveur supportant le PHP. L'écriture des articles se fait hors-ligne en langage MarkDown.

Créer votre propre Serveur NodeJS

Aujourd'hui, nodeJS est une des technologie Javascript la plus utilisé dans le monde. Elle permet d'écrire en JavaScript le backend de n'importe laquelle de vos applications web comme la plateforme de blogging toute nouvellement découverte Ghost. Ainsi, vous pouvez écrire vos sites de A à Z en JavaScript, trop cool !

Enneiger votre site avec JavaScript

Vous l'avez sans doute vu sur certains sites que vous visitez, la période est à la neige (ça ne se voit pas en France en tout cas ^^) ! Je vous présente donc quelques script pour mettre une animation de neige sur votre site et ainsi émerveiller vos visiteurs.

Désactiver des plugins wordpress en SQL

Il est parfois nécessaire pour des raisons diverses, tel que l’impossibilité de se connecter à son espace admin, de vouloir désactiver des plugins directement en SQL. Pour ce faire nous allons voir la requête qui permet de le faire.

Migrer des liens internes Wordpress

Nous avions vu dans un précédent article les étapes à suivre pour migrer son site wordpress simplement. Cette migration faîte, votre site peut toutefois encore contenir des liens divers vers d'autre pages de votre site, ce sont des liens internes. Ces liens internes n'ont pas été changés automatiquement lors de la migration et votre site peut contenir beaucoup de pages et donc beaucoup de liens à changer, il convient donc de voir comment les changer rapidement et sans trop se fatiguer.

Google sort spark, une chrome app de développement

Dans le but de démontrer l'étendu des possibilités offertes par les applications intégrées au sein de chrome, google a décidé de développer un environnement de développement nommé Spark.

Migrer son Wordpress simplement

Il n'est pas rare de développer son site en local par soucis pratique ou bien dans le cas d'une attente d'hébergement. Il peut arriver, de la même manière, de changer d'hébergement ou tout simplement changer de nom de domaine. Dans ce cas, une migration du site wordpress est nécessaire et s'accompagne souvent de manipulation différentes que d'habitude. Nous allons donc voir comment faire pour faire migrer son site wordpress proprement et en toute simplicité.

Google utilisé pour effectuer des injections SQL

Le cabinet de sécurité Securi a découvert dernièrement que Google pouvait être utilisé pour effectuer des attaques de type SQLI. Daniel Cid, PDG de la société, explique la manière de procédé ci-dessous.

Optimiser son référencement avec le partage de ses pages sur les réseaux sociaux

Les réseaux sociaux constituent une grande source de diffusion pour tout site web et entreprise. Cependant, cette source a ses règles et ses méthodes qui sont bonnes à connaître pour pouvoir exploiter au mieux le partage. Nous allons donc voir comment optimiser nos pages web pour permettre un bon partage sur les réseaux sociaux.

reCaptcha plus simple pour les humains

' reCaptcha est devenu plus simple mais seulement si vous êtes humain ' a déclaré google dans son post. En effet, le mécanisme de protection de google permettant de lutter contre le spam et les robots a eu le droit à un coup de jeune.

Créer un plugin Wordpress

Nous avons vu dans les derniers cours comment manipuler quelques fonctionnalités importantes pour personnaliser votre site au maximum. Aujourd’hui nous allons nous intéresser à la base de la création d’un plugin wordpress. Il est en effet important, de savoir manipuler les fonctionnalités de base, mais ce qui nous intéresse généralement est de pouvoir intégrer de façon propre et en click vos ajouts ou changements sur n’importe quel site.

Créer une sidebar sous wordpress

Si vous voulez personnaliser au maximum vos pages, vous avez normalement recours aux widget. Maintenant si vous voulez avoir une serie de widget sur un type de page particulier, ça commence à devenir plus difficile. Le recours de sidebar devient une nécessitée mais il n’en existe que deux sur le wordpress de base et cela peut faire peu. Nous allons donc voir la manière de créer de nouvelles sidebar et de les placer là où vous le souhaitez.

Gotcha pour remplacer le Captcha

Le captcha serait-il près de la porte de sortie ? Il semble en effet que face à la puissance et l'intelligence croissante des bots, la sécurité du captcha est mis à mal. C'est à se problème que des élèves de la Canergie Mellon University (CMU) ont tenté de s'attaquer en mettant en place le système GOTCHA.

BigDump

Lorsque vous travaillez sur de gros sites, il peut vous arriver d'avoir des bases de données assez volumineuses. Enfin, tant que ça reste sur le serveur, cela ne pose pas trop de problèmes.

Personnaliser un widget Wordpress

Durant le dernier tutoriel, nous avons appris à créer notre propre widget. Aujourd’hui nous allons apprendre à le faire changer en fonction de ce que peut rentrer l’utilisateur. En effet, si le widget est à usage unique alors il est clair que ce tutoriel ne présente pas grand interêt mais si vous voulez réutiliser votre plugin utlérieurement mais de manière légèrement différente alors là ça devient intéressant.

Mozilla prépare le remplacement de Flash par Shumway

Après avoir annoncé le blocage par défaut de tout les plugins sur firefox le mois dernier et l'implémentation de pdf.js il a quelques mois, mozilla s'attaque au remplacement de Flash par Shumway.

Mise à jour de Dart SDK

L'éditeur du langage de google, Dart, a été mis à jour. Parmis les nouveautés et améliorations de l'éditeur on peut souligner une amélioration de la rapidité de génération du JavaScript. En effet, l'outil intégré dart2js permettant la transcription de Dart en JavaScript a subit des améliorations de rapidité. On peut voir aussi une meilleur intégration de l'édition de HTML et CSS avec l'autocomplétion et un meilleur surlignage sémantique.

Google introduit Web Designer

Google a lancé aujourd'hui Web Designer, un logiciel de création de bannières publicitaires. Ce logiciel, destiné aux web designers et aux publicitaires afin de leur donner des outils de création de bannières simplement, est pourvu d'une interface simple et intuitive et est surtout gratuit.

Connaître le nombre de partage de ses pages en JavaScript

Si vous avez déjà essayé de récupérer le nombre de partages de vos pages via uniquement JavaScript, vous avez sûrement dû vous rendre compte que l'affaire n'était aisée.

Créer un widget Wordpress

Lors de l’utilisation de wordpress, il peut s’avérer, dans certain cas, être frustré qu’un widget n’existe pas. Une première solution est de chercher si un plugin pouvant générer votre widget n'a pas déjà été créé par la communauté. Seulement si votre besoin est spécifique vous avez très peu de chance de trouver votre bonheur, besoin spécifique demande développement spécifique. Mais, heureusement, wordpress offre la possibilité de créer ses propres widgets et cela en tout simplicité.

Plugins bloqués par défaut sous mozilla

Dans le but d'améliorer la sécurité de son navigateur firefox, mozilla a décidé, à titre préventif, de bloquer par défaut tout les plugins tiers. Cette décision intervient seulement quelques jours après l'annonce de google concernant la suppression du support des NPAPI.

Ajouter un bloc HTML sous Prestashop

Malgré le grand nombre de modules existant sous prestashop, tous les contenus que l'on peut retrouver potentiellement sur un site web e-commerce ne sont pas forcément représentés.

Sortie de TogetherJS

Mozilla a présenté dernièrement sa plateforme de développement collaboratif en temps réel. A l'origine présenté sous le nom de TowTruck, le projet JavaScript de la fondation mozilla prend désormais le nom de TogetherJS.

Le support des plugins NPAPI abandonné sous Chrome

L'annonce a été faite hier sur le blog officiel de Chromium, Netscape Plugin API ne sera plus supporté à partir de Janvier 2014 sur le navigateur Chrome. Justin Schuh, ingénieur sécurité chez google, explique que cette décision a été prise en raison de problèmes de sécurité et de maintient du code.

Changement de moteur de rendu pour QT

Digia abandonne le port de WebKit pour chromium au sein de son framework Qt. Depuis son intégration en 2007, le célèbre moteur de rendu a beaucoup évolué. Porté principalement par le projet Chromium (Google), Apple et Nokia, il est devenu un des moteur de rendu les plus utilisé au monde étant intégré au sein de Safari et anciennement Chrome, Opera et Qt.

Créer un template Wordpress

Il peut arriver que le template par défaut de wordpress ne suffise pas et que vous soyez obligé d’en créer un de toute pièce. En effet, si vous souhaitez avoir une page sur votre site web qui se démarque des autres ou alors vous avez besoin d’un agencement de votre page plus particulier, vous allez devoir passer par la création d’un nouveau template. Pour ce faire rien de plus simple avec wordpress, nous allons le voir tout de suite.

Changement de barre et de logo pour Google

Google a publié hier un renouveau de l'interface utilisateur de son moteur de recherche. Ce renouveau se caractérise par la disparition de la barre traditionnelle noire située en haut de page et d'un léger changement de son logo.

Installer une extension chrome hors du Web Store

Dans cet article, nous allons voir comment installer une extension Chrome hors du WebStore.

reCAPTCHA (le captcha de google)

De nos jours le spamming constitue un réel fléau. Il empoisonne nos réseaux, nos boîtes mail et nos sites web. En ce qui concerne les sites web, cela se caractérise par des inscriptions non désirées de robots dans le but de capturer des informations d'utilisateurs (souvent des adresses mails).

Google introduit Web Speech API

L'arrivé de la dernière version de Google Chrome signe l'arrivé de la reconnaissance vocale dans les pages web. En effet, le navigateur Google inclut depuis la version 25 le Web Speech API, une interface de programmation permettant la reconnaissance vocale.

De la sécurité dans nos applications web

Vous le savez sans doute déjà, tous les internautes ne sont pas des gens de confiance. Certains pirates tentent de contourner les sécurités de vos applications web. C’est pourquoi, la sécurité sur Internet n’est plus un sujet à prendre à la légère. Et nous allons prendre ça au sérieux, justement !