vendredi 3 octobre 2008

Joomlaspan! : Google Translation Module for Joomla

Effet secondaire, de la mise en place de Joom!fish, j'ai installé un module Joomla complémentaire nommé 'Joomlaspan!'.
Il permet de 'traduire', à la volée et automatiquement, le site dans une dizaine de langues.
Le résultat est assez moyen mais l'internaute disposera dans sa langue natale d'un aperçu approximatif sur le contenu d'un article qui n'a pas été traduit en langue anglaise. (il y en a, sic)

Et puis utiliser la langue bulgare ou chinoise dans Joom!fish est hors de ma portée, de toute manière. lol

Le module fonctionne mieux quand le site original est en langue anglaise. Pas de chance, la langue native est le français. Une petite gymnastiques est alors nécessaire.

Mode d'emploi:
  • Cliquer sur l'icone 'union-jack'. (activation de la traduction du site par Joom!fish)
  • Choisir une langue proposée par Google
  • Cliquer sur 'Traduire'.

A noter! L'URL n'est pas celle du site 'aiki.tendo.free.fr'.
Méfiance donc quand, par la suite, on sélectionnera une autre langue.
Il faudra préalablement revenir sur le site d'origine.

Cordialement

mardi 23 septembre 2008

Joom!fish

En consultant les statistiques des connexions sur le site, j'ai très vite constaté qu'il y a autant d'internautes métropolitains que d'étrangers. Les origines des connections sont variées.
En majorité les visiteurs viennent d'Allemagne où l'école Tendoryu est bien présente.
A noter également: des visites régulières de l'archipel du soleil levant: le Japon. Avec la certitude d'une connaissance de notre maitre d'aikido Pascal OLIVIER, qui a vécu longtemps au Japon.
Je ne citerai pas plus les provenances. Cela fera l'objet d'un mémo sur la fréquentation du site, plus tard.

Cette introduction m'amène à vous parler de Joomfish. C'est une extension qui permet d'ajouter un contenu multilingue à un site web bâti sur Joomla.
J'ai attendu patiemment la sortie de la version 'Joom!Fish 2.0 RC', huit mois après la sortie de Joomla 1.5.0. L'attente a été longue mais l'extension est devenue assez stable pour une mise en production.

Pour l'instant, seule la traduction en langue anglaise est en cours. Tout élément contenu dans la base de données mySql est susceptible d'être traduit par Joom!Fish. Et cela fait beaucoup d'éléments, croyez moi. (menus, categories, articles, sondages, contacts,...)

Q: Les anciens articles doivent-ils être également traduits?
R: Certains articles méritent de l'être, mais pas tous car certains sont peu visités ou obsolètes.

Bref, Joom!Fish permettra facilement de faciliter la visite de nos chers internautes étrangers.
La langue de Shakespeare est devenue incontournable. Un esperanto par défaut.

mardi 12 août 2008

Mise à jour du plugin DENVIDEO

Cet excellent plugin est sorti aujourd'hui dans une version stable 3.0.
De nouveaux formats de videos ont été intégrés. Une contrainte levée, j'étais obligé de convertir certaines de mes videos. Rien d'exceptionnel. Cela ne sera plus nécessaire maintenant.
Site: denvideo

jeudi 31 juillet 2008

Mise en place d'un "Livre d'or"

A titre expérimental, j'ai installé la dernière version du livre d'or de l'équipe allemande d' easy-joomla: easybook 2.0 rc3.
Jusqu'alors, les visiteurs ne pouvaient pas laisser leurs impressions du site. Les fameux garde-fous 'captcha' n'étaient pas intégrés aux extensions testées. Ca m'avait refroidi.
La dernière version easybook semble fonctionner correctement sur le site de Free.
Le Captcha sélectionné demande au visiteur un rapide calcul (une addition de deux nombres). Sympathique comme méthode. A vos calculettes... ;-)

Mise a jour Joomla 1.5.5

Aucun problème de migration de la 1.5.4 à la 1.5.5.
Trois semaines ses ont écoulées depuis la dernière mise à jour. La fréquence des releases Joomla s'accélèrent.
Les correctifs joomla ne concernent pas à priori le site Tendoryu.

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?

lundi 23 juin 2008

Website is back online...

Les administrateurs de chez Free ont travaillé d'arrache-pied pour remettre en place les sites personnels du serveur '130'. Dimanche après-midi, l'accès à notre site était donc revenu à la normale, après restauration (ou migration) des fichiers sur un autre serveur (le '164'). Les admins ont très certainement réalisés les manipulations de leur domicile par télé-travail. A moins que chez Free, ils travaillent sept jours sur sept. Je remercie l'équipe Yohan (cellule d'admins) en tout cas. Service impeccable pour un service gratuit aux particuliers.

jeudi 19 juin 2008

Site Web indisponible...

En se connectant sur le site aiki.tendo.free.fr hier soir après 22h00, j'ai eu le message de Free.fr peu convaincant:
Erreur 503 - Service indisponible
J'ai laissé passer la nuit. Il est vrai que la gestion d'un hébergement de sites web impose parfois une inaccessibilité temporaire. C'est compréhensible.
Ce matin, toujours rien. Alors j'ai écrit un post sur le forum de Free 'proxad.free.services.pagesperso' sur le newsgroup 'news.free.fr' du FAI Free:

////////////////////////////////////
Sujet: Erreur 503 - Service indisponible (page personnelle)
Corps:
Compte: aiki.tendo.free.fr
Site: http://aiki.tendo.free.fr

Je n'ai pas pu me connecter sur le site depuis hier-soir vers 22h00.
Ce matin, la situation est identique. (à 10h00)

- L'accès FTP est également impossible. (login incorrect)
- Je n'ai eu aucun courriel me signalant un blocage administratif des admins YOHAN.
- L'accès à la base d'administration phpmyadmin est normale. La base est cohérente.
- L'accès 'phpmyvisites' de Free est possible.

Hypothèses:

1- Blocage volontaire d'accès au site par les admins de chez Free. Suite failles sécurité, phishings,...
(mauvaise nouvelle pour moi)

2- Incident matériel sur le serveur.
point de montage: /mnt/130/sda/1/d/aiki.tendo (info à l'install Joomla 1.5 en mars dernier)

3- Migration en cours de sites par les admins de Free.

4- Arrêt du serveur où le site est hébergé.
Le compte a été créé, il y a très très longtemps et a été très peu utilisé depuis quelques années.
Le serveur pourrait être 'déclassé' ou 'réformé'. Pas impossible.

5- Autres...



Historique:
Le site hébergeait quelques pages statiques HTML depuis plusieurs années.
En février, il a été décidé de 'moderniser' le site en migrant vers le CMS Joomla 1.5.
Le développement s'est stabilisé il y a un mois environ.
Quelques rares composants joomla sont mises à jour de temps en temps. (1 à 2 fois/mois). Aucun développement spécifique.
Les accès sont strictement limités à deux admins joomla.
Pas de forums, pas de commentaires pour les articles, pas d'inscription libre.
(failles potentiellement limitées).
Possibilité d'envoi emails par formulaire sous Joomla. (protection par captcha). (a priori personne ne l'a utilisé).
La fréquence des visites est très faible (voir phpmyvisites pour les admins de Free). 20 visites/jour, 4 visiteurs uniques/jour.
Pas d'hébergement de videos ou de fichiers volumineux.
Le site est régulièrement visité par des pratiquants d'aikidoka étrangers à toute heure. (fuseau horaire)

Voilà, voilà. Je pense avoir été exhaustif.
Aucun incident n'a été constaté depuis la mise en place du nouveau site en février dernier.

Si un admin YOHAN peut s'intéresser quelques minutes à cet incident.

Merci par avance.

Cordialement
////////////////////////////////////

