Upgrade Finger

Comment je met à niveau un Tiki

Je suis un fervent défenseur des mises à jour fréquentes et des expérimentations précoces. Mon approche consiste à résoudre mes rapports de bugs existants et à en créer rapidement de nouveaux pour mobiliser d'autres développeurs. Cela garantit une adaptation rapide aux changements avec des tests tout en et tirant parti des améliorations de chaque nouvelles versions. Je préfère commencer avec une "page blanche", intégrant progressivement les personnalisations du projet pour assurer un alignement parfait avec les nouvelles implémentations, telles que les changements dans les technologies sous-jacentes comme Bootstrap, Smarty, etc. Cette approche permet un développement agile et efficace, permettant des ajustements plus rapides et une utilisation optimale des dernières fonctionnalités et améliorations de Tiki, tout en obligeant à la création de sauvegardes des actifs critiques du client.

Évaluation de l'installation actuelle de Tiki

Commencez par évaluer minutieusement l'installation de existante, la version actuelle de Tiki, ses fonctionnalités et paramètres, ainsi que toutes les personnalisations en cours d'utilisation.
Passez en revue l'environnement du serveur et assurez-vous qu'il répond aux exigences de la version de Tiki que vous allez installer.
Identifiez tous les problèmes connus ou limitations de la version actuelle qui doivent être traités lors de la mise à niveau.

Sauvegarde des données

Avant d'apporter des modifications, créez un clone de l'instance Tiki et effectuez une sauvegarde de la base de données, du thème, des fichiers des galeries de fichiers Tiki, des paramètres système, du fichier robot.txt et des fichiers supplémentaires de langues (le cas échéant). Cette étape est cruciale pour garantir l'intégrité des données et offrir des options de récupération.

Utilisation d'un repo Git

À l'été 2019, le développement de Tiki Wiki a subi une transformation significative lorsqu'il a officiellement basculé sa gestion de code vers Git. Cette transition a été complétée par la décision d'utiliser Gitlab pour la gestion du code. Pendant cette période cruciale, j'ai créé une série de tutoriels vidéo visant à aider les développeurs à effectuer en douceur la transition vers ce nouveau cadre de développement.

J'ai intégré Git de manière transparente dans mon flux de travail, en simplifiant la gestion de projet en établissant un dépôt Gitlab pour chaque projet. Cette approche simplifie la supervision du projet et permet un accès dédié pour chaque projet individuel. Une fois que le dépôt du projet est établi, j'initie une nouvelle branche de code dérivée de la dernière version stable de Tiki (ou de la version spécifique visée). Ce faisant, je m'assure que je travaille avec des fichiers frais et non modifiés directement à partir du repo Tiki. Lorsque je clone une branche en utilisant Git, le comportement par défaut est d'inclure l'intégralité de l'historique de cette branche. Étant donné le niveau élevé d'activité de Tiki, cela pourrait entraîner une instance exceptionnellement grande. Pour maintenir l'efficacité, notamment pour les projets clients, je choisis de minimiser cet historique en l'excluant du clone, afin de garder les données du projet compactes et gérables. Voici à quoi ressemble ma commande de clonage typique (protégée avec ma clé SSH) :

Copy to clipboard
git clone --depth=1 --branch=domain_tiki25x git@gitlab.com:xxxx/xxxx.git public_html/

Tester la mise à niveau dans un environnement de développement

Pour tester le processus de mise à niveau et résoudre tout problème ou conflit qui pourrait survenir, j'utilise un serveur local ou distant dédié que j'ai à disposition.
Cela permet de tester tout le code personnalisé, les thèmes et les extensions dans l'environnement de staging pour garantir qu'ils fonctionnent correctement avec la nouvelle version, ainsi que d'adapter le code et les éléments qui ont pu changer ou ne plus fonctionner comme précédemment.

La base de données

Je crée une nouvelle base de données spécifiquement pour la version de Tiki que je vais créer.
J'importe une sauvegarde de la base de données existante, qui contient le contenu et les paramètres, dans cette base de données nouvellement créée. Bien que cela puisse sembler être un effort supplémentaire, cela offre plusieurs avantages :
Je ne fais aucune modification à l'installation précédente de Tiki, ce qui garantit qu'elle peut être remise en rouet à tout moment.
Je peux expérimenter et apporter des corrections sur cette instance clonée tout en maintenant l'environnement de production en ligne sans interruption.
J'ai, de fait, des sauvegardes à la fois des fichiers et des bases de données.
Chaque version de Tiki dispose de son propre environnement dédié, ce qui permet à mon client et à moi-même de tester, améliorer et explorer en profondeur les fonctionnalités ou options nouvellement ajoutées jusqu'à ce que nous parvenions à un consensus sur la date de migration. Une fois cela finalisé, je procède au processus d'installation comme je le ferais pour une installation fraîche de Tiki, en continuant jusqu'à atteindre l'étape de configuration de la base de données.

Nouvelle installation de Tiki

Configuration de mon site Local

Je crée mon nouvel hôte sur mon ordinateur local avec les tous les paramètres, y compris les dossiers, SSL, le nom d'hôte et la version de PHP.
Et je commence le processus d'installation de Tiki, y compris l'exécution de la configuration des paquets Composer.

Migration progressive

À chaque étape de l'installation, j'identifie les paramètres qui doivent être modifiés et les fichiers qui doivent être transférés de l'ancienne version vers la nouvelle version.
Par exemple, si je rencontre des problèmes tels qu'un manque de mémoire lors de la configuration, je corrige ou ajoute le paramètre pertinent pour le résoudre.
Toutes les ajouts ou modifications de fichiers sont validés dans la nouvelle branche Git pour garantir que les corrections sont enregistrées pour un déploiement ultérieur sur le serveur distant. Cela permet également d'accéder aux outils Git et Gitlab pour le contrôle de version, la comparaison et le retour en arrière.

