J3.x

Creating a simple module/Adding Auto Update/fr: Difference between revisions

From Joomla! Documentation

MATsxm (talk | contribs)
Created page with "Création d'un module simple - Ajouter un système de mise à jour"
 
Created page with "'''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..."
 
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<noinclude><languages /></noinclude>
<noinclude><languages /></noinclude>
{{J3.x:Creating_a_simple_module/en}}
{{J3.x:Creating_a_simple_module/fr}}
This section of the tutorial will help you create an update server so that your module can utilize the Joomla one-click-upgrade system.
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 & Pre-reading ==
==Introduction==
The first thing to do is to read the [[S:MyLanguage/J2.5:Managing_Component_Updates|Managing Component Upgrades with Joomla 2.5 - Part 1]] tutorial to give an idea of how the upgrade process works in Joomla. Whilst written for 2.5 the process hasn't changed for Joomla 3.x. Also read [[S:MyLanguage/Deploying_an_Update_Server|Deploying an update server]] - this is what we'll be implementing in this tutorial.
Tout d'abord, veuillez lire le didacticiel sur la [[S:MyLanguage/J2.5:Managing_Component_Updates|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 [[S:MyLanguage/Deploying_an_Update_Server|Déployer un serveur de mise à jour]] (ce que nous allons mettre en oeuvre dans ce didacticiel)..


Remember that sql update file we mentioned in the [[S:MyLanguage/J3.1:Creating_a_simple_module/Using_the_Database|Using the database]] section? That will be used to update our database still. Whilst a new zipped version of our module will be used to update all the php files. To keep this simple for now we will update the files and sql database without any checks for Joomla version and the version of the module that is currently installed (it is recommended these are used in a production module).
Vous souvenez-vous du fichier sql de mise à jour dont nous avons parlé dans la section [[S:MyLanguage/J3.1:Creating_a_simple_module/Using_the_Database|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).


== Updating our module ==
== Mise à jour de notre module ==
The only way to update our existing module is to add in a update server into the xml file.
La seule façon de mettre à jour notre module est d'ajouter un serveur de mise à jour au fichier XML.


<source lang="xml">
<source lang="xml">
Line 17: Line 17:
</source>
</source>


Joomla! will now search ''http://www.example.com/helloworld_update.xml'' for updates with a frequency set in the extension manager options.  
Joomla! va maintenant rechercher <tt><nowiki>http://www.example.com/helloworld_update.xml</nowiki></tt> pour les mises à jour avec une fréquence définie dans les options du gestionnaire des extensions.  


== Creating an update ==
== Créer une mise à jour ==
So now that Joomla is searching for updates to our extension - lets create one to test out our process.
Maintenant que Joomla! est à même de rechercher les mises à jour de notre extension, créons-en une afin de tester notre processus.


Create a copy of the module as it is now. Then lets update the version number to 1.0.1, and also we'll add something into our Update SQL file - in this case an extra German Language file.
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).


<source lang="xml">
<source lang="xml">
Line 32: Line 32:
</source>
</source>


Note we can also edit any of our php files - all the existing php files will be overridden by the ones in the update file (''Note:'' This is the reason why core hacks of any extension are discouraged - they will be lost on the extension update).
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) .


Now we must create the xml file at ''http://www.example.com/helloworld_update.xml'' to let Joomla know an update is available.  
Nous devons maintenant créer le fichier XML sur <tt><nowiki>http://www.example.com/helloworld_update.xml</nowiki></tt> pour faire savoir à Joomla! qu'une mise à jour est disponible.  


<source lang="xml">
<source lang="xml">
Line 49: Line 49:
<maintainer>Joomla</maintainer>
<maintainer>Joomla</maintainer>
<maintainerurl>http://www.example.com</maintainerurl>
<maintainerurl>http://www.example.com</maintainerurl>
<targetplatform name="joomla" version="3.1"/>
<targetplatform name="joomla" version="3.6"/>
<client>site</client>
<client>site</client>
</update>
</update>
Line 55: Line 55:
</source>
</source>


where ''http://www.example.com/mod_helloworld_101.zip'' is the zip of our newly created update. If you now log into the backend of Joomla you should now see in the control panel that an automatic update is available (if not you may need to purge your cache in the update section of the extension manager). Simply click update and you'll find your module has been updated to version 1.0.1.
Dans notre exemple, <tt><nowiki>http://www.example.com/mod_helloworld_101.zip</nowiki></tt> 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.


== Commercial Modules ==
'''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 [[S:MyLanguage/Deploying_an_Update_Server#Extension|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''.
Note that in our files we have linked to the extensions updates xml file. And from that xml file we have a location for the zip of the module. This means that if someone were to track this backwards they could find the physical source of your modules zip file (and make it available/use it after a subscription has expired etc.). For this reason generally commercial modules do not contain automatic updates (although they often will inform you of updates in some alternative way).
 
== 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 ==
== Conclusion ==
Updating modules in Joomla is really easy for both users and the extension developers to perform and should be expected as standard with any module since Joomla! 3.1.
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.


<div class="row">  
<div class="row">  
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_Form_Fields|Prev: Adding Form Fields|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_Form_Fields|Préc. : Ajout de champs de formulaire|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_an_install-uninstall-update_script_file|Next: Adding an install-uninstall-update script file|class=expand}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_an_install-uninstall-update_script_file|Suiv. : Ajout d'un fichier script installation-désinstallation-mise à jour|class=expand}}</div>
</div>
</div>
__NOTOC__
__NOTOC__
<noinclude>
<noinclude>
[[Category:Tutorials]]
[[Category:Tutorials/fr|Didacticiels]]
[[Category:Tutorials in a Series]]
[[Category:Tutorials in a Series/fr|Didacticiels par série]]
[[Category:Module Development]]
[[Category:Module Development/fr|Développement de modules]]
[[Category:Beginner Development]]
[[Category:Beginner Development/fr|Développement pour les débutants]]
[[Category:Joomla! 3.x]]
[[Category:Joomla! 3.x/fr|Joomla! 3.x]]
[[Category:Joomla! 3.0]]
[[Category:Joomla! 3.0/fr|Joomla! 3.0]]
[[Category:Joomla! 3.1]]
[[Category:Joomla! 3.1/fr|Joomla! 3.1]]
[[Category:Joomla! 3.2]]
[[Category:Joomla! 3.2/fr|Joomla! 3.2]]
[[Category:Joomla! 3.3]]
[[Category:Joomla! 3.3/fr|Joomla! 3.3]]
[[Category:Joomla! 3.4]]
[[Category:Joomla! 3.4/fr|Joomla! 3.5]]
[[Category:Joomla! 3.4/fr|Joomla! 3.6]]
</noinclude>
</noinclude>

Latest revision as of 11:10, 19 November 2016

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.