VMoodle et mes Moodles

VMoodle et mes Moodles

par Jérôme DEMIAUX,
Nombre de réponses : 6
Avatar Traducteurs

Bonjour,

Question spéciale Valery (mais les autres peuvent répondre ...)

J'ai deux Moodle et je souhaiterai éventuellement utilisé le bloc VMoodle pour n'avoir qu'un seul code source à maintenir tout en les mettant en réseau.
Tous les éléments sont déjà place, les moodledata, les bases de données ...

Sachant que normalement on part de zéro, est-ce encore possible ? Sans risque de perte ?

Jérôme.

Moyenne des évaluations  -
En réponse à Jérôme DEMIAUX

Re: VMoodle et mes Moodles

par Valery Fremaux,
Avatar Développeurs de plugins

Tout à fait c'est même une manoeuvre de réintégration assez facile. Elle doit simplement être faite manuellement comme ceci : 

1. S'assurer que les bases de code physiques des deux Moodle sont identiques, ou au moins, que l'une peut compléter l'autre. A c B.

2. Ajouter le bloc VMoodle aux deux pour installer les ressources. (L'un des deux ne les utilisera pas, mais on conserve la cohérence d'intégration).

3. Si tu compte faire des passages d'utilisateur par MNET, tu peux aussi installer le bloc User_Mnet_Hosts qui va avec et qui gère les portes entre plates-formes (via des champs de profil) mieux que le bloc standard Mnet_Hosts qui ne gère des droits que d'une façon très interne et difficile à gérer (exclusions XMLRPC). Si tu fédères en CAS pas besoin.

4. Décider quelle plate-forme doit rester la plate-forme physique (dans mon exemple, B).

5. Ne rien toucher aux bases ni aux moodledata.

6. Placer la plate-forme A en virtualisation de la manière suivante : 



  1. Régler son DocumentRoot dans apache pour pointer sur la base de code B.
  2. Configurer le fichier blocks/vmoodle/vconfig.php sur la base B.
  3. Activer la virtualisation en invoquant blocks/vmoodle/vconfig.php dans le fichier de configuration (avant le setup.php, important !)
  4. Insérer à la main en base de données l'enregistrement de configuration virtuelle dans la table mdl_block_vmoodle de B, définissant A (les infos sont faciles à intuiter). Le champs "mnet" peut valoir 1 pour activer un premier sous-réseau pour A.

Cela suffit pour activer la virtualisation et faire tourner A sur la base de B, avec ses propres réglages, puisque dès lors l'intégralité de la configuration de A est en base de données (base A + enregistrement VMoodle dans B).

Un point particulier peut concerner le problème du "salt" des mots de passe. Si le "salt" est identique, aucun problème. les comptes "admin" internes sont identiques. Si le "salt" était différent, il faut alimenter l'historique des "salt" de B avec le "salt" de A, pour que la résolution des mots de passe de B reconnaisse sans problème ceux de A. Sur 2.7, j'ai vu que ça changeait un peu...

Pour permettre la téléadministration de A par B, il faut néanmoins initier le MNET entre les deux plate-formes et ouvrir les services de téléadministration VMoodle de B sur A (publié sur A, abonné sur B), ainsi que le SSO dans le sens B sur A au moins. Il faut veiller à activer la capacité de connexion distante dans les profils concernés.

Voilà, avec ça ça devrait passer.

Cheers !

Valery 

En réponse à Valery Fremaux

Re: VMoodle et mes Moodles

par Jérôme DEMIAUX,
Avatar Traducteurs

Tout à fait c'est même une manœuvre de réintégration assez facile ...

Heureusement que tu annonces cela avant les 3 pages de manipulations ésotériques qui suivent !

Si l'on effectuait une nouvelle installation de 2 PFs (vierges donc) et que seulement après on venait remplacer les moodledatas par ceux existants ainsi que toutes les tables autres que celles concernant VMoodle, ça fonctionnerait aussi ?
ou alors la virtualisation affecte également d'autres tables ? au quel cas cette méthode perdrait tout son charme.

Jérôme.

En réponse à Jérôme DEMIAUX

Re: VMoodle et mes Moodles

par Valery Fremaux,
Avatar Développeurs de plugins

Bouaaf, 


sont pas ésotériques langue tirée, juste expliquées "précisément", mais pas beaucoup plus compliquées que quelques petites manips techniques d'installation clin d’œil

Sinon oui, la solution que tu donnes fonctionne aussi assez facilement.

Après, le problème des mots de passe reste entier. Moodle se défend de plus en plus contre des manoeuvres trop faciles de portage des utilisateurs... pas pour compliquer la vie aux administrateurs (ce que ça fait évidemment), mais pour renforcer la sécurité en environnement ouvert....

En réponse à Valery Fremaux

Re: VMoodle et mes Moodles

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

A quand un module d'importation qui permettrait de faire un snapshot d'une plateforme non virtualisée et de l'ajouter à une structure VMoodle ? clin d’œil

D'autant que si les instances tournent sur le même serveur, on pourrait imaginer que la manip "super simple" pourrait être scriptée ?! pensif

En réponse à Valery Fremaux

Re: VMoodle et mes Moodles

par Jérôme DEMIAUX,
Avatar Traducteurs

Bon, c'est pas gagné.

J'ai voulu aussi installer le bloc User_Mnet_Hosts.
Dans la fenêtre de mise à jour, Moodle indique qu'il manque les éléments présents sur l'image jointe.

Sont-ils importants et si oui, ou les trouver ?

D'autre part, lors du lancement des commandes présentes dans le panel "gestion des instances" du formulaire "administrer" (capturer ..., définir ..., générer ..) hop, direct page blanche sans message d'erreur.

Pas génant pour l'instant puisque j'avais déjà mes PF et leur configuration mais bon, j'informe ...

Jérôme.

En réponse à Jérôme DEMIAUX

Re: VMoodle et mes Moodles

par Jérôme DEMIAUX,
Avatar Traducteurs

Retours.

Erreurs au lancement du cron général (j'ai remplacé mon chemin par dirroot)

Warning: require_once( dirroot/blocks/vmoodle/classes/Mnet_Peer.class.php): failed to open stream: No such file or directory in dirroot/blocks/vmoodle/mnetcron.php on line 14 Fatal error: require_once(): Failed opening required 'dirroot/blocks/vmoodle/classes/Mnet_Peer.class.php' (include_path='dirroot/lib/zend:/home/web/wwwelp/html/welp2015/lib/pear:.:/usr/share/php:/usr/share/pear') in dirroot/blocks/vmoodle/mnetcron.php on line 14