php 8.4 ubuntu

Installer PHP 8.4 sur le serveur

PHP 8.4 est tout beau, tout chaud: la nouvelle version est sortie le 21 novembre, comme prévue. Pas mal de nouveautés ont été intégrées. Si vous lisez ces lignes, sachez que le site tourne déjà dessus.

Faisons un petit tour d’horizon de PHP 8.4 avec ses changements, améliorations et nouveautés, avant de l’installer sur notre serveur Ubuntu.

Les nouveautés de PHP 8.4

PHP 8.4 ravira les utilisateurs avec de nombreuses fonctionnalités et améliorations impactantes. Par exemple, ils peuvent utiliser intelligemment de nouvelles fonctions de tableau, telles que :

  • array_find()
  • array_find_key()
  • array_any()
  • array_all()

De plus, il y a d’autres fonctionnalités incroyables de PHP 8.4 qui attireront l’attention des utilisateurs dès le départ, notamment :

  • Hooks de propriétés
  • Visibilité asymétrique
  • MyClass()->method() sans parenthèses
  • Changements JIT
  • Support HTML5
  • Autres fonctionnalités de PHP 8.4 à surveiller

Hooks de propriétés

Les propriétés dans les objets PHP ont offert divers avantages comme l’implémentation des validations de valeurs. Pour cette raison, les types de propriétés à partir de PHP 7 ont grandement aidé à cela.

Néanmoins, le fait que la validation doive, par nécessité, se faire via une méthode a conduit à beaucoup de code répétitif sous forme de getters et setters ou à l’abus des méthodes magiques __get et __set.

En réalité, les propriétés en lecture seule dans PHP 8 résolvent de nombreux problèmes pour les développeurs. Ils peuvent protéger les valeurs via le constructeur et offrir toujours des propriétés entièrement typées pour un accès direct.

Les Hooks de propriétés offrent également une fonctionnalité robuste pour travailler avec les propriétés de classe PHP. Les propriétés peuvent optionnellement expliquer un ou plusieurs hooks, actuellement limités à “get” et “set”, vous permettant d’intervenir dans le cycle de vie de la propriété. Voici un exemple tiré du RFC :

class User implements Named
{
    private bool $isModified = false;
    public function __construct(private string $first, private string $last) {}
    public string $fullName {
        // Override the "read" action with arbitrary logic.
        get => $this->first . " " . $this->last;
        // Override the "write" action with arbitrary logic.
        set {
            [$this->first, $this->last] = explode(' ', $value, 2);
            $this->isModified = true;
        }
    }
}Code language: PHP (php)

Visibilité asymétrique

La visibilité asymétrique est une fonctionnalité innovante qui aide les développeurs à expliquer une visibilité différente pour diverses opérations sur une propriété. Cela leur permet de contrôler intelligemment la visibilité des membres de classe, tels que les propriétés et les méthodes.

Par exemple, vous pouvez indiquer que vous souhaitez autoriser un accès public en lecture à une propriété, mais ne permettre les modifications qu’en interne :

public private(set) string $bar = 'baz';Code language: PHP (php)

La visibilité asymétrique fonctionne en parallèle avec les changements présentés avec les hooks de propriétés, y compris la possibilité de décrire la visibilité dans les interfaces.

MyClass()->method() sans parenthèses

Une pratique courante en PHP est d’instancier une classe et d’accéder immédiatement à une méthode ou une propriété. Voici un exemple ci-dessous :

$request = (new Request())->withMethod('GET')->withUri('/hello-world');Code language: PHP (php)

Nous devions entourer la classe de parenthèses lors de son instanciation, ce qui était une exigence du moteur PHP. Avec PHP 8.4, les utilisateurs peuvent omettre ces parenthèses, offrant une utilisation plus conviviale :

$request = new Request()->withMethod('GET')->withUri('/hello-world');Code language: PHP (php)

Changements JIT

PHP 8.4 a modifié la façon dont le JIT est activé. Auparavant, les utilisateurs devaient définir opcache.jit_buffer_size à 0 pour désactiver le JIT. Cependant, vous pouvez maintenant le désactiver comme décrit ci-dessous :

opcache.jit=disable
opcache.jit_buffer_size=64m

