Développement

Web & bonnes pratiques

Barcamp « Performances web »

A mon travail, on essai de faire une fois par mois un déjeuner autour d’une thématique. J’étais déjà intervenu il y a quelques mois pour présenter GIT, avec pour sanction immédiate que GIT soit devenu notre gestionnaire de sources par défaut et certain de nos grosses TMA ont déjà migré dessus. Bref, ce mois ci la thématique était autour des performances web avec une présentation dense (plus de 1H30) ayant pour but de présenter les bonnes pratiques à nos nouveaux membres (c’est comme ça qu’on appel les salariés chez CGI) ainsi que de faire une piqure de rappel aux anciens et peut être leur rappeler pourquoi. La présentation sous reveals est…

php

php

PHP: Hypertext Preprocessor, plus connu sous son sigle PHP (acronyme récursif), est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n’importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet.

FluxSphinx, l’intégration de Sphinx dans FluxBB

Il y a de cela quelques mois, nous avons rencontré des montées en charge sur Borsalino (l’ancien serveur de Fedora-Fr). Après enquête, il s’est avéré que la recherche de certains mots (ceux qui remontaient le plus de résultats) sur les forums faisait planter les sites en entrainant une charge sur le serveur MySQL. La sentence est vite tombée et nous avons été contraints de couper la recherche native sur les forums de Fedora-Fr et de basculer sur Google Custom Search Engine. Avec l’arrivée de Stetson, le nouveau serveur mis à disposition par nos amis d’Ikoula, la question de remettre la recherche en place s’est posée. Cependant, je trouvais frustrant de…

eZ Publish

eZ Publish

Le CMS open source en php.

Fedora-Fr v5, étude de cas d’un site sous eZ Publish & eZ Flow

Rappelez-vous, il y a de cela 3 ans, Fedora-Fr passait sous eZ Publish pour les sous-domaines de portail et planet. Récemment nous avons entrepris une grosse refonte graphique de Fedora-Fr sous le nom de code "Fedora-Fr v5". L'occasion de revenir sur mon article précédent afin de converser sur les évolutions de notre implémentation du CMS eZ Publish.

php

PHP

PHP: Hypertext Preprocessor4, plus connu sous son sigle PHP (acronyme récursif)

Fedora & l’assurance qualité sur les projets php

La qualité est un problème récurent dans les applications php. En effet, le php est un langage hautement permissif et très facile d’accès. Ceci donne certains codes disponibles sur la toile de bien piètre qualité voir carrément nocifs pour ceux ayant un tant soit peu de trafique sur leur serveur. Lors de ma participation aux derniers eZ Day, j’ai eu la chance d'assister à une conférence donnée par Sebastian Bergmann le Mr de qualité en php et j'ai trouvé ses initiatives plutôt intéressantes. Sur le plan professionnel, nous avons également fait le choix de mettre en avant la qualité dans la réalisation de nos projets et c’est donc tout naturellement que nous nous sommes tournés vers une solution d’intégration continue et la suite d’utilitaire phpUnit.

eZ Publish

eZ Publish

Le CMS open source en php.

Petit résumé de l’eZ Conference & Awards

acronym Jeudi et Vendredi, se tenait l'eZ Conference, qui après pas mal d'années passées dans le pays natal d'eZ System (la Norvège) a, cette année, posé ses valises dans notre capital. L'occasion pour moi d'y participer (Merci Bertrand pour l'invit') !

Code Python

Mes débuts avec Python

Récemment, j'ai entrepris d'apprendre un nouveau langage de programmation. Pour le choix du langage, j'avais plusieurs prérogatives : Un langage open-source Un langage permettant des IHM (PHP-GTK n'est pas satisfaisant en mon sens) mais aussi des scripts (pour le côté sysadmin) Un langage multi-plateforme C'est donc naturellement que je me suis lancé dans l'apprentissage du Python qui, en plus de remplir toutes ces conditions, est très implanté au sein du projet Fedora et de sa communauté. Pour cela, j'ai commencé par l'achat de "Programmation Python" de Tarek Ziadé aux éditions Eyrolles, qui est à la fois simple, poussé et pas trop chiant à lire (ce qui est rare pour ce genre de bouquin ;-)).