La réponse n'a pas tardé. Deux minutes plus tard, on m'explique que le serveur numéroté '130' est tombé en panne à 22:05 la veille.

perso130 , 1/3 HS...
En reparation.
(etais deja en cours de migration pour prevenir la casse, mais... )

Les administrateurs de Free travaillent au rétablissement du service.

Sic. Il faut attendre. Patience et zen attitude...

mardi 17 juin 2008

Le poids de la vidéo...

"Les images valent mieux qu'un long discours".

Une séquence animée est encore meilleure pour l'internaute visiteur.
Par contre, c'est un peu le cauchemar pour le gestionnaire du site Web.
En effet, la taille des vidéos devient très vite importante si la qualité d'image est, un petit soit peu, correcte. Un DVD n'occupe pas moins de 4 giga-octets; un film DIVX pèse 700 mega-octets, un clip: une trentaine de mega-octets.
Le visiteur devra faire voeux de patience pour pouvoir télécharger le film sur son ordinateur et enfin le visualiser. Les connections rapides comme l'ADSL deviennent alors vivement conseillées.
Autre problème, l'hébergeur du site limite bien souvent la place disque. Et bien souvent, sur les sites payants, le volume du traffic est limité pour les premières offres d'hébergement.

Avec les contraintes citées çi-dessus, j'ai opté pour un hébergement externe des vidéos chez youtube.fr . Les vidéos 'uploadées' sont par contre 'retravaillées' après transfert par Youtube.
La qualité est généralement bien moindre que celle de la vidéo originale. Mais bon, il faut bien faire un compromis entre la taille de la vidéo et la qualité. Bref, ne pas faire trop attendre l'internaute qui veut 'consommer' la vidéo rapidement. Une attente excessive et il passera son chemin.

La solution 'youtube' est donc un bon compromis pour les clips vidéos de quelques minutes. Par contre, faire partager un court-métrage ou un film DVD est impossible avec Youtube. J'ai donc cherché une solution de partage de fichiers.

Les critères:
  • gros volume
  • accès facile
  • pas de quotas d'upload, ni de download
  • possibilité de partage de fichiers et/ou répertoires via un navigateur web
  • gratuité... (important!!)
Pas facile? En cherchant on trouve Adrive.com qui correspond parfaitement à notre attente.
50 Go de disque par compte. gratuitement. Bigre, c'est fort!

Essayé et adopté. Cà fonctionne parfaitement.
Il ne reste qu'à mettre en place le système en production. Les vidéos des séances d'aïkido seront prochainement téléchargeables directement des articles du site http://aiki.tendo.free.fr en complément des clips 'youtube'.

astalavista.

lundi 26 mai 2008

Bloggeur itinérant... (logiciel)

Cet article est la suite du précédent qui s'est focalisé sur le matériel, l'outil pour permettre de saisir le contenu du site Web 'Tendoryu'. Nous allons aborder ici, la partie logicielle, le programme informatique qui enregistrera les articles sur le serveur Web.

Je pars du postulat que que le le rédacteur a opté pour un ordinateur portable de type PC. (avec un bon clavier)
Le système d'exploitation d'un ordinateur influe sur le choix des programmes utilisés par la suite. Beaucoup de programmes sont malheureusement uniquement disponibles sur les systèmes Microsoft: série Windows 2000, XP et Vista. Pourtant des alternatives existent, notamment avec un système Linux. L'ultra-portable ASUS EEE PC4G en est un exemple.
Afin de ne pas enfermer l'utilisateur dans une querelle de clochés improductive entre les partisants et les détracteurs Windows/Linux, je me suis borné à chercher une solution qui satisfait les deux camps. Une extension Firefox appelée scribefire fonctionne convenablement et donne, ma foi, de bons résultats.
Firefox étant disponible sur différents systèmes d'exploitation, le couple Firefox/Scribefire est donc extrêmement portable.
De plus le développement de l'extension est vivace. De nouvelles fonctionnalités sont ajoutées très régulièrement. L'extension devient peu à peu un outil de choix, incontournable, dans le petit monde de la blogosphère.
Le système CMS Joomla permet justement l'ouverture à des systèmes distants. Pourtant l'outil intégré par défaut ne me donnait pas entièrement satisfaction avec Scribefire. J'ai donc cherché sur le Net. Mon choix s'est arrêté sur une extension qui nous vient du pays du soleil levant: le Japon. L'extension se nomme 'XML-RPC - MovableType API'.
Une démonstration video est accessible sur Youtube ici.

Bien sûr, d'autres systèmes XML-RPC existent. Mais sans doute pas aussi simple d'accès et portable d'un système d'exploitation à l'autre. La solution décrite ici doit être confirmée dans les faits. Avec l'expérience, on pourra savoir si le couple bloc-note/crayon courbe l'échine au couple Firefox/ScribeFire.

Bloggeur itinérant... (matériel)

Plusieurs techniques permettent d'alimenter en articles un site Joomla.
  1. Se connecter directement sur le site Joomla avec un navigateur et écrire un article avec l'éditeur installé par défaut, est la méthode la plus simple. En contrepartie, cela suppose que le rédacteur reste connecté le temps de la composition de l'article.

  2. La seconde méthode consiste à rédiger les articles à l'aide d'un outil quelconque que le rédacteur maitrise bien et qui n'a pas (ou peu) de rapport avec Joomla. Cela peut-être un éditeur de texte simple (type notepad), ou un traitement de texte (word, openoffice,etc...) ou un éditeur HTML (notepad++, quanta+,...). Peu importe l'outil utilisé, la rédaction en mode déconnecté est possible et l'accès à un réseau internet est devenu inutile, le temps de la composition des articles.
    Dans un second temps, le rédacteur se connecte, via internet, sur le site Joomla et par une suite de copier/coller il crée les articles Joomla comme au point précédent.

  3. La troisième méthode consiste à utiliser un logiciel qui permette la composition des articles hors-ligne et de synchroniser avec le site Joomla dès que l'on connecte son appareil sur le réseau internet. (par une borne public WIFI par exemple).
    De même, le rédacteur peut copier en local sur son ordinateur, les articles existants, les modifie au fil de l'eau, puis plus tard, à l'occasion, les synchronisera avec ceux du site Joomla.
Les points 2 et 3 permettent l'itinérance. Le rédacteur est ainsi libre de composer ses articles quand bon lui semble sans être fatalement lié au réseau mondial Internet. Il peut utiliser son téléphone portable, smartphone, blackberry, ou mieux son ordinateur portable. Les solutions sont multiples.

Voici les contraintes d'une telle solution matérielle.
  • Alimentation:
    Tout système électrique avec une source d'alimentation autonome. Au pire, alimentation par la prise d'allume-cigare d'un véhicule.
  • Autonomie:
    Trois heures sur batterie est souhaitable.
  • Confort:
    Essayer de rédiger un article d'une vingtaine de lignes avec un téléphone, un smartphone ou un blackberry. Un PC s'impose. Hu..
  • Transportabilité: pouvoir rédiger un article dans une voiture, un café, dans un parc municipal, dans son jardin, en voyage, etc... Le matériel se doit d'être léger. Un kilo environ, pas plus. Petit et se faire discret.
  • Souplesse:
    Démarrer le système et vingt secondes plus tard, rédiger l'article.
    La phase d'arrêt doit être inférieure à dix secondes.
  • Ergonomie:
    Démarrer et arrêter simplement par un bouton. Facile à prendre en main.
  • Bon marché:
    Les outils high-tech se paient au prix fort. On cherche l'exception.
La catégorie des PC ultra-portable répond clairement aux besoins.
Démocratisé depuis la sortie commerciale fin décembre 2007, le petit ASUS EEE PC701 coûte moins de 300€ TTC en France.
Seul sur ce marché 'low-cost', ASUS bouge les lignes commerciales de ses concurrents. Mieux vaut y regarder à deux fois avant d'arrêter un choix.
http://www.eee-pc.fr/

