Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

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 !


ReverserAI est un projet de recherche assez avant-gardiste qui vise à automatiser et améliorer les tâches de reverse engineering grâce à l’utilisation de modèles de langage locaux (LLM).

Fonctionnant entièrement hors ligne, cette première version se distingue par sa capacité à suggérer automatiquement des noms de fonctions de haut niveau et sémantiquement significatifs à partir de la sortie du décompilateur. ReverserAI se présente également comme un plugin pour Binary Ninja, mais son architecture modulaire est conçue pour être étendue à d’autres plateformes comme IDA ou encore Ghidra.

Et bien que les LLM locaux n’égalent pas encore les performances de leurs concurrents basés sur le cloud comme ChatGPT4 ou Claude3, ils représentent une avancée majeure avec un bon équilibre entre les performances et la confidentialité.

Parmi les fonctionnalités clés de cet outil, on retrouve :

  • Un fonctionnement totalement hors ligne, ce qui garantit la confidentialité et la sécurité des données
  • La suggestion automatique de noms de fonctions sémantiquement significatifs à partir de la sortie du décompilateur
  • Une intégration transparente avec Binary Ninja via un plugin dédié
  • Une architecture modulaire permettant une extension facile vers d’autres outils d’ingénierie inverse
  • Une compatibilité avec le matériel grand public, y compris les architectures Apple Silicon

Cependant, une configuration matérielle avec plusieurs cœurs CPU ou un GPU puissant est recommandée, car sur un système avec au moins 16 Go de RAM et de 12 cœurs CPU, les requêtes prennent environ 20 à 30 secondes. Grâce aux optimisations GPU, en particulier sur les appareils Apple Silicon, ce temps peut être réduit à 2 à 5 secondes par requête.

Ça s’installe à l’aide du gestionnaire de plugins de Binary Ninja et une fois lancé, l’outil téléchargera automatiquement le modèle de langage nécessaire (~5 Go). Les paramètres de configuration permettent également d’optimiser les performances en fonction de votre configuration matérielle, en répartissant la charge entre le CPU et le GPU.

Cet outil encore un peu jeune, est un excellent proof of concept qui illustre bien le potentiel des LLM locaux pour tout ce qui est reverse engineering. On verra évidemment ce que ça deviendra d’ici quelques années.

Le code source est disponible sur GitHub à l’adresse suivante alors n’hésitez pas à suggérer des améliorations.

Happy hacking à tous !


Codestral, le tout nouveau modèle de code de Mistral AI, débarque pour le plus grand plaisir (ou pas) des développeurs ! Créé par l’équipe de Mistral AI et lancé hier, Codestral est donc un modèle de génération de code ouvert spécialement conçu pour les tâches de génération de code. Il maîtrise plus de 80 langages de programmation, dont les incontournables Python, Java, C++, JavaScript et même le vénérable Fortran.

Si vous galérez sur une fonction, il vous aidera à la compléter en 2 coups de cuillère à pot et si vous avez besoin de tests, cet expert les génèrera à votre place pendant que vous serez parti à la machine à café. Grâce à sa capacité de remplissage au milieu (fill in the middle), il pourrait ainsi compléter n’importe quel bout de code, même le plus complexe.

En termes de performance, il établit de nouveaux records. C’est un modèle de 22 milliards de paramètres, mais grâce à sa fenêtre contextuelle de 32 000 tokens, il surpasse les autres modèles sur de nombreux benchmarks, y compris le RepoBench pour la génération de code à longue portée. Sur des tests spécifiques comme HumanEval, MBPP pour le Python et Spider pour le SQL, Codestral affiche également des performances impressionnantes devant GPT-4-Turbo et GPT-3.5.

Ce modèle est accessible sur HuggingFace, où vous pouvez le télécharger et avec l’API de Mistral AI, quelques lignes de code suffisent pour l’intégrer dans votre projet. Les adeptes de VSCode et JetBrains seront ravis puisque les plugins Continue.dev et Tabnine ont également intégré ce modèle, pour coder et interagir avec lui directement dans votre IDE préféré. Vous pouvez également y avoir accès via le Chat de Mistral.

