
Hello tout le monde, voilà un petit script bien pratique : il permet d’installer un module automatiquement sans passer par le Manager. Pratique pour installer WordPress par exemple … J’utilise pour cela l’API Ovh qui permet de lister les modules déjà installés, de les supprimer et bien entendu d’en installer. Vous pourrez installer différents modules, tels que WordPress, Joomla, Spip, etc… […]
Hello tout le monde,
voilà un petit script bien pratique : il permet d’installer un module automatiquement sans passer par le Manager. Pratique pour installer WordPress par exemple …
J’utilise pour cela l’API Ovh qui permet de lister les modules déjà installés, de les supprimer et bien entendu d’en installer.
Vous pourrez installer différents modules, tels que WordPress, Joomla, Spip, etc… Consulter la liste des modules pour plus d’infos.
Voilà le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<?php // Paramètres : login, pass, domaine et le path d'installation $ovh = new OVH('df*****', 'yourpass', 'yoursite.com', '/'); $ovh->deleteOldModules(); $ovh->installModule('WordPress'); class OVH { protected $_ws; protected $_session; protected $_domain; protected $_path; protected $_language; protected $_idsModule; function __construct($login, $pass, $domain, $path, $language = 'fr') { try { $this->_ws = new SoapClient('https://www.ovh.com/soapi/soapi-re-1.22.wsdl'); } catch (Exception $e) { die('WSDL non valide : ' . $e->getMessage()); } try { $this->_session = $this->_ws->login($login, $pass, $language, true); } catch (Exception $e) { die('Login failed : ' . $e->getMessage() . PHP_EOL); } $this->_path = $path; $this->_language = $language; $this->_domain = $domain; $this->_idsModule = array(); } function listModule() { try { $modules = $this->_ws->cmsList($this->_session, $this->_domain); if (empty($modules)) { echo 'Aucun module installé' . PHP_EOL; } else { foreach ($modules as $module) { $this->_idsModule[] = $module->id; } echo 'Liste des modules installés : '; print_r($modules); } } catch (Exception $e) { echo 'Erreur : ' . $e->getMessage(); } } function deleteOldModules() { $this->listModule(); if (!empty($this->_idsModule)) { // Une seule opération de module possible à la fois (dure entre 10 et 30 minutes) $idModule = $this->_idsModule[0]; try { $this->_ws->cmsRemove($this->_session, $idModule); die('Module ' . $idModule . ' désinstallé' . PHP_EOL); } catch (Exception $e) { echo 'Erreur lors de la suppression du module : ' . $e->getMessage() . PHP_EOL; } } } function installModule($module) { try { $this->_ws->cmsInstall($this->_session, $this->_domain, $module, $this->_path, $this->_language); echo 'Le module ' . $module . ' a bien été installé !'; } catch (Exception $e) { echo 'Installation failed : ' . $e->getMessage(); } } } ?> |
Leave Your Response