mardi 31 mars 2009

Mise à jour du site via un téléphone

L'écriture d'articles sur le site CMS Joomla 'tendoryu' (aiki.tendo.free.fr) est désormais possible via un téléphone évolué smartphone.
Les tests ont été réalisés sur mon téléphone personnel Nokia E71 (tests ici et la), avec souscription d'une option 'Internet max' au forfait Orange (coût additionnel de 9€/mois).

La gestion classique du site est possible avec le navigateur intégré à l'appareil. Mais on se rend très vite à l'évidence que la taille de l'écran de 320x240 pixels , est 'peu confortable' même s'il est assez grand pour un téléphone.
Les écrans/formulaires d'un site écrit avec Joomla, sont très aérés et demandent une taille d'écran largement supérieure. L'emploi d'un notebook, comme le asus EEE précédemment cité par exemple, est idéal.
Par contre, un téléphone tient dans la poche, ou se porte à la ceinture. L'autonomie de la batterie est à l'avantage du téléphone, encore une fois. Bref 'blogguer' d'un smartphone à la terrasse d'un café, ou lors de tout déplacement extérieur, est réalisable, sans connexion à une borne/hotspot WIFI.

La recherche s'est portée sur un petit logiciel écrit spécifiquement pour le système d'exploitation des Nokia (symbian S60v3) nommé Wavelog de la société Telewaving.com.
D'un coût d'une quinzaine d'euros, Wavelog permet de mettre à jour plusieurs types de Blog: Blogger, Drupal, Wordpress et Joomla évidemment. On peut donc l'utiliser ailleurs que pour le seul site Tendoryu.

En appliquant à la lettre le tutoriel, après avoir installé le plugin 'MovableType API' dans l'interface d'administration de Joomla, on commence à saisir immédiatement de nouveaux articles sur le téléphone.
La mise à jour d'articles déjà publiés est également possible. Par contre, certains contenus volumineux et contenant des images passent assez mal. (parfois des plantages du programme sur le smartphone). La rédaction pure d'articles en mode texte est, par contre, agréable, dès que l'on a adopté la taille des minuscules touches du clavier du téléphone.

Voilà, voilà.

Des programmes similaires existent sur les smartphones, en particulier pour l'iPhone d'APPLE.
J'y reviendrai très certainement bientôt.

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.