Perso, j’utilise Claude 3 Opus et GPT-4o pour mon code mais je vais commencer à tester celui-là également. En tout cas, si ça vous intéresse, rendez-vous sur la documentation officielle de Mistral AI ici.

Source


FlowTunes est une application de musique très sympa conçue spécifiquement pour booster votre concentration et votre productivité.

Le service propose plus de 3000 morceaux qui ont été générés en collaboration via Suno AI, ce qui garanti plus de 100 heures de musique en continu, toujours renouvelée. Suffit d’appuyer sur lecture, et vous voilà bercé par de la bonne Lo-Fi qui vous permettra de rester focus toute la journée.

L’auteur du site et de l’app iOS qui va avec a passé pas mal de temps pour rendre la musique plus harmonieuse et agréable à l’écoute, en relevant des défis comme la gestion des dégradations de qualité au fil du morceau. Et si un morceau ne vous plait pas, vous pouvez passer au suivant.

FlowTunes est gratuit et sans pub et propose également de personnaliser votre environnement sonore en y ajoutant des fonds sonores comme le chant des oiseaux ou une rivière qui coule… L’application iOS offre aussi une variété de chaînes musicales pour tous les goûts, telles que des beats de lo-fi, des symphonies classiques, des bandes son cinématographiques épiques, et bien plus encore.

Bref, ça vous plaira forcement si vous cherchez un peu de son détente histoire de vous concentrer sur votre travail ou votre code…etc.

Pour plus d’info, rendez-vous sur le site officiel ou téléchargez l’application sur l’App Store.

Source


— Article en partenariat avec Arx One —

Arx One est une solution de sauvegarde permettant aux petites comme aux grandes entreprises de protéger les données de leur parc machines. Conçue et développée en France, cette suite complète d’outils permet de sauvegarder simplement et efficacement tous types de données, peu importe la machine où elles se trouvent.

L’outil s’appuie en premier lieu sur une console centrale. C’est elle qui permet de superviser et d’administrer l’ensemble machines et leur sauvegardes. À travers cette console d’administration, on peut définir, entre autres, les machines à rattacher, la politique de sauvegarde, les plannings, les points de restauration, etc.

Ensuite, il y a les agents qui ce sont de petits logiciels discrets, déployés sur les machines à sauvegarder (Windows, Linux, macOS…) qui sont alors capables de réaliser des sauvegardes selon les paramètres définis à distance dans la console. Les données sont évidemment dé-dupliquées et tout est chiffré à la source avant d’être envoyées vers le stockage distant.

La solution est particulièrement adaptée aux boites qui manipulent des données sensibles et qui doivent les sécuriser (données de santé, données financières…) car tout est stocké sur le sol français. C’est parfait aussi pour les sociétés qui doivent respecter des normes strictes en termes de sécurité et de conformité (ISO27001, HDS, RGPD…).

Arx One est très complet puisqu’il permet ainsi de sauvegarder des choses aussi diverses que :

  • Des serveurs physiques Windows et Linux
  • Des machines virtuelles Proxmox, Hyper-V
  • Des postes de travail et ordinateurs portables Windows, macOS, Linux
  • Des NAS Synology, QNAP
  • Et également des applications telles que des bases de données (MySQL, HFSQL, SQL Server…etc.), des messageries Exchange / Microsoft 365, etc.

Ensuite, pour le stockage, Arx One offre 2 possibilités. Soit de la sauvegarde externalisée et dans ce cas là, les données sont stockées dans leur cloud sécurisé. Ce sont leurs propres serveurs situés dans des datacenters en France (Nantes et Lyon) ce qui permet d’offrir à leur client un cloud souverain, certifié ISO27001 et HDS (Hébergeur de Données de Santé).