eZ Publish

eZ Publish

Le CMS open source en php.

eZ Publish : activation vs forgotpassword

Il y a quelque chose d’étrange dans la façon dont eZ Publish gère l’activation de compte. En effet, si je crée un compte mais ne le valide pas, je ne peux pas faire une demande de renvoi du mail d’activation. Je peux cependant demander une re-génération de mon mot de passe via la fonction forgotpassword. Cette procédure demande, au préalable, une validation par mail, ce qui permet alors de vérifier le mail de l’utilisateur. Me voila donc l’heureux propriétaire d’un compte dont l’email est validé, le mot de passe re-généré, mais qui est toujours inactif… En annexe, je joins un petit patch pour remédier à cela. Je l’ai proposé…

eZ Publish

eZ Publish

Le CMS open source en php.

ezoescript et ezoecss : 2 bonnes surprises dans ezoe

Pour ceux qui ont suivi [mon précédent billet sur l'optimisation des javascripts|/post/Optimiser-ses-javascripts-%3A-le-cas-de-mootools|fr|Optimiser ses javascripts : le cas de mootools], vous l'aurez compris : je suis sensibilisé à l'optimisation des sites web et notamment (entre autre) à la préconisation [Yahoo! Developer Network|http://developer.yahoo.com/|en] :"[Minify JavaScript and CSS|http://developer.yahoo.com/performance/rules.html#minify|en]". Cette préconisation suggère de réduire les CSS et les javascript en nombre et en poids. Dans le meilleur des cas, il faudrait donc n'avoir qu'une feuille CSS et qu'un fichier Javascript de poids raisonable. Pour [la migration du planet Fedora-Fr sous eZ Publish|/post/Le-planet-de-Fedora-Fr-sous-eZ-Publish|fr|Le planet de Fedora-Fr sous eZ Publish], j'avais pour intention de développer une extension [eZ Publish|http://ez.no/|en|eZ Publish Open Source Enterprise Content Management System] intégrant un minifier JS/CSS. J'étais parti pour utiliser [JSMin|http://code.google.com/p/jsmin-php/|en|This is a fast, low-overhead port of Douglas Crockford's JSMin JavaScript minifier to PHP. It requires PHP 5 or higher] qui, certes est moins ''puissant'' que [YUI|http://developer.yahoo.com/yui/compressor/|en|Yahoo! UI Library: YUI Compressor] ou [packer|http://dean.edwards.name/packer/|en] mais qui offre le double avantage d'être full [php|http://php.net/] (YUI utilise JAVA) et surtout de ne pas trop altérer le source à grands coups d'[eval|http://www.w3schools.com/jsref/jsref_eval.asp|en] (comme le fait packer). Mais au final, j'ai fait le choix de ne pas utiliser le système de design d'eZ Publish et de continuer à stocker le design (CSS, images, JS) de chaque sous-domaine (www, planet, forums, doc, etc..) dans un sous domaine commun (common). Au final, que vous soyez sur le planet, l'accueil ou sur les forums de [fedora-fr|http://www.fedora-fr.org|fr|Site de support de la distribution Linux Fedora], vous ne téléchargerez qu'une fois les images et les feuilles de styles.

JavaScript

JavaScript

JavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives mais aussi pour les serveurs avec l’utilisation (par exemple) de Node.js

Charger des javascripts distants dans le « domready » de Mootools

Certains l’avaient peut-être remarqué, depuis quelques jours, le blog ramait grave ! Les symptômes : le bandeau, qui change selon l’heure de la journée, ainsi que différentes couleurs du site mettaient du temps à s’afficher. La faute au script de Twitter qui ralentissait le chargement de la page et reculait d’autant l’évènement domready de MooTools. C’est après avoir posé la question sur les forums de MooToos que la solution c’est offerte à moi : construire l’élément <script> qui appelle les javascripts de Twitter dynamiquement et dans le domready,…