Connexion à la base de données

Je configure la connexion à la base de données et pointe Tiki vers la nouvelle base de données, qui est essentiellement un clone de l'ancienne.
Deux options : Réinstaller la base de données ou Mettre à Niveau, je choisis l'option Mettre à Niveau et termine le processus d'installation de Tiki.

Fichiers personnalisés

Il est maintenant temps de commencer à copier les fichiers personnalisés. En général, je m'efforce de limiter la modification des fichiers Tiki et de préserver l'intégrité du code source, ce qui simplifie la sauvegarde et les mises à niveau. Voici les principaux domaines sur lesquels je me concentre :

  • Répertoire du thème : Cela inclut les fichiers CSS personnalisés, les modèles, les scripts, les favicons et d'autres fichiers liés au thème. (Ordinateur de bureau et mobile)
    • Modèles du projet : Ceux-ci nécessitent une attention particulière et permettent plus de corrections et d'optimisations des modèles existants.
  • Fichiers de contenu : Je passe en revue la configuration de la Galerie de Fichiers Tiki, j'optimise les paramètres et copie le dossier de la galerie de fichiers précédent.
  • Fichiers de langue personnalisés : Je passe en revue les fichiers de langue qui ont été personnalisés pour le projet.
  • Fichiers de paramètres : Ce sont les fichiers de configuration système Tiki, qui contiennent souvent des paramètres spécifiques au projet.
  • Fichiers SEO : Fichiers liés au SEO, tels que robot.txt ou des fichiers de validation HTML.

Correction des erreurs et des changements de comportement

Comme pour toute mise à niveau logicielle, il n'est pas rare de rencontrer des erreurs ou des changements de comportement qui nécessitent une attention particulière. Voici une approche structurée pour identifier, aborder et résoudre de tels problèmes :

  • Après avoir terminé la mise à niveau de Tiki, tester minutieusement l'instance de Tiki permettra d'identifier toute erreur ou divergence de fonctionnalité. Je passe en revue les journaux d'erreurs pour rechercher et comprendre les problèmes.
  • Je compare attentivement l'ancienne version de Tiki avec la nouvelle et je porte une attention particulière à tous les paramètres obsolètes ou modifiés susceptibles d'affecter la fonctionnalité. Je procède à des tests de régression si nécessaire pour vérifier que les fonctionnalités fonctionnelles précédentes fonctionnent toujours comme prévu.
  • Je traite les problèmes un par un, en appliquant des correctifs progressifs et en testant étroitement chaque résolution pour confirmer son efficacité.
  • Je garde généralement un suivi des modifications et des mises à jour en utilisant mes articles (vous en lisez un 😉), le système de tickets et de gestion des tâches de Tiki (qui seront communiqués à mon client). Cette documentation me permet de retrouver rapidement les changements apportés pour adapter la nouvelle version de Tiki. Cela est crucial pour maintenir une référence claire pour les futures maintenances et les membres de l'équipe.


Je fais un commit de chaque modification et correction de dans le code Git et je consigne les changements de paramètres.

Configuration de l'Instance client sur sa destination finale

Je m'assure que le serveur cible est prêt pour l'installation de Tiki. Cela inclut la vérification du système d'exploitation du serveur, du serveur web, de la version de PHP et de la compatibilité de la base de données avec la version de Tiki que je déploie.
Je crée un clone Git de ma version mise à jour du projet et copie tous les fichiers du projet sur le serveur de destination. Je lance l'installation de Tiki et configure les paramètres nécessaires pour que l'instance de Tiki se connecte à la base de données sur le serveur de destination. Je vérifie que les identifiants et les permissions de la base de données sont correctement configurés. Je porte les mises à jour de configuration que j'ai effectuées sur les préférences de Tiki. Je passe en revue et mets à jour tous les paramètres de configuration, en particulier ceux liés aux chemins de serveur, aux URL et à la sécurité, pour correspondre à l'environnement du serveur de production, y compris le certificat SSL (si applicable).

Test final

Je teste minutieusement la nouvelle instance de Tiki sur le serveur de destination. Je vérifie que toutes les personnalisations, fonctionnalités et fonctionnalités fonctionnent comme prévu dans l'environnement en direct. Je vérifie les problèmes de dernière minute et une fois que je suis confiant que l'instance de Tiki est prête pour la production, je procède au déploiement en collaboration avec mon client qui devra tester la nouvelle instance pour s'assurer qu'elle fonctionne correctement.

Suivi et vérifications post-déploiement

Je surveille l'instance de production plusieurs jours après le déploiement pour identifier et résoudre tout problème pouvant survenir dans un environnement en direct. Je réalise des vérifications post-déploiement pour garantir des performances optimales.

La mise à niveau de Tiki, comme tout système de gestion de contenu complexe, est un processus qui exige une planification minutieuse, une exécution méticuleuse et un engagement inébranlable à offrir une expérience sans faille à mes clients.
En restant engagé à maintenir un codebase léger, en utilisant un contrôle de version efficace et en adoptant une approche itérative, je garde les instances de Tiki à jour en profitant des nouvelles fonctionnalités, des améliorations de sécurité et des améliorations de performance sans perturbations majeures dans le projet.

J'espère que cela vous aidera avec votre mise à niveau de Tiki et si vous avez besoin d'aide, vous pouvez toujours me contacter. 😉