Le LABO

Nouveau Projet - External Website Backup

Écrit par Super Utilisateur.

Depuis plus de 15 ans de dev. de sites internet, j'ai à ma connaissance aucuns outils simple qui permettrait la maintenance de sites internet, leurs sauvegarde et leurs restaurations automatique.

Par simple j'entends une installation, une utilisation libre sans aucuns framework ou logiciels supplémentaire car il y en a qui me disent :

"Avec du perl ou du Ruby c'est super facile."

Alors je leur répond :

"Ben oui et quand j'ai juste un espace de stockage et que j'ai aucuns accès ssh ou serveur je fais comment ?"

et la réponse la plus navrante :

"Prend toi un petit serveur !!"

Et ben non je refuse.

Je fais des sites internet en HTML PHP MySQL avec du JavaScript alors pourquoi n'existe t il pas de solution dans ces langages ? Il en a existé un jMonitoring qui permettait dans un site Joomla 1.5 d'avoir les listes des sites internet (Joomla) en production, leur versions, de vérifier qu'il fonctionnaient et qu'ils étaient à jour.

Mon constat

Je veux avoir mon site perso qui surveille les sites que j'ai conçu (et pas que du Joomla), qui en fais des sauvegardes et qui permettrait éventuellement de vérifier qu'ils soient toujours à jours. dans ce principe, une application web qui aurait ses fonctionnalité serait un outil essentiel pour les concepteurs web et web agency.

Actuellement, quels solutions avons nous ?

Dans le cadre où nous concevons plusieurs sites et être certain d'avoir une sauvegarde fonctionnelle avec fichiers et base de données.

Soit l'hébergeur à une solution gratuite ou payante et dans la plupart des cas aucunes solutions.
Qu'avons nous alors comme solutions ?
Faire des scripts Linux pour automatiser les sauvegardes (si l'on à accès en SSH au serveur), ou les faire manuellement et régulièrement mais cela est une perte de temps énorme dès lors que l'on a à sa charge plus de 70 sites internet en productions. Sous Joomla, nous avons akeeba Backup qui permet de faire une sauvegarde automatiquement et uniquement pour le site internet où il est installé.  mais comment faire lorsque dans les 70 sites nous avons 20% sous Wordpress, 5% sous Prestashop et 2% sur d'autres CMS?

Aller, je m'y colle.

En ce moment je développe cette application Joomla "External Website Backup" pour Joomla 3 qui permettra de lister mes sites, d'y accéder par FTP, d'en faire une sauvegarde.
Je vois déjà des petits malins qui me diront :

"Mais bien sûr, et ta base de données !!! Tu fais comment pour la sauvegarder ?"

Et ben c'est pas compliqué, je couple l'accès FTP avec des accès HTML/ PHP sur le serveur ciblé. Ce qui me permet aussi de gagner beaucoup de temps en accès. Dans le principe EWB va dans un premier temps tester les informations du site à savoir :

  1. Tester que l'url est valide.
  2. Tester que les informations du FTP sont valides
  3. Test que l'insertion, et la suppression de fichier par FTP soit valides.
  4. Tester qu'un fichier déposé par FTP soit accessible par URL et lisible.
  5. Si le point 1 - 2 - 3 et 4 sont valables, j'injecte par FTP un fichier PHP avec les données d'accès et me liste les informations complètes de la version PHP MySQL et si il y a un CMS du type Joomla - Wordpress - Drupal ou Prestahop et leur version, je teste l'accès MySQL.
  6. Permettre d'exclure certains dossiers inutile à la sauvegarde.
  7. Permettra la sauvegarde de base de données suivant le préfixe.

Si les étapes 2 - 3 fonctionnent et que les autres étapes ne sont pas valables, l'on peut encore sauvegarder son site uniquement par FTP.

Cerise sur le gâteau, le couplage FTP et PHP à distance permet de gagner énormément de temps de sauvegarde et surtout de temps de charge serveur. Je souhaite aussi que mon composant EWB gère les sauvegardes incrémentale qui permet d'avoir une sauvegarde complète puis des sauvegardes des fichiers qui ont étés modifiés et apparus depuis la dernière sauvegarde.
En PHP, le site internet ciblé sera compressé puis envoyé par FTP dans un second temps, au choix sur un FTP distant ou sur le site où EWB est installé. Si nous avons la sauvegarde incrémentale et une compression de ces fichiers du site, une sauvegarde d'un site marchand peut ce faire en quelques minutes au lieu de plusieurs dizaine suivant l'importance du site. Le gain de ressources sera je pense très apprécié par les systèmes et utilisateurs.

Dans le fonctionnement FTP Uniquement, j'aurai tout de même la possibilité de faire une sauvegarde incrémentale mais la compression ce fera dans un second temps après que les fichiers soient téléchargés sur le site où le composant EWB sera installé.

Aujourd'hui le projet est à 70% de sa finalité et il y aura encore à vérifier les BUGs et voir pour un affichage simple et compréhensif. Aussi ce projet une fois terminé, il y aura une version minimal qui sera à usage personnelle et gratuite et une version payante qui aura toutes les fonctionnalités. Avec ce projet, je lance mon entreprise et j'ai déjà de nombreux projets à produire.

Autres menus

logo

Création d'applications PHP

Copyrights


Tous droits réservés - YannickTanguy.com - 2012/17
Graphiste Designer & développeur de site internet depuis 1997