J4.x

Improved Override Management/fr: Difference between revisions

From Joomla! Documentation

Created page with "Gestion améliorée des substitutions"
 
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(35 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{Top portal heading|color=white-bkgd|text-color=#333|title=
{{Top portal heading|color=white-bkgd|text-color=#333|title=
GSoC 2018 <br />
GSoC 2018 <br />
Improved Override Management <br />Documentation}}
Documentation <br />sur la gestion améliorée des substitutions}}
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]
<noinclude>{{Joomla version|version=4.x}}</noinclude>
<noinclude>{{Joomla version|version=4.x}}</noinclude>
{{-}}
{{-}}
== Introduction ==
==Introduction==
This project adds an update checking feature to Joomla so that if a template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.
Ce projet ajoute une fonction de vérification de mise à jour à Joomla de sorte que si un template est modifié ou mis à jour, il informe l'utilisateur que l'un des fichiers de base de leur template est modifié avec la mise à jour, pour éviter les problèmes de sécurité ou de fonctionnalité et ils peuvent ajuster leur modifications avant que quelqu'un puisse s'en rendre compte.


'''Project repository link:''' https://github.com/joomla-projects/gsoc18_override_management
'''Lien du dépôt du projet :''' https://github.com/joomla-projects/gsoc18_override_management


== Getting a head-start with Improved Override Management ==
== Obtenir une longueur d'avance grâce à une gestion améliorée de l'override ==
=== Notes ===
===Notes===
If you are new to Joomla development, and don't know much about Template Manager and Overrides, please read:
Si vous êtes nouveau dans le développement Joomla, et ne savent pas grand-chose sur le gestionnaire de modèles et les Overrides, veuillez lire :
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|Comment utiliser le Gestionnaire de templates]]
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Les substitutions de mise en page dans Joomla]]


Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let's go through this project features.
Maintenant, si vous vous êtes familiarisé avec la façon d'utiliser le gestionnaire de modèles et les types d'Overrides dans Joomla, alors, passons en revue les fonctionnalités de ce projet.
* Supported Overrides
* Substitutions supportées
* Diff View
* Affichage des différences
* Override - Quick Icon Notification Plugin
* Override - Quick Icon Notification Plugin (plugin des icônes de notification)
* Installer - Override Plugin
* Mise en place - Contourner un plugin
* Updated - Override History
* Mise à jour - Historique d'Override  


== Types of overrides supported by this feature ==
== Types de substitutions supportées par cette fonctionnalité ==
It does not support Alternative Layout in which filename get renamed to something else and js, css overrides.
Il  ne supporte pas les mises en page alternatives (Alternative Layout) dans laquelle le nom de fichier est renommé en quelque chose d'autre et les overrides de javascript ou css.
This feature supports these override files listed in Create Override tab. Example:  
Cette fonction prend en charge les fichiers de remplacement énumérés dans l'onglet "Créer un override". Exemple :  
[[File:Selection 035-en.png|center|800px]]
[[File:Selection 035-fr.png|center|800px]]


== Diff view between core and override files ==
== Différence de vue entre les fichiers de base et les fichiers d'override ==
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.
Cette fonction montre la différence entre le fichier de base et le fichier modifié. Lorsque vous ouvrez un fichier modifié à éditer, vous pouvez voir deux boutons ou sélecteurs dans le coin supérieur droit de la page si le fichier principal de ce fichier est supprimé.


Buttons like this:  
Des boutons comme ceux-ci :  
[[File:Selection 027-en.png|center|Buttons]]
[[File:Selection 027-fr.png|center|Buttons]]
Here, you can control the hide and show view of diff view and core file view.  
Ici, vous pouvez contrôler l'affichage ou le masquage de la vue des différences et des fichiers de base.
In the next image, you will see the location of the core file and diff view in the template manager.
Dans l'image suivante, vous verrez l'emplacement du fichier de base et la vue diff dans le gestionnaire de template.
[[File:Selection 028-en.png|center|800px]]
[[File:Selection 028-fr.png|center|800px]]
You can not edit the core file.
Vous ne pouvez pas modifier le fichier natif.