Ce changement affectera les utilisateurs s’ils avaient spécifié un opcache.jit_buffer_size mais n’avaient pas spécifié opcache.jit. Dans cette situation, les utilisateurs devront incorporer opcache.jit=tracing pour activer à nouveau le JIT. De plus, les utilisateurs constateront des améliorations du JIT, le rendant plus fluide et rapide.

Support HTML5

PHP 8.4 inclut une classe \Dom\HTMLDocument qui peut analyser efficacement le code HTML. L’ancienne classe \DOMDocument est toujours accessible pour la rétrocompatibilité.

$doc = \Dom\HTMLDocument::createFromString($contents);Code language: PHP (php)

Pour les développeurs qui analysent ou construisent du HTML en utilisant l’extension DOM, cette version fournira diverses fonctionnalités innovantes et orientées résultats, ainsi qu’un support robuste pour HTML5.

Lire la suite

megaupload homepage

Megaupload : l’ascension et la chute d’un empire du partage de fichiers

Dans les annales d’Internet, peu de noms résonnent avec autant de controverse et de fascination que Megaupload. Ce géant du partage de fichiers en ligne, qui a marqué le début des années 2000, incarne à lui seul les promesses et les périls de l’ère numérique.

De son ascension fulgurante à sa chute brutale, l’histoire de Megaupload est indissociable de celle de son fondateur charismatique et excentrique, Kim Dotcom.

Plongeons dans cette saga qui continue d’alimenter les débats sur la propriété intellectuelle, la liberté sur Internet et les limites de la loi dans le cyberespace.

Les débuts : naissance d’un géant

Megaupload voit le jour en 2005, fruit de l’imagination fertile de Kim Schmitz, qui se fera plus tard connaître sous le nom de Kim Dotcom. Né en Allemagne en 1974, Schmitz s’est déjà fait un nom dans le monde de l’informatique, oscillant entre piratage et entrepreneuriat.

L’idée de Megaupload naît d’un constat simple : à l’époque, partager des fichiers volumineux est un véritable casse-tête. Les boîtes mail ont des limites de taille ridicules, et les solutions existantes sont peu pratiques. Schmitz flaire l’opportunité et crée un service révolutionnaire : un site permettant de téléverser facilement des fichiers de grande taille et de les partager via un simple lien.

Le concept est simple mais génial. N’importe qui peut uploader un fichier, qu’il s’agisse d’une présentation PowerPoint, d’un album photo de vacances ou d’un film entier. Le site génère alors un lien unique que l’utilisateur peut partager à sa guise. Les destinataires n’ont plus qu’à cliquer pour télécharger le fichier, sans même avoir besoin de s’inscrire.

Dès ses débuts, Megaupload se démarque par sa facilité d’utilisation et ses capacités techniques impressionnantes. Le site permet de stocker des fichiers jusqu’à 200 Mo, une taille considérable pour l’époque. Cette générosité, couplée à une interface intuitive, séduit rapidement les internautes du monde entier.

L’ascension fulgurante

Le succès de Megaupload est fulgurant. En quelques années, le site devient l’un des plus visités au monde. En 2011, il revendique plus de 50 millions d’utilisateurs quotidiens et capte jusqu’à 4% du trafic Internet mondial. Ces chiffres vertigineux en font le 13e site le plus populaire de la planète.

Lire la suite

L'image présente le logo RapidShare, un service réputé de partage de fichiers en ligne. Il s'agit d'une flèche bleue courbée vers le bas et vers la gauche, qui croise une forme incurvée grise qui reflète la courbe de la flèche. Le texte « RAPIDSHARE » est positionné en diagonale, avec « RAPID » en bleu et « SHARE » en gris.

RapidShare : l’histoire d’un pionnier du partage de fichiers en ligne

RapidShare a été l’un des services de partage et d’hébergement de fichiers les plus populaires au monde dans les années 2000. Lancé en 2002, ce site allemand a connu une ascension fulgurante avant de décliner et de fermer définitivement ses portes en 2015.

Retour sur l’histoire mouvementée de ce géant du partage de fichiers qui a marqué toute une époque d’Internet.

Les débuts prometteurs de RapidShare

