Vue lecture

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

Rallly ou comment planifier vos réunions facilement

Vous en avez marre de la valse des emails pour planifier une simple réunion ? Bienvenue au club ! Heureusement, j’ai déniché un petit bijou open source qui va vous changer la vie : Rallly.

Rallly (avec 3 L), c’est l’outil parfait pour organiser vos événements sans prise de tête. Son concept est simple mais diablement efficace. Vous créez un sondage avec les dates et heures qui vous conviennent, vous invitez les participants et hop, chacun vote pour son créneau préféré. Comme ça, terminé le casse-tête pour trouver un moment qui arrange tout le monde !

Sous son interface épurée, Rallly cache une machinerie bien huilée. Développé en Next.js, Prisma et tRPC, le backend assure un service aux petits oignons et côté front, TailwindCSS apporte une touche d’élégance sans sacrifier la performance.

Mais la cerise sur le gâteau, Rallly est entièrement open source ! Vous pouvez donc héberger votre propre instance en un clin d’œil grâce à Docker. Clonez le dépôt GitHub, configurez vos variables d’environnement, lancez Docker Compose et voilà, votre Rallly personnel est prêt à l’emploi.

L’installation se fait en quelques commandes :

git clone https://github.com/lukevella/rallly.git
cd rallly
cp sample.env .env (et éditer le fichier pour la config)
yarn
yarn db:setup (ou "yarn dx" si vous n'avez pas de base postgres qui tourne)
yarn dev

Et si vous voulez passer à la vitesse supérieure, suivez le guide pour déployer votre instance avec Docker Compose. Bien sûr, vous pouvez garder le contrôle sur qui peut accéder à votre instance. Il suffit de renseigner les adresses email autorisées dans votre fichier de configuration et vous pouvez même utiliser des wildcards (*) pour autoriser des domaines entiers.

Une fois votre serveur opérationnel, créer un sondage devient alors un jeu d’enfant. Choisissez vos options de date et d’heure, envoyez le lien à vos invités et laissez la magie opérer. Vous pouvez par exemple restreindre le nombre de votes par participant, histoire d’éviter les abus. Ou encore clôturer un sondage quand bon vous semble. Et comme ça, plus besoin de relancer les retardataires ou de jongler entre les agendas.

La plupart des options sont gratuites mais quelques fonctionnalités avancées nécessitent quand même un compte payant. Quoiqu’il en soit, c’est un super outil que je vous recommande !

Theme Park – Personnalisez vos apps préférées avec style !

Theme Park est une méga collection de thèmes CSS pour donner un coup de pep’s à tous vos outils chouchous : Deluge, Emby, Flood, Jackett, Jellyfin, Lidarr, Nzbget, Nzbhydra2, Ombi, Organizr, Overseerr, Plex, Portainer, Prowlarr, Qbittorrent, Radarr, Readarr, Rutorrent, Sabnzbd, Sonarr, Tautulli, Transmission, Unraid, Whisparr, et une tripotée d’autres.

Y’en a pour tous les goûts, du plus classieux au plus funky. Avec juste quelques lignes de code, vous allez pouvoir affirmer votre style unique.

Adieu la grisaille, bonjour les couleurs flashy et les designs innovants !

Et le kif, c’est que c’est hyper simple à mettre en place. Vous avez l’embarras du choix niveau installation : Docker, scripts personnalisés, Nginx, Apache… Bref, que vous soyez un newbie ou un pro du terminal, vous allez pouvoir en profiter en deux temps trois mouvements. Et si vous avez besoin d’un coup de main, la doc est là pour vous guider pas à pas.

Un exemple avec Plex :

Ou encore une personnalisation de Bitwarden :

Mais attendez, c’est pas fini ! Le vrai plus de Theme Park, c’est sa communauté de passionnés. On parle de vrais artistes qui partagent leurs créations avec générosité. Vous allez pouvoir piocher dans un catalogue de thèmes toujours plus étoffé, ou même proposer vos propres chefs-d’œuvre.

Si ça vous intéressez, rendez-vous sur https://theme-park.dev/ et vous pourrez commencer à bidouiller et personnaliser vos apps pour les rendre unique.

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 !

Comment surveiller et debugger vos conteneurs Docker ?

Si vous êtes devop, vous savez qu’il est essentiel de savoir surveiller et déboguer les applications en temps réel.

Mais le faire n’est pas si simple, surtout si celles-ci tournent dans des conteneurs Docker. C’est là qu’intervient l’outil libre Dozzle !

Grâce à une interface intuitive et des fonctionnalités d’analyse temps réel et de filtrage, les développeurs et les administrateurs système que vous êtes pourront facilement accéder aux journaux générés par leurs conteneurs Docker.

Avec Dozzle, les utilisateurs peuvent bénéficier d’un affichage des logs en temps réel sans avoir besoin de rafraîchir la page et l’outil prend en charge les journaux JSON avec une coloration intelligente, ce qui en facilite la lecture et la compréhension. L’installation et la configuration de Dozzle sont relativement simples et rapides. L’outil peut être installé localement ou utilisé pour se connecter à des hôtes distants via tcp:// et tls.

Le moyen le plus simple d’installer Dozzle est d’utiliser la commande Docker CLI et de monter le fichier docker.sock. Ce fichier se trouve généralement dans le répertoire /var/run/docker.sock. Vous devez également spécifier le port d’accès à l’interface de Dozzle. Par défaut, Dozzle écoute sur le port 8080, mais vous pouvez modifier le port externe en utilisant l’option -p.

Voici la commande à utiliser :

docker run --detach --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle

Docker Compose permet de configurer Dozzle plus facilement au sein d’un projet existant.

Voici un exemple de fichier docker-compose.yml pour Dozzle :

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 9999:8080

Ensuite, pour lancer Dozzle avec Docker Compose, enregistrez le fichier docker-compose.yml dans votre projet et exécutez la commande suivante dans votre terminal :

docker-compose up -d

Quelle que soit la méthode choisie, une fois Dozzle lancé, vous pourrez alors accéder à son interface web pour visualiser les journaux de vos conteneurs Docker.

Amusez-vous bien et bon debugging à tous !

❌