Dimtrovich Console
Une console PHP légère et puissante, sans framework imposé
Bonjour à tous !
Je viens vous présenter un projet sur lequel je travaille depuis quelques mois : Dimtrovich Console.
Le constat
Si vous avez déjà eu besoin de créer un outil en ligne de commande en PHP, vous avez probablement été confronté à ce choix :
- Soit vous utilisez Symfony Console ou Laravel Artisan... et vous vous retrouvez à embarquer des centaines de fichiers, des conteneurs de dépendances, tout un écosystème conçu pour des frameworks entiers, juste pour faire quelques commandes simples.
- Soit vous faites du "from scratch"... et vous passez votre temps à réinventer la roue : parsing des arguments, gestion des couleurs, affichage des tableaux, etc.
La solution
Dimtrovich Console se positionne pile au milieu. C'est une surcouche puissante construite au-dessus de l'excellente librairie adhocore/cli (dont je suis contributeur). Mention spéciale à @adhocore pour son travail qui m'a servi de base solide.
Les points forts :
- Légèreté : 1 seule dépendance (adhocore/cli), pas de framework imposé
- Simplicité : Vous n'importez que ce dont vous avez besoin
- Richesse : Des fonctionnalités aussi avancées que les grosses solutions
Fonctionnalités
Malgré sa légèreté, le package propose tout ce dont on peut rêver pour une console :
Alertes stylisées, badges colorés, barres de progression animées avec statistiques, spinners, graphiques ASCII (barres, camemberts), tableaux, grilles, menus interactifs, auto-complétion, art ASCII pour les bannières, 8 thèmes visuels (sombre, clair, solarisé, monokai, etc.), internationalisation avec traductions françaises intégrées, et même des notifications desktop.
Installation
C'est tout. Pas de configuration, pas de providers à enregistrer, pas de conteneur à initialiser.
Un exemple complet
Pour qui ?
Ce package est fait pour vous si vous développez un outil autonome sans vouloir embarquer un framework entier, si vous avez besoin d'une console dans un projet legacy sans tout réécrire, ou si vous êtes simplement sensible à la taille de vos dépendances.
Documentation
Le README est très complet (et en français !) :
https://github.com/dimtrovich/php-console[/url]
Vos retours
C'est mon premier package dont j'en parle en public. J'aimerais vraiment avoir vos avis : la documentation est-elle claire ? Des fonctionnalités manquantes ? Des bugs ? N'hésitez pas à tester et à me faire vos retours !
Liens
- GitHub : https://github.com/dimtrovich/php-console (les étoiles et vos éventuels PR sont les bienvenues et me feraient un grand plaisir!)
- Packagist : https://packagist.org/packages/dimtrovich/console
Merci d'avance pour vos retours !
Modifié par Dimtrovich (13 Feb 2026 - 22:47)
Une console PHP légère et puissante, sans framework imposé
Bonjour à tous !
Je viens vous présenter un projet sur lequel je travaille depuis quelques mois : Dimtrovich Console.
Le constat
Si vous avez déjà eu besoin de créer un outil en ligne de commande en PHP, vous avez probablement été confronté à ce choix :
- Soit vous utilisez Symfony Console ou Laravel Artisan... et vous vous retrouvez à embarquer des centaines de fichiers, des conteneurs de dépendances, tout un écosystème conçu pour des frameworks entiers, juste pour faire quelques commandes simples.
- Soit vous faites du "from scratch"... et vous passez votre temps à réinventer la roue : parsing des arguments, gestion des couleurs, affichage des tableaux, etc.
La solution
Dimtrovich Console se positionne pile au milieu. C'est une surcouche puissante construite au-dessus de l'excellente librairie adhocore/cli (dont je suis contributeur). Mention spéciale à @adhocore pour son travail qui m'a servi de base solide.
Les points forts :
- Légèreté : 1 seule dépendance (adhocore/cli), pas de framework imposé
- Simplicité : Vous n'importez que ce dont vous avez besoin
- Richesse : Des fonctionnalités aussi avancées que les grosses solutions
Fonctionnalités
Malgré sa légèreté, le package propose tout ce dont on peut rêver pour une console :
Alertes stylisées, badges colorés, barres de progression animées avec statistiques, spinners, graphiques ASCII (barres, camemberts), tableaux, grilles, menus interactifs, auto-complétion, art ASCII pour les bannières, 8 thèmes visuels (sombre, clair, solarisé, monokai, etc.), internationalisation avec traductions françaises intégrées, et même des notifications desktop.
Installation
composer require dimtrovich/console
C'est tout. Pas de configuration, pas de providers à enregistrer, pas de conteneur à initialiser.
Un exemple complet
use Dimtrovich\Console\Command;
use Dimtrovich\Console\Application;
class BackupCommand extends Command
{
protected string $name = 'backup:run';
protected string $description = 'Lance une sauvegarde';
public function handle()
{
$this->alert()->info('Début de la sauvegarde', 'BACKUP');
$this->withProgressBar(5, function($bar) {
for ($i = 0; $i < 5; $i++) {
sleep(1);
$bar->advance();
}
});
$this->alert()->success('Sauvegarde terminée !');
$this->chart(['BDD' => 45, 'Fichiers' => 35, 'Logs' => 20], 'pie');
}
}
$app = Application::create('Mon Outil', '1.0.0')
->withLocale('fr')
->withTheme('dark')
->withCommands([BackupCommand::class])
->run();
Pour qui ?
Ce package est fait pour vous si vous développez un outil autonome sans vouloir embarquer un framework entier, si vous avez besoin d'une console dans un projet legacy sans tout réécrire, ou si vous êtes simplement sensible à la taille de vos dépendances.
Documentation
Le README est très complet (et en français !) :
https://github.com/dimtrovich/php-console[/url]Vos retours
C'est mon premier package dont j'en parle en public. J'aimerais vraiment avoir vos avis : la documentation est-elle claire ? Des fonctionnalités manquantes ? Des bugs ? N'hésitez pas à tester et à me faire vos retours !
Liens
- GitHub : https://github.com/dimtrovich/php-console (les étoiles et vos éventuels PR sont les bienvenues et me feraient un grand plaisir!)
- Packagist : https://packagist.org/packages/dimtrovich/console
Merci d'avance pour vos retours !
Modifié par Dimtrovich (13 Feb 2026 - 22:47)