Cette semaine, je vous propose une petite note d'un développeur amateur (moi), qui est souvent amené à réguler son environnement de développement, c'est-à-dire réinstaller son outil Amp (Apache/Mysql PHO PHP portable) sur mon poste de travail. Comme vous pouvez déjà le remarquer, je travaille avec un outil lui-même portable, le résultat d'une certaine période Covid durant laquelle nous télé-travaillons et durant laquelle je faisais régulièrement des allers-retours entre mes deux postes de travail, et je pense que le fait d'utiliser un outil wamp portable joue énormément dans la suite demain démonstration.

J'entends déjà d'ici vous remarques sur la vieille version de PHP utilisé, mais sur ce point-là, je ne suis pas le décideur.

Le besoin spécifique 

Ma problématique à mettre en place et relativement simple. Lorsque je développe, je suis parfois amené à planter totalement tout mon environnement Joomla ( même moi, je ne suis pas parfait !) et me retrouve à devoir réinstaller un environnement complet (quand j'arrive à retélécharger une nouvelle version 3.9 de Joomla pas toujours acessible).
Vous me direz, ce n'est pas très grave, tout est portable il suffit de copier le système. Je suis entièrement d'accord, mais dans ce cas, nous avons une foule de fichiers à déplacer et c'est la copie de ces petite fichiers qui est très longue (Un gros et unique fichier irait + vite à taille égale).
L'idée première que j'ai eu, c'est de faire un fichier zip. Cela fonctionne, mais cela n'est pas très "propre" et surtout cette manière de faire ne me plaisait pas. 
C'est la raison pour laquelle, je me suis penché sur une deuxième idée, créer un fichier image ISO de mon répertoire. Nous verrons ultérieurement, avoir une image ISO à la place d'un fichier compressé à énormément d'avantages.
 

Création de mon mon ISO

Comme je travaille sur l'environnement Windows, et que je sais que Windows 10 a de nouvelles fonctionnalités de chargement natif de fichier ISO (premier avantage), en recherchant un petit peu, j'ai trouvé qu'il existait des commandes en ligne de commande pour créer des fichiers ISO, le tout fourni par Microsoft.
Bien évidemment, je me suis rué sur la commande et j'ai vite compris que nous étions dans un environnement Microsoft, la commande a planté a plusieurs reprise, certainement à cau de taille d'allocation des clusters. C'est alors que je me suis rappelé que je travaillais sur Windows.... donc rien d'anormal puisque la table d'allocation de Windows a ses propres limites (attention, je dénigre pas, je suis juste objectif)

Deuxième phase, la recherche d'un outil de création d'images ISO

GTgWzsqeImDans ma requête google, j'ai pris soin de rajouter la ligne de commande -Microsoft afin de trouver des résultats d'outils fonctionnels. C'est alors que je suis tombé sur un outil de création d'image ISO, donc non au premier abord m'a fait fuir : WinCDEmu. En effet, je pensais que cet outil n'avait que pour rôle de charger une image ISO dans votre environnement Windows. Mais en revenant dessus et en lisant la doc, que nenni... (RTMF bon sang !)
Une fois cet outil gratuit installé sur ma machine, en faisant un clic droit sur le répertoire global de mon serveur Web portable Apache, j'ai pu créer mon image par la commande du menu contextuel "Build an image ISO"
Lorsque j'ai lancé cette commande, j'ai dû bien entendu attendre un peu, mon serveur web étant assez chargé. N'oublions pas que nous avons un Joomla 3 avec toute une panoplie de modules et de plugins que j'ai commencé à développer, le nombre de fichiers est donc conséquent. Et comme vous le savez, sur un ordinateur, ce sont les temps de chargement depuis un disque dur vers la mémoire qui est relativement long, bien que je sois avec un disque dur SSD.
Une fois la commande lancée, j'ai fait un gros travail d'attente de création de mon image. Je tiens à souligner toutefois, que j'ai eu une petite erreur non bloquante qui est arrivée. En effet, pour une raison que j'ignore, l'erreur affichée correspondait à un problème d'écriture. Cependant, l'image est fonctionnelle.
 

 

 

 

Chargement de mon image

explorer irwDJZwP4zLorsque l'outil m'a spécifique son travail était fini, je me suis empressé de charger mon image. Pour ce faire, j'ai simplement effectué un clic droit sur le fichier ISO créer, et j'ai choisi la commande monter. Cette commande a pour uniquement de charger l'image et de rendre son contenu accessible. Vous devez bien entendu, une fois votre image montée, ne pas oublier de lancer votre serveur wamp.
 
Note
Lorsque j'ai effectué cette action, je me suis aussi posé la question de savoir si je pourrais avoir éventuellement deux serveurs wamp chargé, rien de test, l'autre de Développement. 
Bien entendu cela est totalement possible, si vous n'oubliez pas au moment du chargement de 1 ou 2 autres, ou même en amont de création de vos imaginons, de bien spécifier un port différent à votre serveur web. Nous pourrions éventuellement avoir un serveur de travail sur le port 80, et un autre serveur de test sur le port 8000. Ainsi nous aurions en temps réel de serveurs fonctionnel pour deux environnements différents.
Et pour y avoir déjà fait, je vous conseille fortement d'avoir deux feuilles de style totalement différente afin de bien visualiser sur lequel vous êtes. Oui oui, j'ai déjà fait du dev en prod sans m'en rendre compte...
 
 

Mon Github

slhuilli1's GitHub repositories

  • ongletvide
    Rajoute une icone sir le content de l'onglet contien la constante [[[onglet_vide]]], constante déclarée dans RL content templater
  • cssmodale
    Create un modal window full CSS
  • nl2br
    ce plugin tranforme automatiquement vos retours à la ligne de vos articles en BR grâce à la fonction PHP dédiée nl2br(). - this plugin automatically transforms your newlines of your articles into BR thanks to the dedicated PHP function nl2br().
  • hidenatifs
    Hide from a links data-natifs="..."
  • targetpdf
    Add "_blank" automatically when href ils a pdf file !
  • zippage
    Zipper tous les PDF internes d'une page Joomla Content
  • legendeimg
    No description
  • antispam
    Plugin qui génère une chaine mais avec le symbole @ dans le css, évitant de se faire aspirer son mail !
  • modallightbox
    No description
  • titrearticle
    Remplace affiche le titre de l'article.
  • provisoire
    Lister des documents marqués comme "provisioires"
  • cssmodal
    Plugin Joomla pour lancer une fenetre modale
  • modalpdf
    No description
  • demandeajoutdoc
    This pligin add a mailto: link info Regular Labs Tabs (for intranet whithout spam)
  • natif
    Ce plugin prend en compte ou pas l'affichage des fichiers natifs (word/excel) en sus de liens vers des PDF
  • nouveau
    Un plugin joomla qui affiche une mention "nouveau" sur un lien hypertext avannt une date butoire - A Joomla plugin that displays a “new” mention on a hyperlink before a deadline
  • lastdocsupdates
    Plugin d'affichage des derniers fichiers modifiés dans un répertoire donné
  • noteitv2
    No description
  • NoCache
    No description
  • addIdToHn
    Ce plugin ajoute automatiquement un id calculé (compté) aux balises Hn
  • ReadFirefoxBookmarks
    reading Firefox bookmak with PHP using SQLite library
  • externalcssandlib
    Add external CSS and javascript libraries in your projets
  • qr
    Ce plugins affiche une liste de questions reponses - This plugin for Joomla show a list of questions, when clicked, the answer is showed
  • dataarchives
  • attachments
    No description
  • mod_vacances
    Ce module Joomla affiche les congés français. Basé sur des OpenDatas du minitère de l'éducation nationale
  • noteit
    Ce plugin permet l'ajout de Post it (format graphique) dans un article
  • nbonlineusers
    No description
  • removehtmlcomment
    Delete all html comment in a joomla article
  • rechercheget
    Recherche en GET dans Joomla Content