RapidShare a été fondé en 2002 par Christian Schmid, un jeune entrepreneur allemand alors âgé de 20 ans. L’idée lui est venue alors qu’il cherchait un moyen simple de partager des fichiers volumineux avec ses amis. À l’époque, les connexions Internet étaient encore relativement lentes et les solutions de partage limitées.

Le concept de RapidShare était simple mais novateur : permettre aux utilisateurs de télécharger gratuitement des fichiers sur les serveurs du site, puis de les partager via un lien unique. N’importe qui pouvait ensuite télécharger le fichier en cliquant sur ce lien, sans avoir besoin de s’inscrire.

Le service a rapidement gagné en popularité grâce à plusieurs avantages :

  • Une interface simple et intuitive
  • La possibilité de partager des fichiers volumineux (jusqu’à 200 Mo au départ)
  • Aucune inscription requise pour télécharger
  • Une vitesse de téléchargement élevée pour l’époque

Dès 2004, RapidShare comptait déjà plusieurs millions d’utilisateurs. Le site a continué sa croissance exponentielle les années suivantes, devenant l’un des 50 sites les plus visités au monde en 2006.

L’âge d’or de RapidShare

Entre 2006 et 2010, RapidShare a connu son apogée. Le site était devenu incontournable pour partager toutes sortes de fichiers : photos, vidéos, logiciels, documents, etc. Plusieurs facteurs expliquent ce succès fulgurant :

Une capacité technique impressionnante

RapidShare disposait d’une infrastructure colossale, avec des milliers de serveurs répartis dans le monde entier. Cela lui permettait de gérer un trafic énorme et d’offrir des vitesses de téléchargement élevées.

Un modèle économique efficace

Le service de base était gratuit, mais RapidShare proposait aussi des comptes premium payants offrant plus d’avantages (téléchargements illimités, vitesse maximale, etc.). Ce modèle freemium s’est avéré très rentable.

Une forte viralité

Le partage de liens RapidShare s’est généralisé sur les forums, blogs et réseaux sociaux. Le site bénéficiait ainsi d’un bouche-à-oreille massif et gratuit.

Une relative tolérance envers les contenus illégaux

Bien que RapidShare affirmait lutter contre le piratage, le site était largement utilisé pour partager illégalement des films, séries, musiques et logiciels. Cette tolérance de fait a contribué à sa popularité.

Au plus fort de son succès, RapidShare revendiquait :

  • Plus de 50 millions d’utilisateurs inscrits
  • Jusqu’à 400 000 téléchargements simultanés
  • 10 pétaoctets de données stockées
  • Plus de 500 employés

Le site générait alors des revenus estimés à plusieurs centaines de millions d’euros par an.

Lire la suite

Une couronne stylisée avec deux créatures héraldiques dos à dos, chacune ressemblant à un renard ou à un loup, est positionnée au centre sur un fond de formes géométriques violettes. En dessous, elle passe à un dégradé d'orange et de rouge rappelant les teintes vibrantes trouvées dans les versions Ubuntu Server 22.04 LTS et 24.04 LTS.

Mise à jour du serveur vers Ubuntu 24.04 LTS

L’heure est venue de mettre notre serveur Apollo à jour: jusqu’alors sous Ubuntu 22.04 (jammy jellyfish), nous passons à Ubuntu 24.04 LTS (noble numbat).

On installe l’outil de mise à jour Ubuntu:

apt install ubuntu-release-upgrader-core

On vérifie que l’outil est bien configuré pour récupérer la version LTS:

 grep 'lts' /etc/update-manager/release-upgrades

#  lts    - Check to see if a new LTS release is available.  The upgrader
Prompt=ltsCode language: PHP (php)

On ajoute une règle pour ufw pour ouvrir le port 1022 en cas de souci:

sudo ufw allow 1022/tcp comment 'Open port ssh TCP/1022 as failsafe for upgrades'
Rule added
Rule added (v6)Code language: JavaScript (javascript)

On lance la mise à jour:

sudo do-release-upgrade -d
Checking for a new Ubuntu release

= Welcome to Ubuntu 24.04 LTS 'Noble Numbat' =