Du coté logiciel, la solution actuellement la plus élégante est une extension Firefox au doux nom de Scribefire. C'est l'objet d'un futur article.

PS:
J'ai laissé de coté la solution la plus économique, la plus souple, la plus élémentaire. Un bloc-note papier et un crayon. Les articles seront dactylographiés plus tard (par quelqu'un d'autre, même). On peut également faxer la note, ou la transmettre par courrier postal. Un must!
Bon, ok, je sors...

mardi 13 mai 2008

Captcha-email...

J'ai intégré récemment une extension Joomla qui se substitue à l'extension 'COM_CONTACT' fournie par défaut lors de l'installation par Joomla.
L'auteur, un italien, Massimo Giagnoni, a ajouté certains champs dans la fiche de contact (principalement pour des messageries instantanées) et une zone Captcha pour les envois d'emails. Cette solution fonctionne parfaitement chez l'hébergeur Free. Le Captcha généré est, de plus, visible et agréable pour nos yeux d'humains. Ce qui n'est pas un mal.
La précédente solution demandait des manipulations assez complexes lors de chaque mise à jour de Joomla. Les risques d'erreurs de mise à jour n'étaient pas nuls.
Cette extension est donc adoptée avec un grand plaisir.
Nom de cette extension: Qcontacts.

jeudi 24 avril 2008

Google analytics...

Depuis hier soir, l'extension Joomla 'Google analytics tracking module' est activée et permet de pister les habitudes des internautes de notre site.
L'outil PhpMyVisites de Free, déjà mis en place, fournit des résultats comparables. Pourquoi donc avoir activé un second système de statistiques?

