Paramétrer votre environnement local
From Joomla! Documentation
Comment paramétrer un environnement local pour Joomla 4
Avec Joomlaǃ 4, nous avons changé le processus de développement. Il n'est plus possible de cloner le dépôt et d'avoir une installation Joomla utilisable. Nous suivons ici les meilleures pratiques et mettons en place un processus de construction pour le CMS.
Guide d'installation rapide
Les étapes pour configurer votre environnement de développement dépendent de votre système d'exploitation. Nous ne pouvons pas écrire de documentation pour tous les systèmes d'exploitation (OS), donc vous devrez trouver des manuels adéquats sur votre moteur de recherche préféré.
Outils nécessaires
- PHP - fondamentalement le même que celui dont vous avez besoin pour exécuter un site Joomla, mais vous avez besoin de la version PHP CLI (interface en ligne de commande) (voir la page Configuration d'un serveur LAMPP pour le développement PHP).
- Composer - pour gérer les dépendances PHP de Joomla - pour obtenir de l'aide à l'installation de Composer, lisez la documentation sur https://getcomposer.org/doc/00-intro.md
- Node.js - pour compiler les fichiers JavaScript et SASS de Joomla. Pour obtenir de l'aide dans l'installation de Node.js, veuillez suivre les instructions disponibles sur https://nodejs.org/fr. Notez que vous aurez besoin de NodeJS 12 ou plus pour installer Joomla.
- Git - pour la gestion des versions
Etapes pour paramétrer votre environnement local
- Clonez le référentiel (dépôt)
- Sélectionnez la branche de la dernière version (actuellement 4.3-dev).
- Exécutez composer install à partir de la racine du référentiel Git. (Vous pouvez ajouter --ignore-platform-reqs si vous n'avez pas PHP-LDAP installé localement et que vous n'en avez pas besoin.)
- Exécutez npm ci à partir de la racine du référentiel Git. (Notez que vous avez besoin de npm 6.13.4 ou supérieur pour cela. Exécutez npm install -g npm@lts pour mettre à niveau votre version de npm vers la version LTS.)
Les utilisateurs Linux et OSX peuvent créer l'alias de bash suivant en ajoutant les lignes suivantes dans le fichier ~/.bashrc :
alias jclean="rm -rf administrator/templates/atum/css; \
rm -rf templates/cassiopeia/css; \
rm -rf administrator/templates/system/css; \
rm -rf templates/system/css; \
rm -rf media/; \
rm -rf node_modules/; \
rm -rf libraries/vendor/; \
rm -f administrator/cache/autoload_psr4.php; \
rm -rf installation/template/css"
alias jinstall="jclean; composer install; npm ci"
Cela supprimera tous les fichiers compilés de votre système et effectuera une nouvelle installation en une seule commande en appelant jinstall à l'intérieur de votre installation Joomla. Vous pouvez également utiliser la commande jclean pour revenir à une branche Joomla 3.x.
Guide d'installation un peu plus détaillé
Joomla est similaire à de nombreux autres outils web de nos jours. Il a une grande partie en PHP et de plus en plus de code JavaScript. Alors que la programmation en PHP ne nécessite pas autant de préparation, le JavaScript nécessite beaucoup d'outils. La principale raison est que personne n'écrit du code de manière à ce que chaque navigateur le comprenne, donc le code doit être transpilé par exemple de l'ES6 à une version compatible de JavaScript. Il en va de même pour le CSS. Pour Joomla, nous utilisons SASS, qui sera converti en CSS natif pour que tous les navigateurs le comprennent. En revanche, la mise en place d'un environnement de développement est un peu plus compliquée, mais les outils rendent la programmation plus pratique. Grâce aux observateurs (watchers) et au rechargement automatique du navigateur, vous pouvez voir vos modifications en temps réel.
PHP
Il devrait suffire d'exécuter composer install car cela installera les dépendances PHP indiquées dans le fichier composer.lock. Vous pouvez le faire autant de fois que vous le souhaitez, il n'installera de nouveaux paquets que lorsque le fichier composer.lock sera modifié. N'exécutez pas composer update car cela mettra à jour tous les paquets vers des versions plus récentes et mettra à jour le fichier composer.lock.
Note : Vous devrez peut-être exécuter composer install avec l'option --ignore-platform-reqs pour ignorer les exigences de plateforme spécifiées dans Composer. Cela s'applique si vous n'avez pas l'extension LDAP de PHP installée.
Scripts Node/npm
Node.js est livré avec un gestionnaire de paquets appelé NPM (en quelque sorte similaire à Composer). NPM dispose d'une commande run et nous avons préparé quelques scripts pour faciliter votre travail. Vous devez exécuter ces commandes à partir de la racine du référentiel lorsque vous avez modifié des fichiers JS ou SASS. Auparavant, vous deviez exécuter npm ci une fois pour installer les dépendances.
npm run build:css
Il compilera les fichiers SASS en CSS et créera les fichiers minifiés.
npm run build:js
Il compilera et transposera les fichiers JavaScript au bon format et créera des fichiers minifiés.
npm run watch
C'est la même chose que la commande build:js, mais elle surveillera les modifications et construira automatiquement les fichiers mis à jour dans le répertoire media. Les fichiers SASS ne sont pas inclus pour le moment.
npm run lint:js
Cela effectuera une vérification de syntaxe sur tous les fichiers JavaScript ES6 conformément à la norme de code JavaScript (pour plus d'informations sur la norme de codage Joomla 4, veuillez lire le manuel des règles de codage.
test d'exécution npm
Ceci va s'exécuter au-dessus de la suite de tests JavaScript.
Problèmes possibles
Lors de l'exécution de la commande composer install, vous pouvez rencontrer ces erreurs
Problem 1
- Installation request for joomla/ldap 2.0.0-beta -> satisfiable by joomla/ldap[2.0.0-beta].
- joomla/ldap 2.0.0-beta requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
Problem 2
- Installation request for symfony/ldap v5.1.5 -> satisfiable by symfony/ldap[v5.1.5].
- symfony/ldap v5.1.5 requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
La solution consiste à exécuter la commande composer install avec l'option --ignore-platform-reqs pour ignorer les exigences de plateforme spécifiées dans Composer. Cela s'applique si vous n'avez pas l'extension LDAP de PHP installée.
composer install --ignore-platform-reqs
Si vous rencontrez une erreur de connexion comme indiqué ci-dessous, supprimez le fichier \library\autoload_psr4.php.