jeudi 26 juin 2008

Mode opératoire pour copier notre site CMS aiki.tendo sur une clef USB

Dans un de mes premiers posts (ici), j'avais mentionné une petite merveille 'uniform server for Joomla'. Je l'utilise encore pour tester les extensions Joomla. Par contre, le contenu de cet environnement de test ne reflètait plus du tout celui du site réel. Les installations/désinstallations successives des extensions et plugins, les changements dans l'agencement des menus avaient rendu obligatoire (et salutaire) une re-synchronisation avec le site en ligne. Il fallait donc recopier le site sur notre environnement local.

Etapes.
  • Avec l'outil d'administration phpmyadmin de chez Free (http://sql.free.fr/phpMyAdmin/), on exporte l'intégralité de la base (paramètres par défaut, format compatibilité mysql4)
  • Faire une copie du fichier 'configuration.php' joomla de l"environnement local dans un répertoire extérieur.
  • Supprimer le répertoire local 'tendoryu'.
  • Copier le répertoire 'tendoryu' 'synchronisé' de notre poste Linux sur la clef USB. (300mo)
  • Copier finalement le fichier 'configuration.php' préalablement copié de tout à l'heure.
A partir de ce stade, on ne travaille que sur la partie locale de la clef (sous Windows)
Sur le site en exploitation, les vidéos sont stockées sur le site 'Youtube.com'. Pour obtenir une portabilité du site, il faut modifier tous les liens vers les fichiers videos Youtube, vers des fichiers locaux. Pour obtenir les vidéos Youtube du site, il suffit de se connecter avec son propre compte Youtube et à l'aide de l'extension Firefox 'DownloadHelper' sauvegarder en local les videos, une par une. (màj 01/08/2008: en ligne de commande sur système ubuntu, on peut utiliser youtube-dl mode operatoire ici)

  • Copier les videos *.flv dans le sous-répertoire "tendoryu/images/Stories/videos"
  • Lancer les services locaux de la clef (demarrer_serveur.exe)
  • Dézipper le fichier SQL dans un répertoire de travail.
  • Lancer le script Perl (listing plus bas) "migre-Aikitendo2Uniform.pl"
    comme suit:

    perl migre-Aikitendo2Uniform.pl aiki_tendo.sql > aiki_tendo-local.sql

  • A l'aide de l'outil local 'phpmyadmin', effacer toutes les tables 'mysql' de la base Joomla.
  • En ligne de commande lancer l'importation de la base.
    (éviter de la faire avec phpmyadmin, çà plante grave. lol).

    \Apps\Tendoryu\udrive\usr\local\mysql\bin\mysql -uroot -pxxx joomla \
    < aiki_tendo-local.sql

Voilà, voilà. Ne reste plus qu'à visualiser le travail en surfant sur le site en local.
Dernière manipulation dans la console d'administration Joomla:
  • Désactiver les plugins des statistiques qui font appel à des services internet.
    A savoir:
    - PhpmyVisites Tracker
    - JoomlaWatch
    - GoogleAnalytics Tracking module
    - Visitor map
    - Ultimate Social bookmarking plugin

Remarques:
* Les vidéos devraient être disponibles sans accès internet.
* Les cartes 'googlemaps' restent inaccessibles par contre si on n'a pas d'accès internet. Sic.


Voici le script Perl 'migre-Aikitendo2Uniform.pl':

#!/bin/perl -w
my @regextab=();
sub LireConfigRegexFile() {
my ($r,$s);
foreach ( <DATA> ) {
chomp;
next if ( /^#/ );
next if ( /^$/ );
($r,$s)=split( / / );
$r=quotemeta($r);
push @regextab, [$r, $s];
}
close DATA;
}
sub ChercherEtRemplacer() {
my ($chaine) =@_;
foreach my $a (@regextab) {
while ( $chaine =~ m/$a->[0]/) {
# On remplace le motif trouvéans la chaine
$chaine="$`" . $a->[1] . "$'" ;
}
}
return $chaine;
}
&LireConfigRegexFile();
while (<>) {
print &ChercherEtRemplacer($_);
}
exit;
__DATA__
http://fr.youtube.com/watch?v=ZTYejei-1rk Shimizu-Kenji-aikidowolf-01.flv
http://fr.youtube.com/watch?v=WwBugmzyCx4 Shimizu_Sensei_Ozoir_La_Ferriere_France_16_03_2008_01_.flv
http://fr.youtube.com/watch?v=QP_z3pAGsfk Shimizu_Sensei_Ozoir_La_Ferriere_France_16_03_2008_02_.flv
http://fr.youtube.com/watch?v=TTBUzwIabYU Shimizu_Sensei_Ozoir_La_Ferriere_France_03-18-2008.flv
http://fr.youtube.com/watch?v=mS1qoA5IMp4 Aikido-Kenji-Shimizu-Sensei-coso55-01.flv
http://fr.youtube.com/watch?v=kQaGeO6ppe8 20080520-000.mp4
http://fr.youtube.com/watch?v=F2YVdJ-8J6k aikido-Tendoryu-Pascal-Olivier--Cyril-Hamon-training-01.flv
http://fr.youtube.com/watch?v=d-_fi9ZFn4Y aikido-Tendoryu-Pascal-Olivier--training-20080531-01.flv
http://fr.youtube.com/watch?v=pEUdCAKjgN8 aikido-Tendoryu-Pascal-Olivier--training-20080531-02.flv
http://fr.youtube.com/watch?v=oSxEwLPbNuM aikido-Tendoryu-Pascal-Olivier--training-20080531-03.flv
http://fr.youtube.com/watch?v=c2lWIeRyKlM aikido-Tendoryu-Pascal-Olivier--training-20080531-04.flv
http://fr.youtube.com/watch?v=FyfRxotg4wc aikido-Tendoryu-Pascal-Olivier--training-20080531-05.flv
http://fr.youtube.com/watch?v=S-7lSTW3q-A aikido-Tendoryu-Pascal-Olivier--training-20080531-06.flv
http://fr.youtube.com/watch?v=_-ttLywxAf0 aikido-Tendoryu-Pascal-Olivier--training-20080531-08.flv
http://fr.youtube.com/watch?v=4lWHhElN5Zg aikido-Tendoryu-Pascal-Olivier--training-20080531-07.flv
http://fr.youtube.com/watch?v=l-SZbXQU3ls Aikido_tendoryu_Pascal_Olivier_training_011.flv

http://aiki.tendo.free.fr/ http://localhost/
http://aiki.tendo.free.fr http://localhost
/mnt/164/sda/1/d/aiki.tendo/tendoryu/attachments/ W:\\www\\tendoryu\\attachments\\
/mnt/164/sda/1/d/aiki.tendo/ W:\\www\\tendoryu\\


Remarque:
Le language Perl est très efficace pour 'jouer' avec les fichiers de type texte. Le script fonctionne sur Windows, comme sur Linux. Portabilité respectée.
On peut sans doute mieux faire, mais c'est suffisant pour moi. ('quick and dirty script')

L'environnement complet (photos et videos incluses) occupe 370 mega-octets.
Une petite clef USB de 512mo suffit.
Jusqu'à quand?

Aucun commentaire: