J3.x

Création d'un module simple - Ajouter un système de mise à jour

From Joomla! Documentation

< J3.x:Creating a simple module
This page is a translated version of the page J3.x:Creating a simple module/Adding Auto Update and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎English • ‎Nederlands • ‎español • ‎français • ‎português • ‎中文(台灣)‎
Joomla! 
3.x
Didacticiel
Création d'un module simple

Ceci est une série de plusieurs articles expliquant la façon de développer un module pour Joomla! Version Joomla 3.x. Vous pouvez naviguer dans les articles de cette série à l'aide du menu déroulant.

Commencez par l'Introduction puis naviguez dans les articles de cette série en utilisant soit les boutons de navigation situés en bas des articles, soit le menu droit (Les articles de cette série).




Cette section du didacticiel a pour vocation de vous aider à créer un serveur de mise à jour pour que votre module puisse utiliser le système de mise à jour en un clic de Joomla.

Introduction

Tout d'abord, veuillez lire le didacticiel sur la gestion des mises à niveau des composants avec Joomla! 2.5 - Partie 1 pour vous donner une idée du fonctionnement du processus de mise à jour dans Joomla. Même si ce didacticiel a été écrit pour la version 2.5, le processus n'a pas changé pour Joomla 3.x. Consultez également Déployer un serveur de mise à jour (ce que nous allons mettre en oeuvre dans ce didacticiel)..

Vous souvenez-vous du fichier sql de mise à jour dont nous avons parlé dans la section Utilisation de la base de données ? Il sera à nouveau utilisé pour mettre à jour notre base de données. Mais une nouvelle version compressée de notre module sera utilisée pour mettre à jour tous les fichiers PHP. Pour faire simple pour l'instant, nous allons mettre à jour les fichiers et la base de données sql sans vérifier la version de Joomla! ni la version du module actuellement installé (mais cela est bien sur recommandé pour un module en production).

Mise à jour de notre module

La seule façon de mettre à jour notre module est d'ajouter un serveur de mise à jour au fichier XML.

<updateservers>
	<server type="extension" name="Helloworld" priority="1">http://www.example.com/helloworld_update.xml</server>
</updateservers>

Joomla! va maintenant rechercher http://www.example.com/helloworld_update.xml pour les mises à jour avec une fréquence définie dans les options du gestionnaire des extensions.

Créer une mise à jour

Maintenant que Joomla! est à même de rechercher les mises à jour de notre extension, créons-en une afin de tester notre processus.

Créez une copie de votre module actuel. Puis mettons à jour le numéro de version en 1.0.1 et nous allons également ajouter un élément à notre fichier SQL de mise à jour (dans notre cas, un fichier de langue additionnel pour l'allemand).

<version>1.0.1</version>
INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Hallo Welt', 'de-DE');

Nous pouvons également modifier n'importe le quel de nos fichiers PHP - tous les fichiers PHP existants seront remplacés par ceux présents dans notre fichier de mise à jour (Remarque : c'est la raison pour laquelle le piratage des fichiers natifs d'une extension est déconseillée, car ces modifications seront perdues lors de la mise à jour de l'extension) .

Nous devons maintenant créer le fichier XML sur http://www.example.com/helloworld_update.xml pour faire savoir à Joomla! qu'une mise à jour est disponible.

<updates>
	<update>
		<name>Helloworld</name>
		<description>This is mod_helloworld 1.0.1</description>
		<element>mod_helloworld</element>
		<type>module</type>
		<version>1.0.1</version>
		<downloads>
			<downloadurl type="full" format="zip">http://www.example.com/mod_helloworld_101.zip</downloadurl>
		</downloads>
		<maintainer>Joomla</maintainer>
		<maintainerurl>http://www.example.com</maintainerurl>
		<targetplatform name="joomla" version="3.6"/>
		<client>site</client>
	</update>
</updates>

Dans notre exemple, http://www.example.com/mod_helloworld_101.zip est le dossier zip de notre mise à jour nouvellement créée. SI vous vous connectez au backend de Joomla, vous devriez voir dans le panneau d'administration qu'une mise à jour est disponible (si ce n'est pas le cas, purgez votre cache dans le menu 'Mise à jour' du gestionnaire des extensions). Il vous suffit de cliquer sur mettre à jour et vous verrez que votre module aura été mis à jour vers la version 1.0.1.

Remarque : A noter que la balise update dans ce cas est spécifique à la version Joomla! 3.6 et la mise à jour ne sera pas reconnue par une version antérieure ou postérieure de Joomla. Consultez la section sur le déploiement d'un serveur de mise à jour pour plus d'informations sur la façon de spécifier les balises update et surtout targetplatform.

Modules commerciaux

Dans nos fichiers, nous avons fait un lien vers le fichier XML des mises à jour de l'extension. Et à partir de ce fichier xml, nous indiquons un emplacement pour les fichiers zip du module. Cela signifie que si quelqu'un voulait suivre ce chemin, il serait en mesure de trouver la source physique des fichiers zip de votre module (et le rendre disponible/l'utiliser après l'expiration d'un abonnement, etc.). C'est pourquoi, la plupart du temps, les modules commerciaux ne contiennent pas de système de mise à jour automatique (bien que vous soyez généralement informé des mises à jour, de façon différente).

Conclusion

L'exécution des mises à jour des modules dans Joomla est vraiment simple, que ce soit pour l'utilisateur comme pour les développeurs d'extension et devrait être un standard pour tout module depuis Joomla! 3.1.