Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

FrankenPHP – Le serveur PHP surpuissant écrit en Go

Concocté par le français Kévin Dunglas, contributeur de longue date à l’écosystème PHP et membre de la Core Team Symfony, FrankenPHP va peut-être dépoussiérer un peu votre bon vieux serveur LAMP tout fatigué.

Il s’agit d’un serveur d’applications PHP moderne développé en Go qui s’appuie sur le serveur web de pointe Caddy. D’après son auteur, tous vos projets PHP, y compris Laravel, Symfony, Drupal, WordPress, Sulu et API Platform, seront optimisés comme jamais grâce à l’intégration native du mode worker.

Moins de lenteurs, plus de perf, et surtout pas mal de fonctionnalités avancées telles que les Early Hints pour un affichage éclair, la prise en charge d’HTTP/2 et HTTP/3 pour une navigation optimale, la compression Brotli, Zstandard et Gzip, les logs structurés, le support de Prometheus pour les métriques, et même du temps réel avec Mercure. Que vous soyez accro à Symfony, fan d’API Platform ou un inconditionnel de Laravel, FrankenPHP s’occupera de tout et d’après les benchmarks visibles sur le site officiel, il booste même les performances jusqu’à 3,5 fois plus vite que FPM sur les applications de type API Platform.

Conçu dans un souci de simplicité, ce serveur PHP n’a besoin que d’un seul service et d’un seul binaire. Pas besoin de PHP-FPM, il utilise son propre SAPI (Server API) spécialement conçu pour les serveurs web Go. Il peut être déployé facilement comme une application Cloud Native via une image Docker, et est compatible avec Kubernetes et toutes les plateformes Cloud modernes. Vous pouvez même packager votre application PHP comme un binaire statique autonome et auto-exécutable.

Si vous voulez le tester, vous pouvez soit lancer le binaire, soit utiliser Docker comme ceci :

docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp

En deux temps trois mouvements, vous voilà avec un serveur web + PHP 8.2 aux petits oignons ! Y’a plus qu’à mettre votre PHP dans le répertoire de Franken et tadaaa…

Si c’est le binaire que vous récupérez, vous pouvez servir le contenu du répertoire courant avec la commande suivante :

./frankenphp php-server

Ou lancer vos scripts en ligne de commande comme ceci :

./frankenphp php-cli /chemin/vers/votre/script.php

Bref, vous démarrez votre app une fois, et hop, elle reste en mémoire, prête à faire tourner votre site. Caddy gère l’HTTPS automatiquement avec génération, renouvellement et révocation des certificats. Il sert aussi les assets, pendant que PHP fait ce qu’il fait de mieux : exécuter votre code sans faillir. Vous pouvez même intégrer PHP dans n’importe quelle application Go en mode bibliothèque.

Et pour démarrer un serveur Caddy en prod avec FrankenPHP sans utiliser Docker, il suffit de cette configuration ultra simple:

{
    # Activer FrankenPHP 
    frankenphp
    order php_server before file_server
}

localhost {
    # Activer la compression (optionnel)
    encode zstd br gzip  
    # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources
    php_server
}

Ça change un peu !

En tout cas, c’est à tester ! Bravo Kévin, j’ai hâte de voir comment ça va évoluer pour la suite !

Innovative Bluetooth keyboard turns its surface into a giant touchpad

Wireless keyboards are nothing new. Whether you’re on a desktop trying to escape the tangle of cables or on a laptop wanting to expand your limited set of keys, a wireless keyboard offers a bit more freedom and flexibility than other keyboards. That said, they still have the same limitations, namely, requiring a separate mouse or touchpad to move the computer cursor around. Not only does that take up more desk space, it also means another device you might forget or lose along the way. Some Bluetooth keyboards add a tiny touchpad off to the side, but that comes at the cost of reducing the number of keys available on the keyboard. This ingenious solution gives the best of both worlds by practically turning the entire keyboard into one giant touchpad you can swipe and pinch, just like any other touchpad.

Designer: Igor Solovyov (Industrial Designer, Clevetura)

Laptops have the advantage of having both a keyboard and a pointing device in a single body, but their arrangement is hardly the best in terms of ergonomics and flexibility. Wireless keyboards with built-in trackpads, on the other hand, try to cram this component in an already small space but still manage to sacrifice keys like the numeric keypad. It’s almost as if there’s no ideal design that solves this problem, but the CLVX 1 boldly tries to think outside the box while offering a keyboard that, at least on paper, matches the functionality of many Bluetooth keyboards in the market today.

1

In a nutshell, the middle area of the CLVX 1 keyboard is touch-sensitive and functions like a giant touchpad. Thanks to a special slippery coating, you can effortlessly glide your finger across that area to move the mouse around without snagging on the edges of the keys. You can even pinch to zoom or perform any other touch gestures, just like a normal trackpad. As a bonus, the top row of function keys also functions as a slider that you can smoothly swipe without even having to look, making it just as easy to control the volume or any other function you program into the gesture. The keyboard promises that it won’t mix up typing and gestures, as it automatically disables touch detection once you press a key. And in case you’re wondering about mouse button presses, the keyboard has dedicated physical buttons below the spacebar for those actions.

In all other aspects, the CLVX 1 boasts a laundry list of features available on many wireless keyboards and then some. It has a 110-key layout, which is far more than your typical Bluetooth keyboard, and uses scissor switches. The RGB lighting also has a few tricks, like following your finger as you glide over the keys. You can pair up to three devices with it via Bluetooth, but you can also connect to a device using USB-C for a fourth connection.

The CLVX 1 is definitely an intriguing design, but its mettle still needs to be tested in real-world use. The smoothness of swiping over keys will definitely be the biggest point of concern, but the typing experience of having those keys so close together is also an important consideration. Nevertheless, it definitely deserves some praise for thinking outside the box to deliver a design that doesn’t compromise just to mix two functions in one.

The post Innovative Bluetooth keyboard turns its surface into a giant touchpad first appeared on Yanko Design.

❌