Réponse:
L'outil PhpMyVisites de Free ne collecte les informations que pour un site hébergé chez Free (évidemment).
Si un jour le site est hébergé ailleurs sur le Net alors cet outil sera indisponible. Les données collectées seront perdues. (il est toujours possible d'exporter les données mais il faut les réimporter dans un autre système et c'est pas gagné d'avance)
'Google analytics' est un outil généraliste mais néanmoins complet. Il suffit d'insérer dans les pages HTML du site, un petit script Javascript. L'extension joomla s'en charge fort bien. L'inscription et l'utilisation sont gratuites.
La qualité des rapports est (aujourd'hui) bien meilleure que PhpMyVisites et fait la part belle aux nouvelles technologies Ajax chères au Web 2.0. Convivialité exemplaire. Le tableau de bord est paramétrable. Google met la barre très haut.

Dans quelques mois, on désactivera un des deux systèmes mis en place.
La sélection darwinienne existe aussi en informatique.

vendredi 18 avril 2008

L'art de se faire Google-iser

J'ai pris l'habitude d'utiliser le moteur de recherche Google pour quasiment toutes mes recherches sur Internet. Le navigateur Firefox dispose même d'une zone de recherche qui pointe évidemment sur Google. CTRL+K quand tu nous tiens.
Il est alors évident que le site doit être correctement référencé sur les moteurs de recherche. Je me suis donc focalisé sur Google, moteur le plus populaire en France, et connu mondialement. Leader mondial même si la concurrence existe.

La dernière visite des googlebots date du 11 avril, soit quelques jours après la mise en exploitation du site le 2 avril 2008. La précédente visite datait du 3 mars 2008. Le site n'était jusqu'alors que peu mis à jour. Google ne passait donc pas souvent. D'où viennent ces informations? De Google même qui met gracieusement un portail web https://www.google.com/webmasters/tools/ pour aider le référencement.
Ainsi on peut détecter les anomalies, aider les moteurs d'indexations avec un bon fichier 'robots.txt', et gérer un fichier Sitemap (généré par l'excellente extension Joomla xmap), etc...

On peut également connaitre ce que Google sait de votre site. C'est pas un mal. Un peu de transparence dans cet univers virtuel.

Le référencement d'un site est surtout affaire d'expérience. Des sociétés se sont spécialisées dans ce business... On se contentera dans un premier temps de corriger les manques et anomalies pour aider les googlebots. Opérations en cours...

jeudi 17 avril 2008

Captcha: des nouvelles...

Assez tôt dans la conception du site, j'avais évalué l'emploi des captcha. La jeunesse de 'Joomla 1.5' ne facilite pas les recherches sur le sujet car les solutions packagées sont rares. J'en ai trouvé deux.

  • BigoCaptcha
    Cette solution qui nous vient du Brésil est la plus pertinente en théorie. Le captcha généré est lisible. La solution privilégiée dès le départ mais, mais,...
    BigoCaptcha ne fonctionne pas du tout chez le fai FREE.
    Sur un forum, une discussion a eu cours entre le développeur de bigocaptcha Matheus Mendes et un utilisateur d'un site hébergé chez Free (sans le mentionner, on le devine). La version édulcorée de Php5 et l'emploi du SAFE_MODE=ON de php ne permettent pas une utilisation de l'extension actuelle de bigocaptcha . Dommage.
    discussion: http://forum.joomla.org/viewtopic.php?f=46&t=234509&st=0&sk=t&sd=a&sid=4051301df77c1dfda4f33bbd0b945f4d&start=90

  • OSTWigits-Captcha
    disponible sur: http://www.ostlabs.com/our-software/joomla-wigits/captcha/
    L'utilisation de ce plugin nécessite la modification de codes PHP d'autres composants Joomla. Mieux vaut connaitre la programmation PHP, le HTML et savoir se débrouiller.
    Les essais avec le formulaire email fonctionnent parfaitement. Les captcha générés sont parfois (souvent) difficiles à lire. Mais cette solution fonctionne parfaitement sur FREE. Ouf!
J'ai donc adopté temporairement OSTWigits-Captcha pour la gestion des contacts.
Dorénavant, le visiteur peut émettre un courriel directement du site Tendoryu.
Les menaces de mail-bots (générateurs de SPAM) sont écartées. Il m'est difficile de décrypter visuellement les captcha. Je doute qu'un robot puisse le faire.
Quoique, ne sous-estimons pas l'intelligence de l'homme pour inventer des solutions de contournement. L'homme aime les défis.
Nul besoin que l'ordinateur du visiteur soit paramétré pour communiquer par email avec les membres du site 'tendoryu'.
La technique s'efface. L'ergonomie du site en est que meilleure.

Externalisation de la sauvegarde

Suite du précédent post, quelques jours plus tard.

L'externalisation du fichier d'archive est opérationnelle. Le fichier TAR est ainsi copié sur un compte Gmail à partir du PC Linux de la maison. J'ai opté pour l'emploi de l'outil GMAILFS disponible sur toute plateforme Linux. Le transfert du fichier est assez lent mais c'est prévisible. L'ADSL à la maison n'est par particulièrement rapide. 70ko/s en upload seulement. (3600 mètres du DSLAM).
Afin d'éviter d'éventuels courroux de Google sur l'emploi de leurs messagerie, j'ai créé un compte dédié à la sauvegarde. Si Google ferme le compte mail pour non-respect des clauses d'utilisation, je ne perdrai pas un compte utilisé par mes contacts. un moindre mal.
La disposition de 6go d'espace disque par Google, est largement suffisante pour conserver environ 90 versions du fichier TAR.
J'externalise uniquement les archives qui ont eu une signature fichier différente (emploi du programme md5sum) . En résumé, j'externalise seulement s'il y a eu ajout, suppression ou modification d'un ou de plusieurs fichiers sur le site, dans la journée.
Comme les fichiers qui composent le site sont identiques d'un jour à l'autre, la plupart du temps, on ne surcharge inutilement notre capacité d'externalisation chez Google.

A la fin du processus journalier, on génère un email comme celui-çi:

De: xxxx@monfai.fr
A: xxxx@monfai.fr
Objet: Tendoryu:aiki.tendo:2008-04-17--03:00:01:backup-files:log

Bonjour,


lftp log:
Suppression de l'ancien fichier `administrator/components/com_contact/contact_items.xml'
Émission du fichier `administrator/components/com_contact/contact_items.xml'
Suppression de l'ancien fichier `components/com_contact/contact.php'
Émission du fichier `components/com_contact/contact.php'
Suppression de l'ancien fichier `components/com_contact/controller.php'
Émission du fichier `components/com_contact/controller.php'
Émission du fichier `plugins/system/captcha.php'
Émission du fichier `plugins/system/captcha.xml'
Création du répertoire `plugins/system/freecap'
...
...
Émission du fichier `plugins/system/freecap/.ht_freecap_font1.gdf'
Émission du fichier `plugins/system/freecap/.ht_freecap_font2.gdf'
Émission du fichier `plugins/system/freecap/.ht_freecap_font3.gdf'
Émission du fichier `plugins/system/freecap/.ht_freecap_font4.gdf'
Émission du fichier `plugins/system/freecap/.ht_freecap_font5.gdf'
Émission du fichier `plugins/system/freecap/.ht_freecap_im1.jpg'
Émission du fichier `plugins/system/freecap/.ht_freecap_im2.jpg'
Émission du fichier `plugins/system/freecap/.ht_freecap_im3.jpg'
Émission du fichier `plugins/system/freecap/.ht_freecap_im4.jpg'
Émission du fichier `plugins/system/freecap/.ht_freecap_im5.jpg'
Émission du fichier `plugins/system/freecap/.ht_freecap_words'
Émission du fichier `plugins/system/freecap/COPYING.txt'
Émission du fichier `plugins/system/freecap/freecap.php'
Émission du fichier `plugins/system/freecap/freecap_wrap.php'
Création du répertoire `tmp/install_48063230ee1b4'
Création du répertoire `tmp/install_48063230ee1b4/plugins'
Création du répertoire `tmp/install_48063230ee1b4/plugins/system'
Création du répertoire `tmp/install_48063230ee1b4/plugins/system/freecap'
lftp log:

Fichier aiki.tendoryu.20080417-030001.tar.gz 65671896 octets.

Le fichier est a externaliser!
Timestamp : 2008-04-17--03:24:48
cp aiki.tendoryu.20080417-030001.tar.gz gspace/ en cours...
rc=0

-rw-r--r-- 1 ehamon ehamon 65671896 2008-04-17 03:24 aiki.tendoryu.20080417-030001.tar.gz

Timestamp : 2008-04-17--04:17:24

Cordialement
Les ajouts/suppressions/modifications sur le site sont détectés, ainsi que les actions suspectes (ou légitimes heureusement). Big brother n'est pas loin. Everything is under control.

Les informations sont suffisantes pour une exploitation souple et efficace, sans douleur.
Bref, du temps est libéré à se consacrer à d'autres activités autrement plus intéressantes.

dimanche 13 avril 2008

Sauvegarde des fichiers du site

Le répertoire 'Joomla' du site 'Tendoryu' contient le programme Joomla, ses extensions, les extensions tierces, les images et les quelques fichiers multimedia.

Aujourd'hui cela se traduit par les quelques chiffres suivants:
  • 1375 répertoires
  • 7894 fichiers
  • 110 168 175 octets, 105 mega-octets.

Dans un précédent post, la sauvegarde de la base de données avait été abordée. Voyons un peu comment est organisée celle pour les fichiers.

Le fai FREE fournit un seul moyen d'accéder au système de fichiers de notre
site. On y accède par le protocole FTP.
A l'usage, l'accès est difficile car FREE limite à deux accès simultanés et les débits sont très limités: 20Ko/s en moyenne. Le timeout (temps d'inactivité de la session à partir duquel le système vous déconnecte) est de quelques secondes seulement. Malgré ces inconvénients on peut batir un système de sauvegarde assez efficace.

La sauvegarde est réalisée avec un script-shell en Bash, et lancée quotidiennement à 03h00am par l'ordonnanceur des taches cron. Le script lance principalement un appel à la commande lftp qui permet la synchronisation de deux répertoires: un en local (le PC) à partir de l'autre sur le site d'hébergement de Free.

A la première synchronisation, le répertoire '/tendoryu' de chez Free est copié intégralement en local.
L'opération est longue. 1h30.

Par la suite, seuls les fichiers et répertoires créés ou plus récents que ceux du site en local, sont recopiés du site de Free en local.
L'opération de synchronisation ne dure alors plus que d'environ 25 minutes. Ce temps est passé principalement à balayer les fichiers et répertoires fort nombreux du site.

A l'issu de la synchronisation, on 'zippe' le répertoire en local avec la commande tar. Le fichier est horodaté et conservé un certain temps. Le fichier TAR compressé occupe 65 mo actuellement.

La rétention du fichier archivée n'est pas encore fixée. On constate que la signature numérique des archives d'un jour sur l'autre est la même quand aucune action de mise à jour du site a été faite. Il est alors inutile de conserver des archives identiques en local. Le script-shell est donc en cours de finalisation pour prendre en compte ce genre de détails. Il n'est pas rare que le site ne soit pas modifié pour quelques jours consécutifs.

La réflexion sur l'externalisation du fichier 'archive' est en cours. Actuellement, la copie manuelle sur clef USB ne me satisfait pas beaucoup. L'automatisation totale est l'objectif.

Pour finir, le script envoie un courrier électronique au gestionnaire pour l'informer des résultats des différents processus passés.

mardi 8 avril 2008

L'audience du site

Comment savoir qu'un site est visité?
Quel est la fréquence des visites? A quelle heure? Reviennent-ils nous visiter?
Qui visite le site? D'où viennent-t-ils?
Que recherche les visiteurs? les vidéos, images,...

Voilà quelques questions, que tout créateur d'un site web aimerait savoir répondre.
Cela permet de 'corriger le tir' et adapter le site pour répondre aux mieux aux attentes des visiteurs. Au mieux infléchir l'éditorial.

Trois outils ont été mis en place dernièrement.

Chaque visite d'une page génère quelques lignes d'information dans un fichier 'journal' du serveur web Apache de notre FAI.
"You are not alone! Big brother is watching you!". Gloups...

Le fai FREE met à disposition deux outils pratiques pour traiter ces journaux.

  • Webalizer
    Cet outil est accessible depuis "l'interface de gestion de compte" de Free et est proposé par défaut, sans modifier votre site web. Les résultats sont complets mais 'basiques'. Les chiffres sont présentés, le plus souvent, sous forme de tableaux. Quelques graphiques existent mais très peu.
    Les résultats de Webalizer sont austères au vue de ses concurrents. Par contre, webalizer n'interfère pas avec votre site. La charge cpu et réseau et disque de Webalizer sont donc nulles pour votre site. C'est votre fai, à partir d'un autre serveur, qui exploite les journaux 'log' Apache de tous ses sites hébergés. Les statistiques sont reconstruites quotiennement pour les jours antérieurs.

  • PhpMyVisites
    Depuis peu de temps, Free propose l'utilisation de ce formidable outil en beta-test. Il suffit de l'activer dans votre 'interface de gestion de comptes Free' et de modifier votre site pour insérer un bout de code programme sur chaque page de votre site. Ainsi, à chaque visite d'une page, le script javascript accède au site http://st.free.fr . Ce site 'collecteur' de Free note alors consciensement diverses informations du visiteur: la date de connexion, son adresse ip, le type de navigateur (firefox, explorer, safari,...), la taille de votre écran, etc...
    Cela alourdit donc légèrement la charge de travail des serveurs de Free et ralentit un peu le surf du visiteur. Mais bon, c'est pour la bonne cause.
    Il n'était pas envisageable de modifier Joomla pour activer la fonctionnalité PhpMyVisites de Free. Il fallait donc trouver une extension Joomla. Bingo. La société 'Alter systems' a réalisé et mis à disposition un composant Joomla pour PhpMyVisites. Je l'ai donc téléchargé, dézippé et modifé avec un éditeur les deux fichiers de type 'texte' pour tenir compte des particularités du fai Free. Après avoir re-zippé le composant, il suffisait simplement d'installer le composant sur le site 'tendoryu', d'activer le composant et voilà. C'est fait, rien d'autre à réaliser. Le composant est débrayable par l'interface de gestion intégré de Joomla, si besoin. Le petit logo de Free est visible en bas de la page dans votre navigateur. (prix à payer pour l'emploi de cet outil)
    La solution de PhpMyVisites de Free est excellente. Les statistiques sont recalculées chaque matin pour les jours antérieurs. On n'a donc pas de statistiques en temps réel. Ce n'est pas le but de PhpMyVisites, d'ailleurs. A moins de regénérer les stats plus fréquemment mais le site 'tendoryu' n'est pas hébergé sur du matériel dédié. Il est hébergé chez FREE et on doit se plier aux contraintes de ce fai. (merci à Free encore).

  • JoomlaWatch
    JoomlaWatch est une fantastique extension/composant Joomla. Il complète les deux outils précedents.
    Le mieux est de visiter le site des concepteurs. Quelques "copies d'écran" sont plus explicites que mes commentaires. JoomlaWatch permet de tracer 'en direct' les connexions sur votre site. Il est inutile d'attendre les statistiques journalières de Webalizer ou de PhpMyVisites. De plus, il permet de 'bannir' une adresse ip d'un visiteur indélicat (bots la plupart du temps). Cet outil est précieux pour l'exploitant du site web mais a aussi son revers. Les informations des connexions sont stockées dans la base mySql pendant les dix derniers jours. Cela peut devenir très très vite volumineux, surtout quand les visites sont nombreuses. Ainsi le fichier dump de la base mySql est passé d'une taille de 60ko à plus de 700ko en 3 jours, avec très peu de connexions. Ce dernier point n'est pas encore alarmant pour l'externalisation des sauvegardes, mais cet indicateur reste à surveiller.
On ne dispose pas encore d'assez de recul pour exploiter les statistiques du site 'tendoryu'. Les outils sont en place depuis deux jours seulement. Ne reste plus qu'à attendre... vos visites bien sûr. ;-)

