Le blog de llaumgui

Linux en général, Fedora en particulier...

 

Aller au contenu | Aller au menu | Aller à la recherche

Développement web

php/MySQL et tous les langages du web...

Fil des billets - Fil des commentaires

mardi 11 septembre 2007

 

jQuery 1.2 est dans les bacs

C'est juste au moment où je suis en train de réfléchir aux côtés dynamiques, 2.0 & funky de Scénario-PaintBall v3; que mon framework JavaScript / AJAX préféré voit publier sa version 1.2.
Pour ceux qui ne le connaissent pas (encore), jQuery est une bibliothèque permettant de « Write less, do more » (Traduction partisane : « Faire un max de choses en n'en foutant le moins possible » ; j'adore ce slogan !) et qui surtout est compatible tous navigateurs. Dépassé (enfin presque) le temps où l'on perdait du temps à déboguer ses JS sous Internet Explorer !

Je vais donc explorer, pour SPB, les nouvelles pistes offertes par jQuery 1.2.
Comme certaines librairies peuvent être incompatibles entre elles et que je ne veux pas forcer à l'utilisation d'un framework en particulier : je ne pense pas utiliser jQuery dans ezipb-shoutbox.
Cependant, comme eZ publish le permet, dans le cadre de mon site (qui est dans une extension), je vais surcharger le JS d'ezipb-shoutbox et utiliser jQuery.

dimanche 9 septembre 2007

 

ezipb-shoutbox, une shoutbox pour ezipb

Je viens d'importer, sur mon serveur Subversion, la première version d'ezipb-shoutbox : la shoutbox AJAX pour l'extension ezipb permettant de coupler eZ publish et IPB.

J'en ai aussi profité pour mettre à jour la documentation sur mon wiki, ainsi que le roadmap.

 

eZ publish et eZ find 1.0 bêta 1

Les moteurs de recherche, quel cruel dilemme ! Soit on a un moteur basique et léger soit un moteur super pertinent mais consommant un max de ressources. Certains même en arrivent à utiliser Google en guise de moteur de recherche sur leur site (je propose d'ailleurs cette solution alternative en plus des moteurs de recherche de fedora-fr).

eZ publish n'échappe pas à la règle et de base son moteur de recherche est pour le moins... pas terrible. Heureusement qu'eZ est bien fait et permet le remplacement du moteur de recherche par d'autres via le système d'extensions. Avec la Community Newsletter #11 et l'annonce de la version 1.0 beta 1 d'ezfind, j'ai donc entrepris de tester la bête.

Lire la suite...

dimanche 2 septembre 2007

 

ezipb : eZ publish et IPB réunis

eLors d'un précédent billet, j'avais parlé de la refonte de SPB et de mon projet d'extension ezipb pour permettre à eZ Publish et IPB de communiquer. J'ai bien avancé, voila ce que fait mon extension pour le moment :

  • Initialise les classes d'IPB strictement nécessaires (j'ai pompé et allégé l'index.php d'IPB).
  • Initialise des drivers MySQL modifiés à la place des drivers d'IPB.
    Ces derniers utilisent la connections ouverte par eZ. Comme eZ est orienté php4, mon extension force MySQL à la place de MySQLi qui est normalement automatiquement déclenché par la présence de php5. Cette fonctionnalité est désactivable si vous n'avez pas vos données eZ et IPB sur la même base.
  • Divers opérateurs eZ publish afin de récupérer les informations sur les membres.
  • Divers templates (1 pour le moment) afin d'avoir les éléments principaux d'IPB dans eZ publish.

Première version d'ezipb

Bref actuellement, le cout de mon extension est de 3 requêtes et j'ai pas encore entamé la chasse aux requêtes inutiles !

Comme je veux proposer cette extension ainsi que le portage vers IPB 2.3.x de la plupart de mes mods et task IPB, j'ai monté un Trac et un SVN afin d'assurer le support et de proposer un téléchargement via Subversion... IPB, je suis de retours !

Plus d'infos, documentation et téléchargment sur le Trac.

Remarque : J'utilise la version 3.9 communautaire compatible php5 d'eZ publish. Mon extension est donc en php5. Elle est donc incompatible avec la plupart des versions d'eZ publish... C'est ballot :-).

vendredi 31 août 2007

 

Mise à jour automatique de Dotclear 2.0 et de ses plugins, à partir du SVN (update)

