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

Développé à Copenhague, QuickTune est un mini lecteur pour Apple Music dispo sur macOS et qui adopte l’interface iconique de QuickTime.

Pour ceux qui n’ont pas connu cette époque (bouuuh les jeunes), sachez que QuickTime Player était autrefois le lecteur multimédia par défaut sur Mac OS X. Avant l’avènement d’iTunes, puis d’Apple Music, c’était QuickTime qui gérait nos vidéos, nos morceaux de musique et même des contenus VR. C’est d’ailleurs encore un outil présent par défaut dans macOS, même si son look n’a plus rien à voir avec ce qu’il était à l’époque.

Avec QuickTune, on retrouve tout le charme de cette interface rétro, de la texture métallique brossée aux boutons vitreux, sans oublier l’affichage LCD très utilitaire. C’est un bond dans le passé en termes de design, mais au lieu de lire des fichiers locaux, QuickTune se connecte directement à votre bibliothèque Apple Music.

Bien que vintage en apparence, il propose des fonctionnalités plutôt bien pensées comme l’affichage de la pochette de l’album en cours de lecture, une vue détaillée, inspirée de l’inspecteur de fichiers de QuickTime, vous donne également accès à de nombreuses informations sur le morceau, telles que l’année de sortie, le genre ou les artistes. L’application permet également d’ouvrir un HUD permettant de gérer et de changer de playlists directement, sans avoir à lancer Apple Music.

Techniquement, ce logiciel est écrit en Swift + AppKit et utilise des composants natifs macOS pour se synchroniser avec Apple Music. Il est compatible à partir de macOS Big Sur et versions plus récentes, et fonctionne à la fois sur les Mac équipés de processeurs Apple Silicon et Intel. Et c’est disponible en anglais, espagnol, italien, finnois, allemand et polonais.

Perso, je trouve le concept de QuickTune irrésistible, même s’il n’est pas nécessairement indispensable au quotidien. Pour ceux d’entre vous qui ont utilisé intensivement QuickTime dans les années 90, voir cette interface ressuscitée dans une application moderne est une expérience unique, comme on l’a vécu récemment avec Winamp par exemple. Un petit plaisir coupable !

Bref, je vous invite à jeter un œil à QuickTune car c’est un bel hommage à ce lecteur culte, et également une application bien pensée pour profiter de votre musique Apple Music.


Vous en avez marre d’être surveillé et censuré quand vous parcourez le web ? Vous rêvez d’accéder à tous les contenus que vous souhaitez sans que personne ne vienne fouiner dans vos affaires ? Alors, laissez-moi vous présenter Outline VPN, le logiciel libre et open source qui va transformer votre expérience en ligne !

Cette solution utilise un protocole discret et difficile à détecter, vous permettant ainsi de contourner les restrictions des censeurs. Ainsi, vous pourrez naviguer incognito et accéder à tous vos sites préférés, même ceux habituellement bloqués dans votre cher pays.

Mais ce n’est pas tout puisque Outline vous offre la possibilité de créer votre propre serveur VPN en quelques clics, et de le partager avec vos amis. Ainsi, vous disposez de votre propre réseau privé, où vous pouvez échanger en toute tranquillité loin des regards indiscrets.

Et si jamais votre serveur est repéré et bloqué par ceux qui n’apprécient pas votre amour de la liberté, ne vous inquiétez pas car avec cet outil, vous allez pouvoir le recréer facilement et rapidement. Evidemment, côté sécurité et confidentialité, Outline assure… Le code a été audité par des sociétés indépendantes, telles que Radically Open Security en mars 2018 et décembre 2022, ainsi que Cure53 en décembre 2018, qui ont confirmé que vos données sont protégées et que votre activité en ligne n’est pas enregistrée. Bref, une fois en place, vous pouvez surfer l’esprit tranquille, personne ne viendra fouiner dans votre historique.

Voici un guide étape par étape pour vous lancer :

Il faut savoir avant tout que Outline se compose de deux produits interdépendants qui fonctionnent ensemble pour vous fournir, à vous et votre communauté, un accès sans interruption à Internet.

Etape 1 : L’installation

Téléchargez Outline Manager, l’application en version desktop pour Windows, Linux et macOS, qui vous permettra de configurer votre serveur en quelques clics. Vous pourrez ainsi gérer tous les aspects de votre serveur de manière centralisée et choisir parmi une liste de fournisseurs de services cloud de confiance (Google, Amazon, Digital Ocean…) ou utiliser votre propre infrastructure sous Linux pour le déployer.

Etape 2 : Générez des clés d’accès

Après avoir configuré votre serveur, vous devez générer des clés d’accès uniques directement à partir de l’application Desktop. Vous pourrez alors envoyer des invitations à vos amis et les clés d’accès leur permettront de connecter leurs appareils (et le votre) à votre serveur Outline. Chaque clé est gérée individuellement et peut être limitée en termes de bande passante pour éviter qu’un utilisateur ne consomme toutes les ressources.

Etape 3 : Téléchargez l’appli du client Outline sur PC / Mac et smartphone

Ensuite l’application Outline à partir de l’App Store ou de Google Play Store, et connectez-vous à l’aide de votre clé d’accès unique.

Et bonne nouvelle si vous êtes développeur, le SDK Outline offre une bibliothèque et un ensemble d’outils multiplateformes permettant aux codeurs d’applications d’intégrer les stratégies avancées de mise en réseau d’Outline pour limiter les interférences réseau les plus complexes.

Bref, ça peut servir… A tester en tout cas.

Merci à Lorenper pour l’info sur cet outil !


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