vendredi 4 avril 2008

La sauvegarde de la base de données mySql hébergée chez Free

Il est toujours vital de sauvegarder les données d'une base de données mysql comme celle du site 'Tendoryu'. Les sauvegardes permettent de restaurer totalement (ou en partie) les données perdues.
Chaque article, la configuration du site, les journaux font l'objet, chacun d'un enregistrement dans la base. Perdre la base, c'est perdre le travail de tous les contributeurs du site.

Evènements possibles:
  • Le fai Free peut suspendre l'accès au site pur une raison ou une autre. (sécurité)
  • Crash serveur(s) de Free.
  • Incohérence dans le contenu de la base.
  • Une migration de données mal engagée. (Joomla évolue)
  • Une extension a mis le 'bordel'.
  • Altération malveillante des données par un hacker ou autre
  • ...
On voudrait également pouvoir 'cloner' simplement le site sur une clé usb pour des démonstrations. Etc...

Comme Free ne permet pas l'accès distant à leurs serveurs mySql avec une interface de programmation ( API), on contourne le manque de liberté en biaisant le système presque officiellement. ;-)
Pour se faire, je me suis inspiré de l'excellent script de Olivier BERGER (blob).

Au script, j'ai ajouté l'envoi du fichier 'dump' compressé en pièce jointe d'un courrier electronique à destination d'un compte Gmail dédié aux sauvegardes tendoryu.
Sur ce compte, j'ai créé un filtre de messages.
Si le message reçu provient de 'mon-adresse@monfai' et le sujet débute par 'MySql-backup:OK:' et qu'une pièce jointe est présente alors j'archive directement le message dans un dossier dédié aux backups.
Sinon, par défaut, si le fichier dump a été mal-généré ou pas du tout, alors j'envoie un courrier électronique avec pour sujet 'MySql-backup:KO:'. Je le laisse dans la "boite de réception" Gmail.

Le corps du message contient le fichier 'curl.headers'.
Voici un exemple.
HTTP/1.1 200 OK
Date: Fri, 04 Apr 2008 09:38:42 GMT
Server: Apache/1.3.39 (Unix)
Pragma: public
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Cache-Control: private
Content-Disposition: attachment; filename="aiki_tendo-2008-04
-04-10-38-42.gz";
Content-Transfer-Encoding: binary
Content-Length: 54691
Connection: close
Content-Type: application/x-gzip
Je conserve les dix derniers fichiers dump sur le poste initiateur de la sauvegarde. (je vous laisse deviner où c'est. Bon, j'entends une mouche voler. La réponse: sur mon poste linux, à la maison). Les fichiers sont horodatés.
Le script est exécuté automatiquement par le cron à 06h00 tous les jours.
Pourquoi 06h00? Ben c'est juste avant mon réveil (raison principale mais il y en a d'autres). Je consulte normalement mes emails avant de partir au travail. Voilà, voilà.

Je ne gère pas de période de rétention pour les backups sur le compte Gmail. C'est parfaitement inutile. Un compte Gmail peut stocker pas loin de 6go actuellement. A raison de 80ko par sauvegarde, le compte ne sera saturé avant environ 215 ans... Oups. No comment. Merci Google.

On pourrait également fiabiliser l'externalisation des sauvegardes avec le même principe en créant d'autres comptes courriels. Au hasard, chez Yahoo. Chez eux, la capacité de stockage des emails est illimité. No comment. Un grand merci (virtuel) à Yahoo également.
Il suffirait de modifier une ligne du script:
cat curl.headers | mutt -a backup_mysql_$filename \
-s "MySql-backup:OK:${taille}ko:${filename}" mon-compte@gmail.com
par
cat curl.headers | mutt -a backup_mysql_$filename \
-s "MySql-backup:OK:${taille}ko:${filename}" mon-compte@gmail.com,mon-compte-secours@yahoo.fr
Que c'est facile, l'externalisation de données pour un particulier, n'est-ce pas? Et c'est gratuit.

On pourrait également chiffrer les fichiers dump. Inutile pour l'instant. Laissons à la NSA le soin d'analyser nos courriels correctement avec facilité. Hugh.

jeudi 3 avril 2008

Pourquoi n'avoir pas autorisé les inscriptions des visiteurs sur le site?

Permettre à un visiteur de s'enregistrer sur le site ajoute de l'interactivité. Le visiteur devient acteur. Il peut laisser des commentaires, proposer des liens internet, écrire des articles. Mais, cet univers idyllique est menacé par:
Ces menaces demandent une vigilance de tous les instants du responsable du site. Les commentaires désobligeants ou déplacés demandent souvent la mise en place d'un système de modération sur le site. Cela accroit la charge de travail pour faire vivre le site internet. Un oubli ou un manque de vigilance et le site peut être bloqué par le FAI. Le site devient alors injoignable. Il peut être débloqué après avoir pallier aux remarques pertinentes et sans appel (mais justifiées) des administrateurs systèmes (de chez Free ici).

Un commentaire mal-venu est susceptible de vous voir notifier, par huissier de justice, de votre présence au tribunal. Argh... (cas le plus extrême)
Le propriétaire d'un site web est donc juridiquement responsable! Sans précaution élémentaire, personne n'endosserai la responsabilité d'un site. Et pourtant, il n'y a jamais eu autant de sites web qu'actuellement. Abusus non tollit usum (*L'abus n'exclut pas l'usage)

