Introduit dans Tiki 27.0 et perfectionné dans les versions ultérieures, ce système de build apporte de nombreuses améliorations visant à accroître l'efficacité, la cohérence et la facilité de maintenance pour les développeurs et les utilisateurs avancés. Cependant, il nécessite que ces utilisateurs et les administrateurs Tiki Wiki se familiarisent avec la nouvelle méthode d'installation depuis Gitlab (système de contrôle de version).

Alors que Tiki 27 et son processus d'installation se stabilisent, ce guide est un travail en cours et sera utilisé pour mettre à jour la Documentation Officielle de Tiki.

Nouveau système de build Tiki Wiki


Le Système Build de Tiki 27 plus exploite des outils et des pratiques de développement modernes, alignant Tiki sur les standards du développement web. Cela inclut l'intégration d'outils comme Composer pour les dépendances PHP et Node.js pour les dépendances JavaScript et CSS. Il modernise le flux de travail de développement et facilite la configuration de plusieurs composants nécessaires pour une utilisation de Tiki Wiki optimisée. Il assure également la cohérence entre les différents environnements (développement, test, production). Le processus de configuration automatisé minimise le risque de problèmes spécifiques à un environnement, conduisant à des déploiements plus fiables.

Au moment de la rédaction de cet article, le Système de Build Tiki 27+ configurera et génère principalement :

  • Composer
  • Node.js et npm
  • Compile les fichiers "publiques"

...

Prérequis et préliminaires pour exécuter le système de build Tiki 27+


Assurez-vous d'avoir les prérequis nécessaires installés, tels que PHP, Composer, Node.js et npm. Suivez la documentation Tiki pour installer et configurer ces outils. Vous pouvez télécharger et installer Node.js et npm depuis le site officiel de Node.js.

Clonage et mise à jour de votre code


Clonez votre Tiki Wiki depuis le dépôt Gitlab de Tiki vers votre environnement de développement local. Cela vous fournira la dernière version du code source de Tiki.

Exécution du script d'installation - setup.sh


Il est fortement recommandé d'exécuter ce script en utilisant le même utilisateur que celui de votre répertoire web Tiki Wiki (par exemple, www-data). Utilisez "root" uniquement en dernier recours si vous rencontrez un problème.

Tiki Wiki fournit un script pour automatiser le processus de configuration et appliquer les permissions correctes, setup.sh qui se trouve dans le répertoire principal de votre Tiki.

Exécutez la commande suivante dans votre terminal ou shell depuis le répertoire de projet :

Si vous avez une seule version de PHP
Copy to clipboard
sh setup.sh


Si vous avez plusieurs versions de PHP installées, il est crucial de sélectionner la version PHP appropriée (voir les prérequis de Tiki Wiki) pour exécuter le script setup.sh.
Voici un exemple sur Debian12 utilisant la configuration Virtualmin LAMP (ici PHP8.2 sera utilisé) :

Si vous avez plusieurs versions de PHP
Copy to clipboard
sh setup.sh -p /usr/bin/php8.2


Vous utiliserez l'option "b" (build) puis "f" pour définir les permissions.

L'option "b" installera les packages Composer et les dépendances PHP, et npm pour installer les dépendances JavaScript et CSS.

Vous pouvez voir plusieurs avertissements (le processus est encore en cours de stabilisation), mais seules les erreurs nécessitent votre attention.

Si tout se passe bien, utilisez l'option "f" pour appliquer les permissions et les privilèges fichiers et répertoires de votre installation Tiki Wiki.

Compilation de votre thème et des fichiers publics générés


Avec le système de build Tiki 27+, la compilation de vos fichiers SCSS et CSS de thème est différente des versions précédentes (voir le site Tiki Wiki Theme). Tiki 27+ utilise un répertoire et un modèle de hiérarchie différent, et s'appuie sur des fichiers publics générés pour garantir que votre instance Tiki fonctionne et soit affichée comme prévu sur tout support. Cela implique de traiter vos feuilles de style personnalisées, scripts et autres ressources pour les rendre prêtes à être utilisées en production.

La dernière étape de l'exécution du script setup.sh lancera npm pour terminer l'installation. Vous devrez du reste exécuter npm run watch chaque fois que vous modifiez votre thème CSS personnalisé, vos templates, vos fichiers personnalisés ou vos fichiers de langue personnalisés pour vous assurer que tous vos fichiers publics sont à jour.

Aide au dépannage

Chaque développeur a ses propres méthodes et préférences. De plus différents environnements peuvent compliquer le processus de configuration. Bien que nous recommandions de ne jamais utiliser root, il y a des cas où vous pourriez vous retrouver bloqué.

Dans les systèmes où vous ne pouvez pas modifier la liste des sudoers ou vos possibilités de modifications des permissions sont limités, vous devrez peut-être utiliser root pour installer les bonnes versions de npm et Node.js, ainsi que pour exécuter la commande npm run watch.

Versions requises de npm et Node.js


Node.js et npm (Node Package Manager) sont essentiels pour l'installation et l'exécution de Tiki Wiki 27 et des versions ultérieures en raison de plusieurs raisons clés liées aux pratiques modernes de développement web.

À la date de cet article, Tiki Wiki nécessite les versions suivantes de Node.js et npm pour être installées sur votre système :

npm : Version 9.0.0 à 11
Node.js : Version 18.0.0 à 22
Vous pouvez trouver ces exigences de version spécifiées dans le fichier package.json.

Si vos packages ne sont pas dans ces plages de versions, setup.sh et d'autres commandes npm telles que npm run watch échoueront.

Corriger vos versions de npm et Node.js


Pour mettre à jour ou rétrograder les versions de npm et Node.js, visitez Node.js Downloads.

  1. Utilisez le sélecteur déroulant pour choisir la version de Node.js adaptée à votre environnement.
  2. Suivez les instructions fournies pour installer la version de Node.js sélectionnée.
    1. Une fois la premiere instruction terminé, il vous faut redémarrer votre terminal (ie: exec bash for linux)
  3. Une fois installé, vous devriez pouvoir terminer l'installation de Tiki.

Correction : Limite système atteinte pour le nombre de surveillants de fichiers


Linux utilise le package inotify pour observer les événements du système de fichiers pour des fichiers ou des répertoires individuels. Lorsque vous travaillez sur des projets nécessitant la surveillance de nombreux fichiers, comme Tiki Wiki, vous pouvez rencontrer des avertissements liés à la limite de surveillance inotify atteinte. Augmenter cette limite peut résoudre ces avertissements.

Pour résoudre ce problème, suivez la discussion sur Stackoverflow et appliquez la solution qui convient à votre cas spécifique et environnement.

J'espère que ces informations vous seront utiles pour le moment. À mesure que Tiki 27 et son processus d'installation se stabilisent, ce guide sera utilisé pour mettre à jour la Documentation officielle de Tiki.