The Ubuntu team is proud to announce Ubuntu 24.04 LTS 'Noble Numbat'.

Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN] y

Starting additional sshd

To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

To continue please press [ENTER]Code language: PHP (php)

Lire la suite

Un périphérique NAS Synology représenté à côté d'une clé dorée, symbolisant l'authentification par clé SSH, sur un fond dégradé bleu avec le logo Synology.

Synology: activer l’authentification par clé SSH pour les scripts rsync

Si vous utilisez un Synology, vous savez déjà à quel point il est précieux pour stocker et gérer vos données. Cependant, pour optimiser son utilisation tout en assurant la sécurité de vos fichiers, un petit réglage s’impose : la configuration d’un accès SSH et la création d’un compte dédié rsync, car depuis la dernière mise à jour DSM, le conseiller en sécurité vous alerte désormais lorsque le compte admin est actif, puisqu’il est ciblé avec des attaques par brute-force, ainsi que des rançongiciels.

Dans les lignes qui suivent, on va décomposer ensemble cette tâche pour la rendre aussi simple que possible. Pas de chichis, juste les étapes clés pour sécuriser vos transferts de fichiers et rendre votre expérience NAS encore plus fluide.

Prêt à mettre les mains dans le cambouis ? Allons-y.

1. Activation de SSH sur le NAS

  1. Connexion à DSM : connectez-vous au DiskStation Manager (DSM) de votre Synology.
  2. Panneau de Configuration : allez dans le Panneau de Configuration.
  3. Terminal & SNMP : sélectionnez Terminal & SNMP sous les options avancées.
  4. Activer le service SSH : cochez la case Activer le service SSH. Cela vous permettra de vous connecter au NAS via SSH.
  5. Appliquer : cliquez sur Appliquer pour sauvegarder vos changements.

2. Création de l’utilisateur rsync sur le NAS

  1. Accéder au DSM : connectez-vous au DSM.
  2. Ouvrir le Panneau de Configuration : naviguez jusqu’au Panneau de Configuration.
  3. Création de l’utilisateur : allez dans Utilisateur puis cliquez sur Créer. Suivez l’assistant pour créer un nouvel utilisateur.
    • Pour Nom, entrez rsync.
    • Attribuez un mot de passe fort au compte.
    • Vous voudrez peut-être limiter l’accès de cet utilisateur à des dossiers spécifiques qui seront utilisés pour les opérations rsync.
    • Assurez-vous de ne pas donner à cet utilisateur plus de permissions que nécessaire pour la tâche à effectuer.
  4. Compléter l’assistant : suivez l’assistant, en ajustant les paramètres selon vos besoins de sécurité et opérationnels, puis terminez le processus de création de l’utilisateur.

Assurez-vous que le service SSH est activé sur votre NAS (comme indiqué dans les instructions précédentes). L’utilisateur rsync héritera de l’accès SSH s’il est activé globalement.

Lire la suite

sandy tropical beach with sea waves foot steps shore footprints sand sunset 265223 8371

Ajouter des notes de bas de page élégantes et sémantiques

Je vous ai déjà fait un petit tutoriel pour créer des notes de bas de page (footnotes en anglais) juste en utilisant CSS.

Voici maintenant une autre manière de créer vos notes de bas de page, en HTML sémantique, CSS et vanilla JavaScript.

Des notes de bas de page sémantiques

Pour commencer, nous allons utiliser les balises HTML details et summary, qui sont trop peu souvent utilisées. Elles sont pourtant idéales pour ce que nous souhaitons accomplir: montrer un contenu après un clic, mais qui doit rester caché le reste du temps.

Le gros avantage de cette nouvelle version d’inclure des liens et du HTML dans la note de bas de page, ce qui n’était pas possible avec la version en CSS pur.

Un clic sur le numéro de la note ouvre la note. Il suffit de cliquer sur l’encart jaune de la note pour la fermer, ou alors cliquer sur un autre numéro de note.

Exemple de notes de bas de page