Je mets très souvent mon blog à jour à partir de la dernière version SVN de Dotclear 2.0. Jusqu'à présent, je faisais un svn co sur ma machine locale, puis je virais les répertoires inutiles (rm -rf `find ./ -name .svn`) et enfin j'envoyais le tout sur mon ftp. On obtient alors une version de Dotclear à jour et sans fichiers .svn. Le revers de la médaille étant le temps passé à faire la manip'. Je me suis donc fais un petit script pour automatiser tout ça :

  1. Mise à jours des sources de Dotclear à partir du SVN.
  2. Mise à jour et téléchargement de nouveaux plugins à partir du SVN de Dotclear.
  3. Mise à jour de la base de données (visite de la page d'admin).
  4. Vidage le cache.

Comme je suis un Geek très flémard et qui n'a peur de rien : j'ai mis le tout en tâche cron.

#!/bin/bash
###############################################################################
#
# dc-svn-co :
# Mise à jour d'une installation Dotclear 2.0 à partir des sources du SVN.
#
# Dépendances requises :
#       - subversion
#       - curl
#
# Attention : L'
utilisation de ce script permet de mettre à jour votre instance
# de Dotclear à partir d'une version dite instable !
# Utiliser à vos risques et périls !
#
# Licence Dotclear : http://www.dotclear.net/license.html
#
# by Guillaume Kulakowski a.k.a LLaumgui <guillaume at llaumgui dot com>
# Version 2.0
#
###############################################################################
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not,
#  - write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor,
#       Boston, MA  02110-1301, USA.
#   - See http://www.gnu.org/licenses/gpl.html
###############################################################################


######################################
# Variables :

# Chemin vers l'
installation de Dotclear :
DC_CORE_PATH="/home/www.xxx.com/www"

# Chemin vers les plugins de Dotclear :
DC_PLUGIN_PATH="$DC_CORE_PATH/plugins"

# Chemin vers le cache :
DC_CACHE_PATH="$DC_CORE_PATH/cache"

# Liste des plugins à récupérer à partir du svn :
DC_PLUGIN_LIST="antiflood commentsWikibar dayMode emailNotification gallery related sitemaps spamplemousse2"

# Chemin vers votre administration (pour la requête de mise à jour) :
DC_URL="http://www.xxx.com/admin/"


SVN_DC_URL="https://svn.dotclear.net/2.0/trunk"
SVN_DC_PLUGIN_URL="https://svn.dotclear.net/2.0/plugins"





######################################
# # #                            # # #
# # #   /!\ On touche plus /!\   # # #
# # #                            # # #
######################################

###
# Mise à jour à partir du SVN :
function svnCo() {

    cd "$1"
    svn co "$2" ./
}



###
# Mise à jour de la liste des plugins à partir du svn :
function svnPlugin () {

        for plugin in $DC_PLUGIN_LIST; do
                echo -e "\n\n###############  $plugin   ###############"
               
                # Création du répertoire pour les nouveaux plugins :
                if [ ! -d $DC_PLUGIN_PATH/$plugin ]; then
                        echo "Le répertoire $plugin n'existe pas !"
                        echo "Création du répertoire $plugin."
                        mkdir "$DC_PLUGIN_PATH/$plugin"
                fi;
               
                svnCo "$DC_PLUGIN_PATH/$plugin" "$SVN_DC_PLUGIN_URL/$plugin"
        done;
}



###
# Mise à jour de la base par appel de l'url de l'admin :
function updateDB() {

        curl $DC_URL
}



###
# On vide le cache
function cleanCache() {
       
        rm -rf "$DC_CACHE_PATH/cbfeed"
        rm -rf "$DC_CACHE_PATH/cbtpl"
}





echo "################################################################################"
echo "#                                                                              #"
echo "#               Mise à jour de Dotclear à partir des sources SVN               #"
echo "#                                                                              #"
echo "################################################################################"
svnCo "$DC_CORE_PATH" "$SVN_DC_URL"

echo -e "\n\n\n\n\n\n################################################################################"
echo "#                                                                              #"
echo "#                      Mise à jour de la liste des plugins                     #"
echo "#                                                                              #"
echo "################################################################################"
svnPlugin

echo -e "\n\n\n\n\n\n################################################################################"
echo "#                                                                              #"
echo "#                           Opérations de mise à jours                         #"
echo "#                                                                              #"
echo "################################################################################"
echo ""
echo -e "\n### Mise à jour de la base de données ###"
updateDB

echo -e "\n\n###          Vidage du cache          ###"
cleanCache

Je mets à disposition mon script (sous licence GPL) tout en précisant que son utilisation réfléchie ne pose pas de problème (pas plus qu'un checkout) mais qu'une mise à jour automatisée au moment où la révision Subversion plante (ça peut arriver), fait buger le site jusqu'à la mise à jour suivante...

Mise à jour : Métro-sexualisation du code pour un rapport par mail (crontab) plus lisible.

jeudi 30 août 2007

 

Scénario-PaintBall version 3 en préparation

Après plusieurs années de bons et loyaux services, il est grand temps que la version 2 de Scénario-PaintBall tire sa révérence, pour donner naissance à une v3 ;-).
Pourquoi ?

  1. Le forums : L'une des raisons principales et la version d'IPB, la 2.1.x. Cette dernière n'est plus ou ne sera bientôt plus supportée. Il est donc grand temps de passer à la branche 2.3.x.
    Les autre points découlent de cette mise à jour.
  2. Le portail : Il utilise l'ipbSDK qui n'est plus développé depuis la version 2.1 d'IPB (déjà que la 1.6 beta 5 pour IPB 2.1 était « limite »). Si je veux récupérer mon portail il faut donc que je rende compatible la dernier version du sdk avec la version actuel du forum... Or, j'ai la flemme de récupérer du vieux code !
  3. Le design : le passage vers IPB 2.3 oblige à refaire la feuille de style (si on veut pas faire le porc). A remonter une page, autant en remonter une nouvelle.

Lire la suite...

samedi 3 mars 2007

 

jQuery, UTF8 et Internet Explorer

Toujours dans la catégorie "pamphlet contre le navigateur de la firme de Redmond" : un petit désagrément que je viens de constater entre jQuery, le plugin Validation et Internet Explorer.
Si l'encodage de la librairie de base (jquery.js) et celui du plugin (jquery.validation.js) sont différents (UTF-8 pour l'un et ISO-8859-1 pour l'autre), des erreurs Javascript apparaissent dans IE.

Ça a l'air triviale, mais pourtant j'ai passé plus de 3 heures à essayer de débuger du Javascrit sous IE (il parait que c'est possible ;-)) qui, n'ayons pas peur des mots, est une véritable bouse dans le domaine du débug JS.

Lire la suite...

dimanche 25 février 2007

 

Thème llaumgui-ng, Dotclear 2 et jQuery

Je viens de basculer par défaut le thème "llaumgui-ng" et je devrais bientôt retirer le thème "llaumgui" de mon blog. Ce nouveau thème est plus moderne est plus sérieux que le précédent. Il est pour le moment en version bêta et devrait évoluer graphiquement (couleur, header, etc...) et techniquement, me permettant ainsi de transformer LLaumguiDotCom en petit Labo Web 2.0.

Lire la suite...

vendredi 23 février 2007

 

Preview du thème LLaumgui-ng

A la demande générale de certain qui se reconnaîtrons, je suis en train de concocter un nouveau thème pour mon blog, simplement appelé llaumgui-ng.

Pour le moment, vous pouvez admirer une preview de ce que ça donnera : un thème qui se rapproche du bureau de Gnome avec un header bien plus sobre que l'actuel qui sera basé sur un fond d'écran de Diana.

Question technique, j'utilise des éléments de CSS 2.0 qui pourraient ne pas être compatible IE6 (:first-child par exemple), et je m'en fout ! Je ne vais pas me casser le XXX à la place des ingénieurs de chez Microsoft qui ne sont pas fichus de coder un navigateur munit d'un interpréteur correct ! A bon entendeur...
Je suis aussi en train de regarder du côté de jQuery, inclue dans DotClear 2.0 afin de voir ce que je peux en faire...

Preview du thème LLaumgui-ng

J'attends vos remarques et commentaires.

mardi 6 février 2007

 

IPB 2.1 et le captcha avancé

La lutte anti-spam avance, mais malheureusement les bots aussi.
Désormais les robots spameurs arrivent à passer les captchas les plus basiques, et même à valider l'inscription par mail.

Scenario-PaintBall, l'un des 2 derniers sites que je gère et qui utilise IPB, a subit la semaine dernière une vague massive de spams.
Passer sous IPB 2.2 serait la solution, mais je devrais me lancer dans une séance de recoding complet de mon portail et je n'en ai malheureusement pas le temps actuellement.

J'ai donc utilisé ce mod qui permet d'appliquer le captcha avancé d'IPB 2.2 dans l'opus 2.1. L'accessibilité en souffre mais pour le moment les bots ne passent plus... Pour le moment...


Captcha simple d'IPB 2.1


Captcha avancé d'IPB 2.2

Bref, SPB est tranquil jusqu'à la prochaine vague...

- page 2 de 6 -