Souvent, les composants logiciels qui permettent la saisie d'information sur un formulaire internet, sont les voies naturelles pour hacker le site. Fermer les portes, et vous améliorez, un peu, la sécurité.

'Joomla! 1.5' ne dispose pas encore d'un système performant et natif pour se prémunir des 'spambots'. Le système tierce captcha testé 'bigocaptcha' ne fonctionne pas dans sa version actuelle dans l'environnement PHP du fai Free. (fonctionne parfaitement en mode local). J'ai donc différé tout type de fonctionnalités sympathiques qui emploient des formulaires web. Dommage, mais c'est comme çà.

Dans un premier temps, le site 'tendoryu' restera donc une vitrine où le visiteur ne pourra pas intervenir directement sur le contenu éditorial. Il devra joindre par courriel (ou autre moyen) un rédacteur éditorial du site pour soumettre ses remarques.
Le cercle de personnes de confiance s'agrandira lentement mais restera très limité dans un premier temps. Un système de captcha efficace et fonctionnel est la clé indispensable pour débloquer toute évolution majeure.

Description de mon environnement de travail Joomla

L'utilisateur avancé, inscrit sur le site Tendoryu, n'a guère besoin d'outils spécialisés pour gérer ses activités. La remarque est également valable pour les plateformes logicielles modernes comme: dotclear, wordpress, drupal, spip,... Je ne vais pas tous les citer, ils sont bien trop nombreux. On migre doucement mais surement vers le tout internet.

Deux composants principaux:
  • Le navigateur
  • un outil de transfert de fichiers
Le navigateur:
  • Firefox: Mon préféré! J'utilise Firefox pour ses extensions, la gestion 'multi-tab', son portage sur différents systèmes. Opensource.
  • Internet Explorer: de Microsoft n'existe que pour Windows et est installé par défaut. C'est son seul intérêt. Voilà, c'est dit. (un 'portage' existe sous linux avec wine: ies4linux pour tester la compatibilité des pages html dans ce navigateur)
  • Opera: excellente alternative à Firefox. Pas encore testé dans les versions récentes. multi-plateforme également. closed-source. un critère qui me fait pencher pour firefox.
  • Safari: pour les MacUsers. Pas de mac à la maison. Trop cher! (pour l'instant). Un portage existe sous Windows. (je n'utilise plus Windows couramment)
  • Lynx / Elinks: pas encore testé avec le site. Je manquerai pas d'y revenir. Le mode full-text n'est pas mort!
  • Konqueror: je l'utilise très peu malgré que mon poste est sous kubuntu.
Logiciel pour les transferts de fichiers via ftp:

  • filezilla : opensource, gratuit. multi-platfeforme. Bon, mais je ne l'utilise pas car je travaille sous Linux. Sur Windows, c'est un excellent choix.
  • en ligne de commande (shell) : intéressant pour dépanner. Chez Free, le 'timeout' de la session inactive est vraiment, vraiment très court: une dizaine de secondes. Il faut pas chômer sinon, on est 'jeté' par free. Difficile pour maintenir un site basé sur Joomla.
  • FireFtp est une extension Firefox. Excellent choix. multi-plateforme car les extensions de Firefox le sont par conception.
  • Krusader : mon préféré et de très loin. A lui seul, il mérite son installation sur toute plateforme linux. Clone de TotalCommander sur Linux.
  • TotalCommander : le meilleur gestionnaire de fichiers sous Windows imho. Indispensable sur cette plateforme. Payant mais son achat est justifié.
Voilà. En résumé, ma plateforme se résume au binome Firefox/Krusader sous système linux.
Avec Windows, le couple Firefox/TotalCommander s'impose.

JOUR J. Lancement du nouveau site Tendoryu.

Mercredi 2 avril 2008 à 22H00 (heure à Paris donc GMT+2), le nouveau site est visible en lieu et place de l'ancien.
A la racine du site, j'ai créé un fichier '.htaccess' avec pour contenu une unique ligne:
Redirect seeother index.html http://aiki.tendo.free.fr/tendoryu

Le fichier '/index.html' a été renommé en '/index-old.html'.

Grâce à l'interface d'administration Joomla du site, j'ai créé, en 20 secondes, une entrée dans le menu de gauche pour offrir la possibilité d'atteindre l'ancienne page d'index.

Et voilà. Une nouvelle ère commence.

Encore une fois, la tâche la plus longue a été l'élaboration de l'article 'Flash' pour annoncer la nouvelle sur le site.

mercredi 2 avril 2008

Hébergement des vidéos

<troll>
L'accès haut-débit s'est démocratisé. Les internautes ne se contentent plus de lire. Ils veulent des images et nec-ultra des vidéos. Bientôt de la HD (Haute Definition) et la saturation de la bande passante qui l'accompagne...
</troll>

L'aïkido est un sport (mot réducteur) basé sur des mouvements souples, amples, fluides. Il faut bien observer pour apprécier les détails, à leur juste valeur. Faire partager ces détails, n'est pas simple.
Les photos
Les photos ne sont que des clichés, des instantanés. On perd beaucoup d'informations sur une prise d'aïkido mais une bonne photo reste une valeur sûre, j'en conviens.
N'étant pas très doué en photographie, j'ai donc essayé la vidéo.