Le dernier serveur de SkyMinds s’appelle Apollo
1
Il a été mis en service le 1er octobre 2023.
et tourne sous Ubuntu Server.
Il est facile de changer le MOTD
2
Cela est même recommandé car cela permet d’identifier le serveur rapidement et de ne pas se tromper de terminal lorsque l’on entre une commande.
et apporter de nouvelles informations aux utilisateurs SSH.
Mon mémoire professionnel a été publié récemment
3
Créer et soutenir la motivation des élèves du cycle central en classe d’Anglais () Institut Universitaire de Formation des Maîtres (IUFM). Mémoire:
, ce que j’aurais dû faire bien plus tôt.

Lire la suite

Plausible Analytics, une alternative respectueuse de la confidentialité à l'installation de Google Analytics pour Ubuntu Server.

Plausible Analytics au lieu de Google Analytics

Tout le monde connaît Google Analytics mais savez-vous qu’il existe une alternative simple, open source et qui ne nécessite pas de bannière de cookies ? Je vous présente Plausible Analytics.

Plausible Analytics est une plateforme d’analyse Web open source qui se concentre sur le respect de la vie privée et la simplicité. Contrairement à des solutions plus courantes comme Google Analytics, Plausible a été conçu avec une approche centrée sur la vie privée, ce qui signifie qu’il ne collecte pas de données personnelles des visiteurs.

Cela rend la plateforme conforme aux réglementations strictes en matière de protection des données, telles que le RGPD en Europe, donc idéal pour nous.

Caractéristiques clés

  1. Respect de la vie privée : pas de cookies, pas de suivi des adresses IP, ce qui signifie que vous n’avez généralement pas besoin de demander le consentement des utilisateurs pour suivre les statistiques.
  2. Open Source : le code source est disponible pour tout le monde, ce qui signifie que vous pouvez l’héberger vous-même et examiner le code pour vous assurer qu’il respecte ses promesses en matière de vie privée.
  3. Simple et facile à utiliser : l’interface utilisateur est simple, propre et facile à comprendre, même pour les personnes qui ne sont pas techniquement compétentes.
  4. Léger : le script de suivi est beaucoup plus léger que celui de solutions concurrentes, ce qui signifie qu’il a un impact minimal sur les performances du site Web.
  5. Rapports en temps réel : vous obtenez des rapports en temps réel sur les visiteurs, les pages vues, les taux de rebond, et plus encore.
  6. Intégration facile : Plausible Analytics peut être facilement intégré avec d’autres plates-formes et outils, grâce à des API et des webhooks.

En résumé, Plausible Analytics est une alternative solide et respectueuse de la vie privée aux solutions d’analyse Web traditionnelles. Il est particulièrement utile pour ceux qui valorisent la simplicité, l’open source, et le respect des données des utilisateurs.

Ce tutoriel aborde l’installation sous Ubuntu Server mais comme c’est une image docker, c’est totalement adaptable pour votre distribution linux préférée.

Lire la suite

avif logo rgb

Recréer les fichiers AVIF corrompus

Cela fait une paire de fois que les images au format AVIF ne s’affichent pas sur SkyMinds et aujourd’hui, on règle le problème une bonne fois pour toute.

Concrètement, à chaque fois que j’uploade une image dans la bibliothèque de média de WordPress, plusieurs images sont créés: les miniatures bien sûr mais aussi un jeu d’images au format WEBP et au format AVIF. Tout se fait de manière automatique avec ShortPixel lors de l’upload.

Or, dernièrement certaines images ne s’affichent plus. Si on retire la source AVIF du DOM du document, le WEBP s’affiche bien, tout comme l’image originale en PNG ou JPG. C’est donc au niveau de la compression AVIF que cela coince.

Procédure de debug

Configuration NginX

Si vous vous souvenez bien, j’ai dans ma configuration NginX des directives pour donner la précédence aux formats AVIF et WEBP sur toutes mes images. Cela permet de servir en priorité les fichiers images aux formats les plus récents, avec un fallback sur les formats plus anciens (JPG, PNG notamment).

J’ai passé la configuration au peigne fin et il n’y a pas de problème à ce niveau. Les fichiers AVIF sont bien servis, le problème se trouve plus au niveau de l’encodage des fichiers.

Tester les images affectées

Lorsque je visionne un article avec une image affectée par le bug, elle ne saffiche pas mais apparait comme une image cassée. Lorsque l’on ouvre l’image dans un nouvel onglet, on obtient l’erreur suivante: “the image cannot be displayed because it contains errors“.

