Jiordi Viera Logo
À propos
Projets
Blog

© 2025 Jiordi Viera. Tous droits réservés.

Logo GitHubIcône du logo GitHub avec ses couleurs caractéristiques

De 0 à 900 téléchargements : l'histoire de mes packages Laravel

De 0 à 900 téléchargements : l'histoire de mes packages Laravel

Quand j'ai publié mon premier package Laravel sur Packagist, je n'imaginais pas qu'il atteindrait un jour les 900 téléchargements. Aujourd'hui, avec Laravel Log Cleaner en version 2.0 et Laravel Task Automator mis de côté, j'ai envie de partager cette aventure avec vous - les succès, les échecs, et surtout les leçons apprises en chemin.

🌱 Le déclic : quand les logs deviennent un problème

Tout a commencé par une frustration simple : mes fichiers laravel.log qui grossissaient sans arrêt. Chaque projet, la même histoire. Les logs s'accumulent, le serveur ralentit, et il faut manuellement vider ces fichiers.

Je me suis dit : "Il doit bien y avoir une commande Artisan pour ça, non ?" Mais non. Alors, au lieu de continuer à le faire manuellement, j'ai décidé de créer ma propre solution.

C'est là que Malik m'a soufflé l'idée : "Pourquoi tu ne ferais pas un package ? Ça pourrait servir à d'autres." Cette simple phrase a été le déclic. Sans cette conversation, Laravel Log Cleaner n'aurait jamais vu le jour.

Darwin Nathan, lui, c'est mon compagnon de code depuis le début - celui avec qui je partage les galères et les victoires du développement au quotidien. Et il faut aussi remercier Russel qui nous a amenés vers PHP (même si on ne savait pas encore qu'on finirait par aimer Laravel à ce point !)

🚀 Laravel Log Cleaner V1 : premiers pas dans l'open source

Ma première version était simple : une commande php artisan log:clear qui vidait le fichier de logs. Point. Pas de fioritures, pas d'options complexes, juste l'essentiel.

Les défis de la V1 :

  • Apprendre à structurer un package Laravel proprement
  • Comprendre Packagist et les workflows de publication
  • Écrire une documentation claire (plus dur que le code lui-même !)
  • Gérer les différentes versions de Laravel et PHP

Le plus difficile ? La documentation. J'ai passé plus de temps sur le README que sur le code. Mais c'était nécessaire - un package sans bonne doc, c'est un package mort.

🎯 La communauté répond : 900 téléchargements et des encouragements

Quelques semaines après la publication, les téléchargements ont commencé à s'accumuler. Puis Wilfried Djopa m'a encouragé lors de mon entretien d'embauche chez Genuka - ses mots sur mes efforts open source m'ont vraiment motivé à continuer.

Mais le moment qui m'a le plus marqué, c'est quand Arthur Monney a félicité mon travail dans la communauté Laravel Cameroun. Arthur, c'est quelqu'un que j'admirais déjà, et savoir qu'il avait remarqué mon package... ça m'a donné des ailes. Sans le savoir, il m'a motivé énormément à persévérer dans l'open source.

900 téléchargements. Ce chiffre me paraissait incroyable. 900 développeurs qui avaient téléchargé quelque chose que j'avais créé dans mon coin. C'était à la fois satisfaisant et intimidant - maintenant, il fallait assurer la maintenance !

⚡ Laravel Log Cleaner V2 : de développeur à ingénieur

Les retours de la communauté m'ont fait réaliser les limites de la V1. Les utilisateurs voulaient plus de contrôle, plus de sécurité, et surtout, une meilleure gestion des gros fichiers de logs.

Les améliorations majeures de la V2 :

  • Stream processing pour les fichiers volumineux (>50MB)
  • 50%+ d'amélioration des performances grâce au cache des patterns regex
  • Mode dry-run pour prévisualiser les changements
  • Système de backup automatique pour éviter les pertes de données
  • Filtrage par niveau de logs (ERROR, WARNING, INFO, DEBUG)
  • Compression des anciens logs au lieu de les supprimer