La vidéo
Et là, on fait face rapidement à de fortes contraintes techniques.
  • une video pèse lourd. Quelques dizaines de mega-octets pour une vidéo de petit format, en basse qualité.
  • une video HD est hors de portée de téléchargement hors abonnement ADSL.
  • La place disque disponible sur le site est de facto limité par l'hébergeur FAI. 10 Go sur Free, c'est bien mais que restera-t-il après plusieurs années en compilant quelques videos par mois?
  • Le temps de montage des vidéos est conséquent. Quatre fois le temps de tournage en moyenne (mais je suis lent, c'est vrai. On ne rigole pas).
  • Le site 'Tendoryu' ne se résume pas à ses vidéos.
J'ai donc opté pour un hébergement extérieur à Free. Youtube.com est un bon candidat. Je disposais déjà d'un compte chez eux. Et c'est parti.

Avantages de sites spécialistes videos comme youtube ou dailymotion:
  • On peut 'uploader' un nombre illimité de vidéos.
  • les utilisateurs peuvent laisser des commentaires. (bons ou mauvais)
  • Statistiques: Nombre de visualisation de la video
  • Références extérieures possibles.
  • Classement hiérarchique de la vidéo. sport/aïkido par exemple
  • Possibilité de laisser des mots clefs pour une recherche de vidéos sur le site.
  • ...
Joomla permet la visualisation des vidéos à l'aide d'extensions. J'ai retenu 'denvideo' d'une équipe de développeurs d'Argentine. Bravo à eux. Il suffit de mettre une balise dans l'article comme:
{denvideo URL largeur hauteur}
Ca se passe de commentaire. C'est hyper-simple d'emploi. Bluffant.

La bande passante sur les serveurs de Free est préservée. Les videos sont accessibles et indépendantes de la vie du site 'TendoRyu' hébergé chez Free. Ce découplage est salutaire.
Tout le monde est content. L'internaute en premier. En visitant Youtube (site connu mondialement) il pourra rebondir sur http://aiki.tendo.free.fr/tendoryu C'est notre objectif après tout.

Synchronisation des environnements

Il est très facile de cloner un environnement Joomla, composé de deux parties:
  1. Les fichiers de l'applicatif et vos fichiers peuvent être copiés via votre 'gestionnaire de fichiers' habituel ou via un client FTP (comme filezilla) si votre site est distant chez un hébergeur.
  2. la base de données mySql. L'interface de phpmyadmin est suffisante pour la sauvegarde dans un premier temps.
Par contre, on rencontre vite un problème quand on mixe des environnements Windows et Linux. Les caractères accentués comme éèàëêûüäâ passent mal lors de clonages/migrations. (codepages utf8, cp1252 pour les technophiles)

Un autre soucis très commun également vient des chemins absolus/relatifs des url stockés dans les articles de votre site.
Par exemple, quand vous insérez une image dans votre article, l'éditeur intégré à Joomla vous transformera le lien en absolu.
Exemple: 'http://aiki.tendo.free.fr/tendoryu/images/stories/mon-image.jpg'.
Ok, no problemo sauf quand on veut l'installer sur votre installation joomla 'uniform -server' de votre clef usb, hors connexion internet. Là on a besoin de remplacer 'aiki.tendo.free.fr' par 'localhost'.
Pour peu que le nom du répertoire d'installation de Joomla soit différent entre deux environnements, (répertoire: 'tendoryu' sur votre site et répertoire 'joomla1.5' sur votre site local de développement), vous allez devant des problèmes d'affichage de ces images.
Au mieux, votre navigateur internet va chercher les images sur le site référencé dans votre article. Par contre, il ne pourra rien faire si l'url est 'localhost' et que votre site est hébergé chez votre fai.

Bref, quelques soucis qui se soignent facilement à coup de quelques scripts sous linux.
Pourquoi Linux? Ben, c'est le système d'exploitation de mon PC à la maison. Le système de base pour 'bidouiller' librement. Le couteau suisse aux possibilités infinies. Je ne cherche pas à rester scotché sur un système compliqué, onéreux, qui demande un anti-virus pour aller sur internet, qui plante régulièrement, qui demande beaucoup d'efforts pour maintenir un service basique. Je suis passé aux génériques et çà marche.

Avec phpmyadmin, je réalise un 'export' de la base de données. Le fichier généré est ensuite 'retravaillé'.
Je détermine le codepage du fichier avec l'utilitaire utrac (installé à la main sur mon Kubuntu v7.10).
utrac -p mon-fichier.sql

Les fichiers sous windows ont le codepage: CP1252
Les fichiers sous linux: utf8

Puis, on transforme le fichier

Exemple: Windows vers Linux/(k)ubuntu

utrac -f CP1252 -t UTF8 < mon-fichier.sql | sed 's/\/joomla1.5\//\/tendoryu\//g' > mon-fichier-utf8.sql



J'ai profité de l'occasion pour chercher/remplacer une chaine de caractère par une autre.
On peut chainer (on dit aussi 'piper') les recherches/remplacements, autant que nécessaire.

Voilà, voilà. Ne reste plus qu'à 'dropper' les tables de la base mysql via phpmyadmin et de réimporter votre fichier 'transformé'.
Enfin, on visualise certains articles contenant des caractères accentués qui ne manquent pas dans la langue française. ;-)

Je ne rentre pas dans le détail des manipulations. Cela dépasse le cadre de ce blog (imho).

mardi 1 avril 2008

Le cycle d'intégration d'une extension Joomla

Le site Tendoryu n'est que la partie finale, visible sur internet.

Avant d'être incorporé sur le site, un composant Joomla doit passer par une série de phases:
  • Repérage du composant Joomla sur les sites dédiés à Joomla
  • Lecture des critiques sur le composant.
  • Butinage sur le site du créateur du composant.
  • Repérage de composants similaires (vive la concurrence)
  • Lecture approfondie du forum de discussion associé aux composants (concurrents aussi).
  • Téléchargement du composant
  • installation sur un environnement 'Joomla-uniform server' (sous Windows XP)
  • Paramétrage du composant. Prise en main. Montée en compétence.
  • Tests divers.
  • Installation du composant sur une plate-forme Joomla sous système linux/kubuntu avec une configuration personnelle apache/php/mysql . Tests intensifs. Intégration sur une maquette/clone 'Tendoryu'.
  • Installation du composant sur un environnement Joomla! chez l'hébergeur Free. Remarque: l'accès à l'environnement est restreint. (protégé par login/password). Inutile de me demander l'accès. Non mais, une fois...
  • Vérification du bon fonctionnement du composant avec le mode PHP édulcoré de chez Free.
  • Installation sur le site officiel 'aiki.tendo.free.fr'.
  • Recettage.

ouf.

Le choix de l'hébergeur

Historiquement, le site 'Tendoryu' était déjà hébergé chez 'FREE.FR'.
L'ancienne url est conservée. Jetez un coup d'oeil au passé. Nostalgie?

Il était alors préférable de conserver l'adresse du site. Les références du site 'aiki.tendo.free.fr' par nos amis surfeurs français, belges, allemands, incitent à ne pas générer le fameux syndrome 'erreur 404'.


FREE offre des commodités:
  • Une base mySql/postgresql
  • accès Ftp
  • Php4 et/ou Php5
  • 10 go d'espace disque
  • C'est gratuit (pour les personnes dont l'adresse postale est en France)

Difficile de faire mieux. Mais, mais... Ce n'est pas si rose. sic

1- Votre site est très étroitement surveillé par les administrateurs de chez Free.
Tant mieux, c'est leur métier. Mais pour peu que vos programmes ou logiciels permettent à des hackers ou pirates de s'immiscer dans votre site, et ensuite, de générer des courriels indésirables (spam) à votre insu, les admins suspendront illico l'accès à votre site.
On ne rigole pas avec la sécurité. Je vous recommanderai de lire les requêtes sur le forum 'news.free.fr'. Instructif.
A la lecture des expériences de responsables de sites hébergés chez Free, cela m'a amené à restreindre drastiquement l'accès au site 'Tendoryu'. J'en parlerai plus longuement dans un autre article. De facto, des failles potentielles sont moins nombreuses.
Le risque zéro n'existe pas. Il faut rester vigilant.
(remarque: Free limite à 2000 courriers electroniques par mois, par site, pour limiter le spam).

2- Par soucis de sécurité, Free met à disposition une version édulcorée de PHP5. Certaines fonctions PHP sont inexistantes dans la version PHP compilée par Free.
Résultat: des extensions pourtant bien écrites ne fonctionnent pas ou mal sur un hébergement chez Free. Ces mêmes extensions fonctionnent parfaitement sur 'uniform server' ou un environnement classique sur votre poste (linux?) ou un autre hébergeur. Ne négliger pas l'aspect des tests unitaires des extensions chez Free. Certains n'hésitent pas à écrire que le fai Free n'est pas joomla-friendly.
Je suis plus mesuré. C'est un peu facile de critiquer un fournisseur qui vous offre gracieusement un espace pour héberger votre site personnel et/ou associatif. Faut faire avec... huh

3- L'accès à la base mySql n'est possible que par des scripts PHP (ou Perl) hébergés sur votre site ou via l'interface phpmyadmin de chez Free. Impossible d'y accéder à distance (soucis de sécurité, encore une fois).

4- Pas d'ordonnanceur de type cron.

5- Pas de ssh/scp. empêchant tout développement de programmes distants pour l'administration du site. (scripts shell bash/perl/ruby, rsync)

6- Mutualisation des ressources chez Free. Les temps d'accès au site peuvent fluctuer selon la charge réseau. Indépendant de votre volonté.

Les points 3, 4,5 et 6 sont des commodités pour un site personnel. Mais bon, mes réflexes d'administrateur unix me font rappeler des environnements de travail informatique mijotés aux petits oignons. Argh le confort...

L'hébergement à l'extérieur de Free est toujours possible mais je n'ai pas réussi à trouver d'hébergeurs qui offrent un environnement comparable à Free pour zéro euro.

Des solutions à partir de 5€ TTC/mois existent. Je citerai

