Table des matières

Intégration des patchs

Qu'est ce qu'un patch ?

Moodle offre de nombreuses manières de contourner ou altérer le comportement de la plate-forme. Malgré toutes les méthodes qui permettent de ne pas altérer la partie standard de moodle. Il existe certaines modificaitons non réductibles qui nécessitent des interventions localisées dans le code standard.

Les inconvénients des patchs

L'inconvénient majeur des patchs est la perte de certaines fonctionnalités ou comportements lors de l'écrasement de la base de code par une mise à jour. La maintenance d'une base de code nécessite alors une maintenance des patchs

L'avantage du patch

Si on ne peut parler “d'avantage” directement, on peut néanmoins donner deux cas de figure où le patch ne peut pas être évité, à moins de renoncer à certains objectifs de fonctionnement dans la plate-forme. L'équation résultante est une équation coût-bénéfice qu'il faut maîtriser. Des bonnes pratiques permettront de réduire les coûts de l'intégration de patchs afin d'en préserver le bénéfice.

Bien gérer les patchs

La protique des patchs est communément détestée par les exploitants, car cela entraîne souvent une certaine “obligation” à connaître le dessous du capot. Il existe cependant un certain nombre de pratiques et d'outillages qui permettent d'améliorer l'équation coût/risque/bénéfices que représente l'usage de patchs “core”.

Les pratiques qui réduisent le problème :

Le packaging des patchs dans les plugins APL

Les plugins APL proposent une description formelle des patchs. Deux répertoires contiennent les patchs et leurs fichiers de référence.

Tous les patchs sont identifiés par une séquence PATCH+ … PATCH-.

Le catalogue de patchs activés

Ce catalogue est fourni par le composant Rapport de patch noyau. Il peut scanner le code du moodle installé à la recherche de marques formelles de patchs et fournir un rapport détaillé des implantations.

Méthodes d'intégration des patchs

Report par comparateur de code

Vous pouvez utiliser un comparateur de code (WinMerge, BeyondCompare, ou autre) pour intégrer les modifications.

Exemples de modifications éligibles.

Exemples de modifications non éligibles.

Il peut exceptionnellement se produire des cas d'incertitude. Les plugins sont révisés pour faire référence aux fichiers les plus récents de chaque version majeure de moodle, Les cas de doutes doivent être rarissimes.

Intégrateur automatisé

La qualification formelle des patchs permet d'envisager un objectif plus ambitieux de pour voir gérer la presque totalité des patchs avec une méthode automatisée de réintégration. Cet outillage est en cours de test et sera proposés à nos clients qui hébergent et construisent leur propre version locale de moodle.

Revenir à l'index