Je ne connais pas le nom des images affectées ni leur nombre (cela inclut aussi les miniatures) donc le plus simple est de dresser la liste des fichiers AVIF sur le site. Ensuite, je veux inspecter chaque image pour vérifier qu’elles possèdent bien les entêtes et bits nécessaires à leur bon affichage.

Commençons par installer les outils nécessaires pour examiner les fichiers AVIF:

apt install libavif-bin libavif13

On lance un test sur un fichier problématique:

avifdec /home/www/example/wp-content/uploads/2021/05/the-handmaids-tale-june-nick.avif /dev/null Code language: JavaScript (javascript)

et voici le résultat:

Decoding with AV1 codec 'dav1d' (1 worker thread), please wait... 
ERROR: Failed to parse image: BMFF parsing failed 
Diagnostics: * Box[meta] does not have a Box[hdlr] as its first child boxCode language: JavaScript (javascript)

L’erreur (“ERROR: Failed to parse image: BMFF parsing failed”), suggère que le fichier est en effet soit corrompu, soit incompatible donc nous allons le recréer.

Un script bash pour recréer tous les fichiers AVIF corrompus

Il est évident que nous n’allons pas tester tous les fichiers un par un. Maintenant que nous avons pu tester un fichier, nous allons créer une boucle pour tester tous les fichiers qui ont été uploadés sur le site : si le fichier est corrompu, nous allons le recréer, sinon on passe au suivant.

Lire la suite

A screen shot of the Firefox browser with tabs.

Sauvegardez la liste de vos onglets Firefox

Le problème : sauvegarder ses onglets

Il vous est sûrement arrivé de devoir quitter votre poste de travail précipitamment.

Le hic, c’est que si vous utilisez Firefox, vous avez probablement une demi-douzaine de tabs ouvertes, et que cela va vous prendre du temps pour toutes les glisser-déposer vers la barre de marque-pages ou alors de les sauvegarder en allant dans Marque-pages > Marquer tous les onglets.

Le problème : vos nouveaux marque-pages ne seront disponibles que sur cette machine, sans transition entre la machine du bureau et la machine familiale par exemple.

Sauvegarde au format texte : l’extension URLs List

La solution réside en l’installation de l’extension URLs List qui vous permet d’exporter envoie la liste des URLs de vos tabs ouvertes dans votre navigateur au format texte.

Vous pourrez donc avoir accès à votre précédente navigation où que vous soyiez !

Pour activer l’envoi du mail, il suffit de cliquer sur l’icône UL de la barre d’extension.

J’utilisais auparavant Send Tabs URLs mais l’extension n’est plus disponible. URLs List est un très bon remplacement et permet de faire une sauvegarde rapide de tous vos onglets.

Lire la suite

php 8.3 fireworks

Installer PHP 8.3 sur le serveur

Tous les sites et services hébergés sur Apollo tournent actuellement sous PHP 8.2 mais PHP 8.3 vient de pointer le bout de son nez donc nous allons l’installer sur le serveur.

Nouveautés et changements de PHP 8.3

PHP 8.3 marque une avancée notable dans l’univers de PHP, apportant avec elle une panoplie de nouveautés et d’améliorations captivantes. Au cœur de PHP 8.3, on découvre des innovations passionnantes.

Des constantes de classe typées : avec PHP 8.3, place à la précision ! Les constantes de classe se dotent d’un typage explicite, renforçant ainsi la rigueur dans l’application des types et affinant la détection des erreurs.

Récupération dynamique des constantes de classe : simplification à l’horizon ! Cette nouveauté rend la récupération des constantes de classe plus intuitive, rendant ainsi votre code plus clair et plus facile à entretenir.

Le flamboyant attribut #[\Override] : tel un gardien, cet attribut veille à ce qu’une méthode portant le même nom soit présente dans une classe parente ou une interface, boostant la fiabilité de votre code et facilitant son évolution.

Clonage en profondeur des propriétés en lecture seule : PHP 8.3 innove en permettant la modification unique des propriétés en lecture seule dans la méthode __clone, ouvrant la voie à un clonage plus profond.