On en restera là pour l'instant. Mais rien n'est définitif. L'avenir nous dira s'il faut consolider le socle technique du site 'tendoryu'. Mais cela a un prix.

Le choix de Joomla!

Bref cahier des charges:
  • Permettre à plusieurs personnes la rédaction d'articles
  • Gestion type workflow (lecteur/rédacteur/correcteur/publication...)
  • Pas ou peu de codage dans un langage informatique.
  • Interface d'administration simple
  • Prise en main rapide
  • Déploiement rapide
  • Exploitation quotidienne simplifiée.
  • Possibilité de trouver un hébergeur facilement.
  • Composants opensource
  • 'Click and run'
  • Orientation multimedia (gestion galleries d'images, video,...)
  • Extensions par plugins (à la firefox)
  • Sortie de nouvelles versions majeures pas trop fréquentes. (On ne doit pas passer son temps à migrer son site)
  • ...
Première sélection: on s'oriente de suite vers un CMS.
On le choix. Zope/Plone, Spip, Drupal, Mambo, Joomla 1.x, Joomla 1.5, etc...


Choix atypiques

Zope/plone:
solution lourde, efficace mais hébergement problématique. Trouver un hébergeur offrant un environment python gratuit est, somme toute, assez rare.
La courbe d'apprentissage n'est pas négligeable. Zen attitude.
Bonne solution pour un hébergement dédié. Pas d'expérience sur les extensions multimedia.
Solution sans doute trop lourde pour une petite association, club sportif.

Solutions à base de PHP/mySql

L'hébergement est facile à trouver sur le Web.

Spip:
.J'avais testé la version 1.9. Pas trop emballé, connaissance HTML/CSS quasi-obligatoire. Quelques doutes sur la facilité de maintenance par un non-informaticien. Sortie des versions rapides, trop, pour le projet 'tendoryu'.

Mambo:
PHP/MySql également. L'ancêtre géniteur de Joomla. Logiciel propriétaire. Equivalent à joomla série 1.x.

Joomla 1.x:
Fork de mambo. pas ou peu de différences. Stable, réactif, extensions nombreuses.

Joomla 1.5:
Sortie le 22 janvier 2008. Produit très jeune mais stable dû à la longue gestation du produit.
Cassure nette avec la série Joomla 1.x.
L'architecture s'inspire du concept Modele/Vue/Controlleur.
Point très important (imho), comme ruby on RAILS, MVC est très bien adapté pour les développement de petits sites web.
Inconvénient de la version 1.5: beaucoup d'extensions deviennent incompatibles. Compatibilité ascendante des extensions plus ou moins assurée par le 'mode legacy', mais insuffisante.
La nouvelle version demande une ré-écriture des composants tierces qui seront plus robustes (avec MVC) à terme. En attendant, les fonctionnalités courantes sur les sites web ne sont pas encore disponibles .
Pas de gestion de version des articles en natif.
Pas de Captcha en natif! Etonnant mais bon.

Drupal:
La version 6 est sorti très peu de temps après 'Joomla 1.5'.
J'ai commencé à l'évaluer brièvement après que le site 'Tendoryu' soit presque terminé avec 'Joomla 1.5'.
Drupal est, sans doute, le concurrent le plus direct de Joomla.
L'administration est plus austère que Joomla.
Puissance cachée.
Gestion de versions des articles que n'a pas encore Joomla (en natif).
Pas encore assez 'click and run' comme Joomla.
On cherche trop pour réaliser des actions, somme toute, simples comme changement de la langue par défaut.
La nouvelle version Drupal souffre, pour un temps, de l'incompatibilité des extensions tierces. Mérite le détour. Laissons murir un peu. Quelques mois comme 'Joomla 1.5'.
Les versions se succèdent rapidement sur Drupal.


Conclusion:

'Joomla 1.5' semblait, au moment, des évaluations des produits disponibles, la solution la plus idoine. Le 23 janvier, la nouvelle version 1.5 était téléchargée et testée.
Produit encore jeune mais étonnamment stable et très facile à utiliser, 'Joomla 1.5', combiné avec certaines extensions tierces, étonnera plus d'un... Bluffant.

Uniform server pour Joomla!

Ou comment monter en 5 minutes une installation locale de 'Joomla! 1.5'

Le plus simple pour débuter avec Joomla! est de télécharger et d'installer sur une clef USB ou le disque dur de votre PC , un cocktail très réussi nommé 'Uniform server'.
Une version dédiée à Joomla est disponible ici.
(màj 30/07/2008: le précédent lien n'existe plus. Il faut donc recréer l'environnement uniformServer/Joomla. Un bon tutoriel (en anglais malheureusement) est cependant disponible .)

Il est souhaitable d'installer de suite les derniers correctifs Joomla 1.5.2 de suite.
Je recommande également de
  • Renommer le répertoire 'joomla -1.5' en 'joomla'.
  • Modifier le fichier 'udrive\www\joomla\index.php' pour tenir compte du point précédent.

Rem: on peut aussi renommer le répertoire avec un nom plus proche de votre projet.
Ici on a pris 'tendoryu'.

Familiarisez-vous avec les exemples.
Butinez sur joomlafrance.org et fouillez dans la liste des extensions disponibles.
Installez quelques uns et testez. Vous ne risquez rien.

Joomla est un écosystème très intéressant pour monter un CMS rapidement, sans codage (ou presque).

'Uniform-server' dispose d'une panoplie d'applications des plus utiles comme 'Phpmyadmin', 'phpMyBackupPro'.
L'agencement des applicatifs dans l'arborescence des fichiers est un modèle du genre.
Pour les apprentis 'webmaster' qui souhaitent installer leur propre serveur web, inspirez vous d'Uniform-server. Vous gagnerez du temps.

lundi 31 mars 2008

L'icône favicon.ico

L'icône 'favicon.ico' a été conçu avec le logiciel inkscape sous Kubuntu.
J'ai repris une image existante de l'ancien site 'aiki.tendo.free.fr'.
L'icône a été ensuite recopiée dans le template utilisé dans Joomla.

Eléments 'Joomla!' en pré-exploitation...

Joomla 1.5. (mode legacy)
  • Patché 1.5.1 sans problème
  • Patché 1.5.2 sans problème

Composants:
  • attachment 1.2
  • EventList 0.9
  • JCE 1.5.0 rc1
  • LinkR 1.6beta
  • PhocaGallery 1.6.4 beta
  • Phoca Guestbook 1.3 beta (désactivé car Bug!)
  • SectionEx 1.5.0.13 RC
  • SQLDumper 3.1 (fonctionne pas sur Free)
  • Weblinks 1.5.0
  • xmap 1.1.0 beta1

Modules:
  • mod_googlemapit 2.0
  • mod_mycontact 1.1

Plugins:
  • Daily Jomla Backup system plugin 1.5
  • System - BigoCaptcha 1.2 (problème sur Free.fr, arghh)
  • System - Website name plugin 1.0.0
  • Content - XTypo 1.3
  • Content - denVideo 2.1
  • Google Maps 2.10f
  • The Ultimate Social Bookmarking Plugin 1.0.0
  • Editor - JCE 1.5.0 1.5.0beta2
  • Editor - JoomlaFCK 2.5
  • Editor Button - AddAttachment 1.2
  • Editor Button - Article Linker 1

Bienvenue au Tendôryû-Joomla

Ce blog est le journal technique de la réalisation du site http://aiki.tendo.free.fr/tendoryu/ .
L'élaboration, la maintenance, les évolutions du site seront répertoriées ici. Les commentaires sont bienvenus.
Je ne suis pas un expert sur la technologie 'Joomla!', loin de là. Mais je me soigne comme on dit.
Curieux, je teste les extensions de Joomla! 1.5, version choisie pour le site Tendoryu.
Cordialement