Tous les paquets, par domaine
Plerino est un monorepo de paquets Composer publiés sous le nom de vendor plerino. Chaque paquet a ses propres tests, son journal des modifications et sa page de documentation. Aucune version stable n’a encore été publiée.
Bibliothèques clientesStandards
- paquets dans le dépôt
- 30
- paquets prévus
- 5
- domaines
- 10
Fondations
Les contrats, le noyau et les briques communes à tous les paquets
-
plerino/contractsDans le dépôtInterfaces, enums et contrats d’objets-valeurs qui définissent la surface d’API publique, avec réexport des PSR.
-
plerino/kernelDans le dépôtDémarrage, chaîne de build, découverte, scopes de requête, pipeline de middlewares et barrière d’erreurs.
-
plerino/containerDans le dépôtUn conteneur de services compilé, avec des durées de vie singleton, scoped et transient déclarées par attributs.
-
plerino/configDans le dépôtDes classes de configuration typées, compilées au build à partir des variables d’environnement ; les secrets restent hors du fichier compilé.
-
plerino/cryptoDans le dépôtEnveloppes libsodium : chiffrement authentifié, trousseau de clés avec rotation, hachage, signature et type de valeur Secret.
-
plerino/clockDans le dépôtUne horloge PSR-20, une horloge figée pour les tests et un type Duration.
-
plerino/collectionDans le dépôtCollections immuables typées, maps et séquences paresseuses.
-
plerino/moneyDans le dépôtMontants exacts en devises ISO 4217, répartition et formatage.
-
plerino/frameworkDans le dépôtLe méta-paquet qui requiert les paquets du cœur.
HTTP et exécution
Messages, routage, pilotes d’exécution et client sortant
-
plerino/httpDans le dépôtUne implémentation de PSR-7, PSR-15 et PSR-17 avec classes d’entrée typées, fabrique de réponses, Problem Details et en-têtes de sécurité.
-
plerino/routingDans le dépôtAttributs de route, paramètres typés, matcher compilé et génération d’URL.
-
plerino/kineticDans le dépôtL’exécution : pilotes pour le worker FrankenPHP et PHP-FPM, recyclage des workers et points de contrôle d’état. Des pilotes Swoole et RoadRunner sont prévus.
-
plerino/http-clientDans le dépôtUn client PSR-18 avec protection SSRF, contrôle des redirections, nouvelles tentatives, pool et doublures de test.
Templates et front-end
Templates compilés et intégration front-end
-
plerino/weftDans le dépôtUn compilateur de templates natifs HTML avec composants, slots et échappement par défaut. Il produit aussi le balisage des e-mails et des documents PDF.
-
plerino/bridgePrévuUn adaptateur pour les front-ends côté client, avec rendu côté serveur.
Données
SQL, documents, vecteurs, cache et stockage de fichiers
-
plerino/tesseraDans le dépôtEntités, repositories, query builder immuable et migrations pour PostgreSQL, MySQL et SQLite, magasin de documents MongoDB et recherche vectorielle.
-
plerino/cacheDans le dépôtCaches PSR-6 et PSR-16 avec stockages fichier, mémoire, Redis et Memcached, tags, verrous et protection contre l’effet de ruée.
-
plerino/filesystemDans le dépôtStockage local et compatible S3, avec chemins validés, flux, inspection des téléversements et URL présignées.
-
plerino/seekerPrévuPilotes de recherche et passerelle vers la recherche vectorielle.
Traitements en arrière-plan
Files d’attente, workflows, planifications et événements
-
plerino/fluxDans le dépôtPilotes de file pour Redis Streams, PostgreSQL et SQS, jobs, lots, workflows durables et tableau de bord.
-
plerino/schedulerDans le dépôtClasses planifiées compilées au build, expressions cron, fuseaux horaires et verrous entre nœuds.
-
plerino/eventsDans le dépôtÉvénements typés avec listeners compilés au build, livraison asynchrone et outbox transactionnelle.
Temps réel
Un serveur temps réel et son protocole
-
plerino/cometDans le dépôtUn serveur temps réel sur WebSocket et server-sent events, avec canaux, politiques, présence, rejeu et canaux chiffrés de bout en bout.
Sécurité
Authentification, autorisation et protection
-
plerino/aegisDans le dépôtSessions, guards, passkeys, TOTP, codes de récupération, liens magiques, connexion OAuth, jetons d’API et politiques RBAC, ABAC et ReBAC.
-
plerino/bastionPrévuProtection applicative à l’exécution.
-
plerino/wardenPrévuClassification des données, chaîne d’audit et outils RGPD.
Communication
E-mail et notifications multicanales
-
plerino/mailDans le dépôtMessages, construction MIME, transports SMTP, SES, Postmark et Resend, DKIM, envoi différé par file d’attente et prévisualisation.
-
plerino/notificationsDans le dépôtNotifications par e-mail, SMS, Telegram, Web Push, Slack et boîte de réception en base, avec préférences et délégation aux files d’attente.
Support applicatif
Validation, localisation, journalisation et ligne de commande
-
plerino/validationDans le dépôtRègles par attributs, validateur et messages traduits.
-
plerino/i18nDans le dépôtICU MessageFormat, négociation de la locale, formateurs et traductions du cœur.
-
plerino/logDans le dépôtUn logger PSR-3 au format JSON Lines, avec masquage des secrets et rotation selon la taille.
-
plerino/consoleDans le dépôtAttributs de commande, entrées et sorties, invites et tableaux.
-
plerino/cliDans le dépôtLe binaire plerino : build, serve, routes, container, doctor, secrets, rotation des clés et générateurs.
-
plerino/facetPrévuFeature flags.
Observabilité
Télémétrie et outils de développement
-
plerino/lensDans le dépôtTraces, métriques et journaux OpenTelemetry en OTLP, panneaux de développement, barre d’outils et page d’erreur détaillée.
Bibliothèques clientes
Publiées en dehors de Composer.
@plerino/cometDans le dépôtLe client TypeScript typé de Comet : reconnexion, reprise, publication hors ligne, présence et chiffrement de bout en bout.
Weft pour Visual Studio CodeDans le dépôtColoration syntaxique des templates Weft.
Fondé sur des standards
Plerino implémente des interfaces et des spécifications ouvertes plutôt que des conventions maison.
- PSR-3
- PSR-6
- PSR-7
- PSR-15
- PSR-16
- PSR-17
- PSR-18
- PSR-20
- ICU MessageFormat
- RFC 9457 Problem Details
- OpenTelemetry
- WebAuthn
- libsodium
Suivez la route vers la 1.0
Explorez ce qui existe aujourd’hui, ou écrivez-nous si vous souhaitez échanger sur le projet.