=== How diff view is working ===
=== Comment la vue des différence fonctionne ===
When you click on any override file to edit it, it calls a function method <tt>getCoreFile</tt> which receives the two parameters <tt>path</tt> of the override file in the template. Example : <tt>/html/layouts/joomla/form/field/user.php</tt> and the client path of the file whether it belongs to <tt>Site</tt> or <tt>Administrator</tt>. Then, based on these information it returns the path of the core file if it exists.
Lorsque vous cliquez sur un fichier d'override pour l'éditer, il appelle une fonction <tt>getCoreFile</tt> qui reçoit les deux paramètres <tt>path</tt> du fichier de surcharge dans le template. Exemple : <tt>/html/html/layouts/joomla/form/field/user.php</tt> et le chemin client du fichier, qu'il appartienne à <tt>Site</tt> ou <tt>Administrateur</tt>. Ensuite, sur la base de ces informations, il renvoit le chemin du fichier de base s'il existe.
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.
Pour montrer la différence entre les fichiers core et override, nous avons utilisé la bibliothèque [https://github.com/kpdecker/jsdiff jsdiff].


== Override - Quick Icon Notification Plugin ==
Override - Plugin des icônes de notification
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:
Un plugin quick icon notification affiche la notification dans le cpanel et il montre le total des modifications mises à jour de tous les templates. Lorsque des overrides sont mis à jour, l'icône affiche quelque chose comme dans l'exemple ci-dessous :
[[File:Selection 020-en.png|center|Quick Icon|800px]]
[[File:Selection 020-fr.png|center|Quick Icon|800px]]
When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You'll see a new column header '''Overrides''' showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge.  
Lorsque vous cliquez dessus, il vous redirigera vers la liste de vos templates avec leur description. Vous verrez un nouvel en-tête de colonne ''Overrides''' montrant le nombre d'override mis à jour qui appartient au modèle. Si rien n'a été mis à jour dans le template override, il affichera un badge Mis à Jour.  
[[File:Selection 022-en.png|center|Templates|800px]]
[[File:Selection 022-fr.png|center|Templates|800px]]


=== How quick icon is working ===
Vitesse de fonctionnement de l'icône
It makes an AJAX call to the <tt>TemplateController.php</tt> which returns the information and displays a notification when such overrides are updated.
It makes an AJAX call to the <tt>TemplateController.php</tt> which returns the information and displays a notification when such overrides are updated.


'''Warning'''
'''Attention'''


Quick icon notification plugin only works or able to fetch data if <tt>installer/override</tt> plugin is enabled. If <tt>installer/override</tt> is disabled then you will see this error message in quick icon.
Quick icon notification plugin only works or able to fetch data if <tt>installer/override</tt> plugin is enabled. If <tt>installer/override</tt> is disabled then you will see this error message in quick icon.
Line 71: Line 71:
*onJoomlaAfterUpdate
*onJoomlaAfterUpdate
Which collect all overrides core file <tt>md5_file()</tt> hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in <tt>#__templates_overrides</tt> table.
Which collect all overrides core file <tt>md5_file()</tt> hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in <tt>#__templates_overrides</tt> table.


== Updated - Override History ==
== Updated - Override History ==
Line 81: Line 82:
'''Note'''
'''Note'''


These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.
These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.
 
'''Watch the video tutorial to learn how to use this feature.'''
<div class="video-container">
{{#widget:YouTube|id=l0_jFjswObI}}
</div>


   
<noinclude>
<noinclude>
[[Category:Google Summer of Code 2018{{#translation:}}]]
[[Category:Google Summer of Code 2018{{#translation:}}]]

Latest revision as of 16:26, 23 August 2018

GSoC 2018
Documentation
sur la gestion améliorée des substitutions
Joomla! 
4.x

Introduction

Ce projet ajoute une fonction de vérification de mise à jour à Joomla de sorte que si un template est modifié ou mis à jour, il informe l'utilisateur que l'un des fichiers de base de leur template est modifié avec la mise à jour, pour éviter les problèmes de sécurité ou de fonctionnalité et ils peuvent ajuster leur modifications avant que quelqu'un puisse s'en rendre compte.

Lien du dépôt du projet : https://github.com/joomla-projects/gsoc18_override_management

Obtenir une longueur d'avance grâce à une gestion améliorée de l'override

Notes

Si vous êtes nouveau dans le développement Joomla, et ne savent pas grand-chose sur le gestionnaire de modèles et les Overrides, veuillez lire :

  1. Comment utiliser le Gestionnaire de templates
  2. Les substitutions de mise en page dans Joomla

Maintenant, si vous vous êtes familiarisé avec la façon d'utiliser le gestionnaire de modèles et les types d'Overrides dans Joomla, alors, passons en revue les fonctionnalités de ce projet.

  • Substitutions supportées
  • Affichage des différences
  • Override - Quick Icon Notification Plugin (plugin des icônes de notification)
  • Mise en place - Contourner un plugin
  • Mise à jour - Historique d'Override

Types de substitutions supportées par cette fonctionnalité

Il ne supporte pas les mises en page alternatives (Alternative Layout) dans laquelle le nom de fichier est renommé en quelque chose d'autre et les overrides de javascript ou css. Cette fonction prend en charge les fichiers de remplacement énumérés dans l'onglet "Créer un override". Exemple :

File:Selection 035-fr.png

Différence de vue entre les fichiers de base et les fichiers d'override

Cette fonction montre la différence entre le fichier de base et le fichier modifié. Lorsque vous ouvrez un fichier modifié à éditer, vous pouvez voir deux boutons ou sélecteurs dans le coin supérieur droit de la page si le fichier principal de ce fichier est supprimé.

Des boutons comme ceux-ci :

Buttons
Buttons

Ici, vous pouvez contrôler l'affichage ou le masquage de la vue des différences et des fichiers de base. Dans l'image suivante, vous verrez l'emplacement du fichier de base et la vue diff dans le gestionnaire de template.

File:Selection 028-fr.png

Vous ne pouvez pas modifier le fichier natif.

Comment la vue des différence fonctionne

Lorsque vous cliquez sur un fichier d'override pour l'éditer, il appelle une fonction getCoreFile qui reçoit les deux paramètres path du fichier de surcharge dans le template. Exemple : /html/html/layouts/joomla/form/field/user.php et le chemin client du fichier, qu'il appartienne à Site ou Administrateur. Ensuite, sur la base de ces informations, il renvoit le chemin du fichier de base s'il existe. Pour montrer la différence entre les fichiers core et override, nous avons utilisé la bibliothèque jsdiff.

Override - Plugin des icônes de notification Un plugin quick icon notification affiche la notification dans le cpanel et il montre le total des modifications mises à jour de tous les templates. Lorsque des overrides sont mis à jour, l'icône affiche quelque chose comme dans l'exemple ci-dessous :

Quick Icon
Quick Icon

Lorsque vous cliquez dessus, il vous redirigera vers la liste de vos templates avec leur description. Vous verrez un nouvel en-tête de colonne Overrides' montrant le nombre d'override mis à jour qui appartient au modèle. Si rien n'a été mis à jour dans le template override, il affichera un badge Mis à Jour.

Templates
Templates

Vitesse de fonctionnement de l'icône It makes an AJAX call to the TemplateController.php which returns the information and displays a notification when such overrides are updated.

Attention

Quick icon notification plugin only works or able to fetch data if installer/override plugin is enabled. If installer/override is disabled then you will see this error message in quick icon.

Enable
Enable

If you click on the quick icon you will be redirected to the installer/override plugin settings where you can edit the settings of the plugin.

Installer - Override Plugin

This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update.

Installer Override
Installer Override

How installer override plugin is working

This plugin works on 6 events:

  • onExtensionBeforeUpdate
  • onExtensionAfterUpdate
  • onInstallerBeforeInstaller
  • onInstallerAfterInstaller
  • onJoomlaBeforeUpdate
  • onJoomlaAfterUpdate

Which collect all overrides core file md5_file() hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in #__templates_overrides table.


Updated - Override History

You can access this from the Updated Files tab in a template. This is a list view that shows the list of updated overrides which do belongs to that template.

There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).

Note

These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.

Watch the video tutorial to learn how to use this feature.