"vendor", j'adore ?
Gzyg
Member
Bonjour,
À quoi servent exactement les librairies du nouveau dossier "vendor" qui double le poids d'un PluXml de base ?
Ça reste léger mais ça fait quelques dizaines de fichiers supplémentaires à transférer (235 au total). :)
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonjour,
Le dossier vendor est créé par le logiciel composer qui est un gestionnaire de dépendances de librairies PHP.
Il est acccompagné d'un fichier composer.json qui énumère les librairies nécessaires à PluXml et d'un petit script autoload.php.
Il permet de gérer de façon sûre les dépendances de PHPMailer qui permet d'utiliser un serveur SMTP différent de l'hébergeur du site pour l'envoi des E-mails. En fait c'est surtout cette librairie qui donne de l'embonpoint à PluXml.
Plus d'explication ici :
PHPMailer n'est pas nécessaire pour l'envoi de mails simples au format texte ou html si on passe par le serveur SMTP de son hébergeur.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
La fonction mail() ne suffit-elle pas ?
Je trouve dommage d'inclure tout ça uniquement pour cette fonctionnalité...
Bonjour,
Utiliser composer est plutôt une bonne chose et permet de gérer de manière plus souple les dépendances entre les différents composants de PluXml en place dans le dossier core/lib. De plus cela ne pèse pas très lourd :
4,0K autoload.php
68K composer (dossier)
Je laisse de côté les fichiers composer.* situés à la racine du site qui ne servent qu'au développement de PluXml.
Par contre ce qui pose problème est l'introduction de la librairie PHPMailer dans la dernière version publiée. Elle pèse très lourd :
jpierre@smartteck:/home/www/test/PluXml-5.8/vendor$ du -sh *
4,0K autoload.php
68K composer
816K guzzlehttp
308K league
56K paragonie
520K phpmailer
92K psr
28K ralouphie
Et je ne pense que cela soit la solution plus pertinente pour envoyer les mails et qu'elle est assez compliquée.
En fait, le problème est assez ancien. Il provenait de l'obligation de renseigner le paramètre $from dans la fonction PlxUtils::sendMail().
Aujourd'hui on peut laisser ce paramètre à vide (false ou "") pour passer par le serveur SMTP de l'hébergeur du site qui se chargera de renseigner à sa guise les entêtes manquants avant d'envoyer le mail.
Je conseille donc de cocher sendmail pour l'envoi des mails dans "configuration avancée".
Tu peux le vérifier sur la page informations en cliquant sur le bouton "Envoyer un e-mail de test".
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonjour,
La fonction mail() utilisé par
PlxUtils::sendMail()
, permet d'envoyer des e-mails uniquement si votre hébergeur propose nativement un service d'envoi de mail, ce qui n'est pas le cas partout.La nouvelle fonction
PlxUtils::sendMailPhpMailer()
utilisant la librairie PhpMailer, permet d'utiliser :mail()
De plus, le fichier
autoload.php
ajouté par Composer, sera utilisé dans la prochaine version pour charger les différentes class de PluXml en fonction de l'usage, au lieu de charger systématiquement toutes les class du dossier lib comme aujourd'hui.Certes le zip de PluXml est passé de 694k à 1,1mo, mais ça reste beaucoup plus léger que les autres CMS libres qui sont généralement entre 10 et 20mo.