Ou sinon, y’a aussi moyen d’opter pour la sauvegarde centralisée. et dans ce cas, les données sont stockées sur vos propres infrastructures de stockage et tout est géré par vous.

Quoiqu’il en soit, dans les 2 cas, vos données seront toujours sécurisées avec du chiffrement de bout en bout en AES256, de la déduplication, des mises à jour automatique, des tests d’intégrité, une conformité RGPD, et ainsi de suite.

Alors maintenant comment ça s’installe ? Et bien j’ai fait des tests et je vais vous parler de mon expérience. J’ai commencé par la console de gestion qui s’installer en 2 secondes sur n’importe quel Windows. C’est cette machine qui fait alors office de poste de gestion central.

Visuellement, ça fonctionne sur un principe d’onglet comme un navigateur. L’écran de bienvenue permet de visualiser d’un seul coup d’oeil l’ensemble du parc des « agents », les opérations de backup ou de restauration en cours et les problèmes éventuels, ainsi que la place restante sur les serveurs d’Arx One pour le stockage. À partir de là, on commence à administrer des comptes et leur appliquer des stratégies de sauvegarde (j’y reviendrai plus tard). L’idée c’est que pour chaque machine à sauvegarder, vous allez devoir créer un compte descendant. Ce sont des comptes qui sont rattachés à votre compte principal. 1 compte par agent et donc par machine.

Une fois tout ça crée, y’a plus qu’à installer les agents sur les machines. Cela peut se faire en récupérant un binaire pour Windows, macOS ou Linux sur le site de Arx One, ou en lançant quelques lignes de commande si vous voulez par exemple déployer ça sur un serveur ou sur un NAS. La documentation concernant les agents est ici.

Ensuite, y’a plus qu’à rattacher votre agent à la console en saisissant au moment de l’installation de l’agent, l’identifiant du compte descendant et son mot de passe créé pour l’occasion. Pensez à bien rafraîchir la console pour avoir les données à jour ensuite.

Après au niveau de l’usage, la console web offre une excellente supervision et cela en temps réel. On peut y voir tous les agents rattachés, les paramétrer, mais également afficher différents tableaux de bord qui permettent d’avoir une bonne vue d’ensemble de l’état des sauvegardes, de l’espace de stockage qu’il vous reste, des derniers points de restauration, mais également de voir les alertes (sauvegarde en erreur, espace disque faible…).

Et bien sûr, même si on ne le souhaite pas, à un moment, il faudra restaurer des données. Et bien encore une fois, tout peut se faire à distance via la console. Il suffira de sélectionner les fichiers à récupérer et d’indiquer à l’outil leur destination. La restauration sera alors lancée sur le poste ou le serveur distant.

Concernant les stratégies de sauvegarde, c’est peut-être la partie la plus barbue de l’outil puisque cela va nécessiter de lire la documentation, mais si vous êtes administrateur système, vous avez forcément l’habitude de ce genre de chose. En gros, c’est une série de clés et de valeurs que vous pouvez définir pour permettre à l’agent plus ou moins de choses comme l’accès à l’interface, la sauvegarde continue, la taille maximale des objets à sauvegarder, l’endroit où sera créé le cache local…etc.

Voici un exemple qui permet d’avoir une sauvegarde continue sur les documents, avec un délai de déclenchement à 60 secondes, une taille max de fichiers à sauvegarder de 50 MB sans éclater le quota de 10 GB autorisé :

Voilà pour le tour d’horizon… Arx One est donc un excellent choix pour vos sauvegardes qui a réussi à éviter le côté usine à gaz d’autres solutions concurrentes que j’ai pu tester par le passé. Ça se déploie facilement, et le fait que le sauvegarde puisse être externalisée chez eux (en France !), de manière chiffrée et sécurisée, ça élimine pour leurs clients, la problématique parfois épineuse de la gestion et de la sécurisation du stockage.

Si ça vous dit de tester Arx One, je vous invite à cliquer ici pour en savoir plus.