Cette version m'a appris la différence entre "faire fonctionner" et "bien faire". La V1 fonctionnait, mais la V2 est pensée pour la production, avec une vraie gestion d'erreurs et une architecture robuste.

Breaking changes assumés : J'ai abandonné PHP 7.x et Laravel 8.x pour me concentrer sur les versions modernes. C'était une décision difficile, mais nécessaire pour avancer.

🔄 Laravel Task Automator : l'erreur instructive

Parallèlement au Log Cleaner, j'ai commencé à travailler sur Laravel Task Automator. L'idée ? Automatiser la création de CRUDs complets avec une seule commande.

Mais voilà le problème : ça ne résolvait aucun problème réel pour moi. J'avais juste envie de coder quelque chose de complexe. Résultat ? Un package trop ambitieux, sans véritable valeur ajoutée, que j'ai fini par mettre de côté.

La leçon la plus importante : Ne jamais coder pour le plaisir de coder. Un bon package résout un problème concret que tu as rencontré. Si tu ne ressens pas la douleur du problème, personne d'autre ne ressentira le soulagement de ta solution.

Task Automator m'a appris l'humilité et l'importance de valider l'utilité avant de se lancer dans le développement.

📚 Ce que j'ai vraiment appris

Sur le technique

  • La documentation vaut plus que le code - Un package mal documenté est inutile
  • La performance compte - Les utilisateurs ont des fichiers de logs de plusieurs GB
  • Les breaking changes doivent être assumés - Mieux vaut une base solide qu'une compatibilité forcée

Sur la communauté

  • Les encouragements comptent énormément - Merci à Wilfried, Arthur, et Darwin
  • La validation par les pairs est précieuse - La communauté Laravel Cameroun m'a beaucoup apporté
  • Chaque téléchargement représente un développeur - C'est une responsabilité

Sur l'entrepreneuriat

  • Résoudre de vrais problèmes - Task Automator vs Log Cleaner, la différence est claire
  • Maintenir c'est plus dur que créer - La V2 a demandé plus d'effort que la V1
  • L'open source ouvre des portes - Mon profil de développeur a gagné en crédibilité

🔮 Pour la suite

Laravel Log Cleaner continue d'évoluer. Je travaille sur une V3 qui ajoutera la gestion des logs rotatifs et l'intégration avec les services tiers. Mais cette fois, chaque feature sera motivée par un vrai besoin utilisateur.

Quant à Laravel Task Automator, il restera dans mes archives comme un rappel constant : code pour résoudre, pas pour coder.

💝 Remerciements

  • Malik, pour m'avoir soufflé l'idée géniale de créer un package
  • Darwin Nathan, mon compagnon de code fidèle qui partage mes galères et mes victoires depuis le début
  • Russel, qui nous a amenés vers PHP (merci pour ça, même si on ne le savait pas encore !)
  • Ingenio, personne formidable qui nous accompagne avec ses critiques toujours constructives (même s'il n'aime pas PHP 😂)
  • Wilfried Djopa, pour ses encouragements lors de mon entretien d'embauche chez Genuka concernant mes efforts open source
  • Arthur Monney, pour sa motivation involontaire mais si précieuse lors des meetups Laravel Cameroun
  • La communauté Laravel Cameroun, pour son soutien et ses retours constructifs

900 téléchargements, c'est juste un chiffre. Mais derrière chaque téléchargement, il y a un développeur qui a fait confiance à mon travail. Cette responsabilité me motive chaque jour à produire du code de qualité.

Et vous, quel est votre premier package ? Qu'avez-vous appris de vos erreurs ? Partagez votre expérience en commentaire !


Cet article fait partie de ma série sur le développement web au Cameroun. Retrouvez mes autres réflexions sur mon blog.