manuwhat / php-eco-profiler
Enterprise-grade Carbon Profiler. Cloud-native, stateless, and hardware-aware for sustainable PHP development.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/manuwhat/php-eco-profiler
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^10.0
README
"On ne peut pas optimiser ce que l'on ne mesure pas." Le développeur PHP moderne est le garant de l'efficience énergétique du web. PHP Eco-Profiler est une bibliothèque d'ingénierie durable conçue pour passer d'un web de l'abondance à un web de la pertinence.
📢 Pourquoi ce projet existe ?
La performance n'est plus seulement une question de millisecondes, c'est une question de milligrammes de $CO_{2}$.
PHP Eco-Profiler réintroduit la réalité physique du matériel dans l'abstraction du code en calculant l'impact carbone réel de vos scripts. Il permet de réconcilier les impératifs de production avec les limites planétaires.
🏛 Les 3 Piliers de l'Innovation (Innovation Awards 2026)
1. Conscience Matérielle (Hardware-Awareness)
Détection automatique de l'architecture CPU (ARM vs x86) pour ajuster les courbes de consommation. Le moteur valorise les infrastructures sobres (type AWS Graviton) et les gains d'efficience du moteur Zend sous PHP 8.4+.
2. Vision Holistique (Eco-Proxying)
Ne mesurez plus seulement votre code local. Mesurez l'ensemble de votre écosystème grâce au ProxyRegistry qui comptabilise l'impact des dépendances tierces (SQL, API externes, Cloud storage) via un système de fallback intelligent.
3. Architecture Stateless & Cloud-Native
Conçu pour le cloud moderne, l'outil fonctionne en mode In-Memory. Il ne nécessite aucune écriture disque, le rendant nativement compatible avec AWS Lambda, Google Cloud Functions et les environnements Docker en lecture seule.
🛠 Utilisation & Ingénierie
Installation
composer require manuwhat/php-eco-profiler``` Exemple API Stateless (Sans stockage fichier) ```PHP use GreenCode\EcoProfiler; use GreenCode\Exporters\MemoryExporter; // Configuration Stateless pour Cloud Functions / API $profiler = new EcoProfiler($provider, $settings, new MemoryExporter()); $profiler->start(); // ... Logique métier ... $report = $profiler->stop('FR', ['mysql_query' => 5]); // Réponse directe en JSON (Zéro Latence I/O) header('Content-Type: application/json'); echo json_encode($report, JSON_PRETTY_PRINT);``` ##📊 Architecture & Extensibilité Le projet adopte le Strategy Pattern, rendant chaque composant interchangeable : Providers : Sources d'intensité carbone (Statique ou API temps réel). Proxies : Connecteurs pour services tiers (DB, Cloud, Mail). Exporters : Formats de sortie (JSON, CSV, ou Memory-only). ##🧪 Qualité Industrielle Le projet intègre une suite de tests PHPUnit rigoureuse et une intégration continue via GitHub Actions, garantissant la précision des modèles de conversion Joules/Carbone sur toutes les versions de PHP supportées. ```Bash ./vendor/bin/phpunit tests``` ##🏁Gouvernance Carbone : Notation Dynamique : Ne soyez pas limité par des standards pré-établis. Configurez vos propres seuils de notation (A+ à E) directement dans vos fichiers de paramètres pour les aligner sur vos objectifs RSE spécifiques. ##🏆 Vision PHP Eco-Profiler transforme chaque exécution de script en une donnée environnementale auditable. Il apporte une réponse technique concrète aux régulations RSE européennes (CSRD) et positionne PHP comme un leader de la Green-Tech. "Le code le plus écologique est celui que l'on optimise avec conscience." Développé avec passion par manuwhat