La fonction innovante json_validate() : vérifier la validité d’un JSON devient un jeu d’enfant avec cette nouvelle fonction, plus efficace et rapide.

La méthode inédite Randomizer::getBytesFromString() : prolongeant l’extension Random de PHP 8.2, cette méthode est un véritable couteau suisse pour générer des chaînes aléatoires spécifiques, idéale pour créer des identifiants uniques comme des noms de domaine.

Un éventail de nouvelles méthodes et fonctions : PHP 8.3 n’est pas avare en nouveautés et offre un large éventail de méthodes et fonctions inédites, telles que DOMElement::getAttributeNames(), IntlCalendar::setDate(), et ldap_connect_wallet(), pour n’en nommer que quelques-unes.

Avec PHP 8.3, non seulement vous bénéficiez d’améliorations de performances et de corrections de bugs, mais aussi d’une expérience de développement web plus fluide et efficace.

PHP 8.3 est-il plus rapide?

Alors on peut se demander si cette nouvelle mouture est bien plus rapide que les versions précédentes. Rien de tel qu’un petit test avec WordPress et WooCommerce.

Sous WordPress 6.4, le site sert:

  • 153 requêtes/s avec PHP 8.2
  • 165 requêtes/s avec PHP 8.3

Sous WooCommerce 8.0, on obtient:

  • 49 requêtes/s avec PHP 8.2
  • 58 requêtes/s avec PHP 8.3

Donc oui, PHP 8.3 est plus rapide que PHP 8.2 et les versions précédentes.

Lire la suite

Sidekick: a productivity browser for becoming focused and unstoppable.

Sidekick, le navigateur avancé et sécurisé qui booste votre productivité

Et voilà, je viens encore d’installer un nouveau navigateur sur mon Mac! Il s’appelle Sidekick, est basé sur Chromium et résolumment orienté productivité.

Alors, vous allez me dire “quoi, encore un navigateur basé sur Chromium? mais pour quoi faire?”. Et bien accrochez-vous bien à vos baskets, c’est parti pour un petit aperçu de ses nombreux avantages.

1. Une organisation optimisée

Sidekick propose un système unique de gestion des onglets qui permet de garder votre espace de travail organisé. Les onglets peuvent être regroupés par projet – un peu comme les IDE comme Visual Studio Code – ou par catégorie, ce qui facilite grandement la navigation entre différentes tâches:

A computer screen with a variety of icons on it, alongside a secure browser that boosts productivity as a sidekick.
Les Workspaces sous Sidekick

On peut aussi créer des sessions d’onglets:

A screen shot of a desktop with a variety of icons on it, including an advanced browser for secure browsing.
Les sessions sous Sidekick

C’est très bien fait, vraiment efficace et cela permet d’y voir un peu plus clair lorsque l’on jongle avec des dizaines d’onglets sur des projets différents.

La dernière version, sortie il y a quelques jours, proposent également de passer d’onglets horizontaux (comme dans tous les navigateurs classiques) à des onglets verticaux, qui apparaissent au survol quand on place le pointeur de la souris à gauche. C’est bien à l’usage car cela donne plus de place à l’écran et permet de se focaliser sur l’onglet courant, sans être distrait.

2. Intégration des applications

Un des points forts de Sidekick est sa capacité à intégrer de nombreuses applications Web directement dans le navigateur. Des outils comme Slack, Asana, et Gmail peuvent être ancrés dans votre environnement de travail, permettant un accès rapide sans avoir à jongler entre différents onglets ou fenêtres.

A screen showing a variety of icons on a purple background, designed to enhance productivity and provide advanced security for users.
Sidekick : des applications directement accessibles dans le navigateur

J’ai ajouté 5 applications dans ma barre d’application: Gmail, Google Drive, ChatGPT, Whatsapp et Slack. Un clic sur l’icone bascule directement dans l’application dans le navigateur, et ce sans avoir à ouvrir un nouvel onglet. C’est tout simplement génial – plus besoin d’ouvrir l’application dédiée ou de remetttre la main sur son smartphone (pour Whatsapp). Tout est accessible en un clic.

3. Performance et efficacité

