Illustration isométrique d'un serveur avec un tiroir ouvert contenant des dossiers, des documents flottants et un smartphone sur fond de grille bleue. Un grand texte blanc indique "CACHE CONTROL", faisant allusion à la gestion des données, aux en-têtes HTTP ou aux techniques de mise en cache PHP.

PHP : envoyer les bons en-têtes HTTP de cache

La mise en cache HTTP est l’un des leviers les plus efficaces pour accélérer un site. Elle évite au navigateur de télécharger plusieurs fois les mêmes ressources et permet aux CDN de servir des réponses sans solliciter l’origine à chaque requête.

Mais un mauvais en-tête de cache peut aussi créer des bugs très pénibles : page privée visible trop longtemps, panier WooCommerce figé, ancien CSS conservé, API qui renvoie des données périmées, ou fichier JavaScript jamais mis à jour. Bref, le cache est un accélérateur. Pas une baguette magique. Et il mord si on le configure mal.

Voici comment envoyer les bons en-têtes HTTP avec PHP, selon le type de contenu : fichiers statiques, HTML dynamique, API, pages privées, WordPress et WooCommerce.

Le rôle des en-têtes HTTP de cache

Quand un navigateur demande une ressource, le serveur peut indiquer comment cette réponse doit être conservée, réutilisée ou revalidée.

Les principaux en-têtes concernés sont :

En-têteRôle
Cache-ControlDéfinit les règles de cache modernes
ExpiresAncien mécanisme basé sur une date d’expiration
ETagIdentifiant de version permettant la revalidation
Last-ModifiedDate de dernière modification utilisée pour revalider
VaryIndique que la réponse varie selon certains en-têtes de requête

Aujourd’hui, Cache-Control est le plus important. Expires peut rester utile pour compatibilité, mais il ne doit plus piloter toute votre stratégie.

Lire PHP : envoyer les bons en-têtes HTTP de cache

HTML5 : corriger l'erreur "The frameborder attribute on the iframe element is obsolete. Use CSS instead." photo

HTML : corriger l’attribut iframe frameborder obsolète

Si vous validez une page HTML et obtenez l’erreur suivante, votre code contient probablement un ancien attribut sur une iframe :

The frameborder attribute on the iframe element is obsolete. Use CSS instead.Langage du code : PHP (php)

Ce message signifie que l’attribut frameborder ne doit plus être utilisé sur un élément <iframe>. Il était courant dans les vieux embeds YouTube, Vimeo, Dailymotion, Google Maps ou widgets tiers. Mais en HTML moderne, on gère la bordure avec CSS.

La correction est simple : supprimez frameborder="0", puis utilisez border: 0; en CSS si vous ne voulez aucune bordure.

Lire HTML : corriger l’attribut iframe frameborder obsolète

Le logo de Google présente les deux lettres "o" remplacées par des caméras de surveillance en guise d'objectifs, ce qui fait allusion au pouvoir et aux questions éthiques qui entourent la surveillance de Google. Les autres lettres conservent les couleurs classiques de la marque, à savoir le bleu, le rouge, le jaune et le vert.

Google, pouvoir et éthique : faut-il s’inquiéter de sa domination ?

Avez-vous remarqué comme Google prend une place immense dans nos vies numériques ? Recherche, Gmail, YouTube, Android, Chrome, Maps, publicité, analytics, documents, cloud, intelligence artificielle : la liste est longue. Très longue. Et elle ne se limite plus à « chercher une page web ».

Google a construit des services souvent excellents. Rapides, pratiques, gratuits en apparence, intégrés les uns aux autres, disponibles presque partout. C’est précisément ce qui rend la question intéressante : quand une entreprise devient aussi utile, elle devient aussi difficile à éviter.

En 2007, je posais déjà la question : Google a-t-il une éthique ? Aujourd’hui, la question mérite d’être reformulée : que devient l’accès à l’information quand une entreprise privée contrôle une part aussi importante de la recherche, de la publicité, de la vidéo, du mobile, du navigateur et de l’intelligence artificielle ?

Lire Google, pouvoir et éthique : faut-il s’inquiéter de sa domination ?