{{ :logo-apl.png?nolink |}} ===== Tool Delivery : Opérations de livraison ===== {{ :tooldelivery:scrren_delivery_tools_fr.jpg?600 |}} Le processus de livraison suit une logique en 4 étapes : * Sécurisation de la version d'origine. * Basculement en mode "livraison". * Mise à jour des fichiers source. * Basculement effectif de la livraison : L'exécution de Moodle bascule à nouveau sur la version de production modifiée. Les mises à jour logiques peuvent être effectuées. Dans 95% des cas, un basculement d'urgence sur la version sécurisée antérieure peut permettre de récupérer le service en cas d'erreur majeure. ==== Détail du processus ==== === Synchronisation de sécurité === La version actuellement en service doit être synchronisée avec une version temporaire "de sécurité" qui continuera a être exécutée jusqu'à la fin de la préparation de la livraison. L'outil de synchronisation gère deux copies : * Une première copie de sauvegarde assure le service en mode livraison à la place du code de production standard. * Une deuxième copie de sécurité permet d'avoir une troisième copie de sauvegarde, par exemple lors d'une session de livraison complexe demandant plusieurs étapes. chemin du composant : Il est possible de faire des synchronisation partielles sur une seule partie de la base de code Moodle en indiquant ici iun chemin relatif (par exemple : 'mod' ne synchronisera que le répertoire des modules d'activité). === Basculement en livraison === Le service Moodle continue à être fourni à partir de la version temporaire sécurisée. Cette version reste stable pendant toute la phase de modification et de mise à jour du code Moodle de la version de production. === Mise à jour des fichiers source === Utilisez ces outils pour déclencher les commandes de mise à jour (update) des fichiers selon l'outil de versionnement choisi dans la configuration. Vous pouvez effectuer plusieurs mises à jour partielles successives en renseignant un chemin relatif vers un composant ou une arborescence précise. === Rétablissement en production === C'est l'opération la plus délicate, car vous poussez en production le nouveau code qui a été livré. L'opération de livraison vous demandera certainement de réaliser les mises à jour logiques de Moodle (Administration > Notifications) Il est possible alors que des dysfonctionnements apparaissent à ce moment, principalement suite à : * L'oubli de livraison de certains fichiers * Une erreur de syntaxe générée par une modification de dernière minute * Une incompatibilité entre le nouveau code et certains états de données d'usage dans la plate-forme Ce code peut conduire à la modification des structures de données dans la base et de façon parfois irréversible (les modifications apportées ne sont plus rétrocompatibles avec l'ancien code PHP de Moodle). Cette situation reste cependant rare. [[ToolDelivery|Revenir à l'index du composant]]