Sidekick est conçu pour être rapide et léger. Il optimise l’utilisation de la RAM et du CPU, ce qui est particulièrement avantageux pour les utilisateurs qui ouvrent de nombreux onglets ou utilisent des applications web gourmandes en ressources.

Fini le navigateur qui rame – mon Firefox a plus de 7000 onglets ouverts en permanence, je me soigne mais c’est dur – là, c’est de l’instantané. Notamment aussi parce que Sidekick est sécurisé par défaut et n’a pas besoin de X extensions tierces pour fonctionner.

Lire la suite

A robotic hand is typing on a laptop keyboard to extract content.

Comment empêcher les chatbots IA d’extraire le contenu de votre site

Vous êtes inquiet à l’idée que des chatbots basés sur l’intelligence artificielle puissent aspirer le contenu de votre site Web ? Heureusement, il existe des moyens de les en empêcher. Voici comment procéder.

Comment les chatbots IA accèdent-ils au contenu de votre site ?

Les chatbots alimentés par intelligence artificielle sont formés à l’aide de multiples jeux de données, dont certains sont en libre accès et disponibles au grand public. Selon un article de recherche publié par OpenAI, GPT-3 a été formé à partir de cinq jeux de données distincts :

  • Common Crawl (contribution de 60% à l’entraînement)
  • WebText2 (contribution de 22% à l’entraînement)
  • Books1 (contribution de 8% à l’entraînement)
  • Books2 (contribution de 8% à l’entraînement)
  • Wikipédia (contribution de 3% à l’entraînement)

Common Crawl englobe des pétaoctets de données issues de sites Web collectées depuis 2008, un peu à la manière dont l’algorithme de recherche de Google scrute les contenus en ligne. WebText2 est un jeu de données créé par OpenAI, qui contient environ 45 millions de pages Web liées depuis des publications Reddit ayant reçu au moins trois votes positifs.

Il est donc important de noter que, dans le cas de ChatGPT, le chatbot n’accède ni n’explore directement les pages de votre site Web — du moins, pas pour l’instant. Néanmoins, l’annonce récente d’un navigateur Web hébergé par ChatGPT a suscité des inquiétudes sur une éventuelle évolution de cette situation.

À l’heure actuelle, les propriétaires de sites Web devraient surveiller d’autres chatbots IA qui entrent sur le marché. Bard est un autre acteur majeur dans ce domaine, mais on en sait peu sur les jeux de données utilisés pour son entraînement. Bien sûr, nous savons que les robots d’exploration de Google parcourent constamment les pages Web, mais cela ne signifie pas nécessairement que Bard a accès aux mêmes données.

Pourquoi certains propriétaires de sites Web sont-ils inquiets ?

La principale inquiétude des propriétaires de sites Web est la dévalorisation de leur contenu par des bots IA tels que ChatGPT, Bard et Bing Chat. Ces bots IA utilisent le contenu existant pour générer des réponses, réduisant ainsi le besoin pour les utilisateurs d’accéder à la source originale. Au lieu de visiter des sites Web pour obtenir des informations, les utilisateurs peuvent simplement demander à Google ou à Bing de générer un résumé des informations dont ils ont besoin.

Dans le contexte des chatbots IA intégrés aux moteurs de recherche, la perte de trafic est la préoccupation majeure des propriétaires de sites Web. Par exemple, Bard, le chatbot IA, inclut rarement des citations dans ses réponses génératives, ce qui indique aux utilisateurs de quelles pages il tire ses informations.

Ainsi, en plus de remplacer les visites sur les sites Web par des réponses générées par IA, Bard supprime presque toute possibilité pour le site source de recevoir du trafic — même si l’utilisateur souhaite obtenir des informations supplémentaires. À l’opposé, Bing Chat lie plus fréquemment aux sources d’information.

En résumé, la génération actuelle d’outils IA génératifs utilise le travail des créateurs de contenu pour systématiquement supplanter le besoin de ces créateurs. Cela soulève la question de l’incitatif pour les propriétaires de sites Web à continuer à publier du contenu. Et, par extension, que se passera-t-il pour les chatbots IA si les sites Web cessent de publier le contenu dont ils dépendent pour fonctionner ?

Lire la suite