Bonjour à tous,

je suis en train de développer une solution PHP qui devra gérer des modules additionnels.
La gestion des modules (activation, desactivation) est mise en place.
Il me reste maintenant à mettre en place un système permettant d'installer et de mettre à jour ces modules en automatique.

Mais j'avoue que je n'ai jamais mis les pieds dans ce genre de système et j'en appelle à votre expérience afin de ne pas partir dans la mauvaise direction.

Voila ce que j'ai fait :
- j'ai un script sur mon serveur de maj qui renvoi le numéro de la dernière version disponible.
- sur mon appli, mon script m'indique si mon module est à jour ou si une nouvelle version est disponible (ou si le serveur de mise à jour n'est pas dispo)

Ce que je pense faire pour les maj :
- mémorisation de la version d'origine du module installé
- téléchargement du zip du module dans un dossier temporaire
- extraction dans un dossier temporaire
- copie des fichiers extraits dans leur emplacement définitif
- lancement d'un fichier maj.php (contenu dans le zip) qui executera une maj de la BDD en fonction de la version de départ installée.
- effacement des fichiers temporaires

Pour l'installation d'un nouveau module, le principe est le même sauf que cela lance un fichier install.php au lieu du update.php.


L'idée serait ensuite de faire un système permettant de mettre à jour l'intégralité de l'appli (core + modules additionnels) suivant le même principe.


Dites-moi ce que vous en pensez et si vous avez des astuces ou si vous connaissez des pièges à éviter.