Un Electron Libre...

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

lundi 8 septembre 2008

En 2008, ça se fait encore...

Besoin : afficher les 8 dernières actualités et mettre en place un système de pagination pour accéder aux actualités

Réponse obtenue et livrée d'un développeur d'une SSII :

  • Récupération de toutes les news (via l'équivalent d'un joli SELECT *) dans un tableau en PHP
  • Parcours du tableau pour conter le nombre d'éléments du tableau obtenu précédemment et gérer ainsi la pagination
  • Récupération en base des 8 dernières news en vue de leur affichage (ce serait trop bête d'utiliser le tableau obtenu précédemment)
  • Pas d'utilisation du mécanisme de cache fourni par le CMS (eZ Publish) - donc à chaque rechargement de page, on recommence...

Quand il y a une 20aine d'actualités, coté temps d'affichage ça va encore - lorsqu'il y en a >1000, ça le fait tout de suite moins.

Réponse attendue d'un développeur sensible aux bonnes pratiques du web et conscient des problématiques de charges :

  • Utilisation de COUNT (ou plutôt de son équivalent dans le langage du CMS utilisé)
  • Récupération en base des 8 dernières actualités en vue de leur affichage
  • Mise en cache du résultat obtenu

C'est dans ces cas aussi que l'on souhaite une professionnalisation des métiers du web. Certains diront que la qualité se vend mal. C'est sur que si les clients ont déchanté face aux promesses de qualité faites par les SSII/Editeurs, ils vont avoir du mal à acheter une telle qualité annoncée. Le problème tient au fait pour les SSII de prouver à leurs clients que la qualité annoncée sera au rendez-vous et de former le cas échéant ces collaborateurs. Pour le bien de tous (développeur, SSII, client), il est évident que cette professionnalisation se fasse mais faut-il encore le vouloir et le financer... Dans ce cadre, on ne peut pas demander à un collaborateur de se former sur son temps libre ou chez un client...

samedi 16 août 2008

Vrac de rentrée

Django 1.0 Alpha 2 puis Beta 1 sont sorties, au programme :

  • (alpha 2) Intégration de l'application de système d'information géographique GeoDjango
  • (alpha 2) Extensibilité des types Fichiers (FileField) et Images (ImageField) pour permettre une manipulation plus souple de ces types d'éléments
  • (alpha 2) Compatibilité avec Jython (qui permet de faire fonctionner du code python dans une application Java pour faire simple)
  • (beta 1) Les relations génériques sont maintenant supportées dans l'interface d'admin et dans les formulaires
  • (beta 1) Amélioration de la flexibilité de l'interface d'administration pour tout ce qui est antérieur ou postérieur à la sauvegarde d'un élément (cf doc)
  • (beta 1) La distinction entre un INSERT et un UPDATE au niveau de la méthode save() est améliorée (comprendre, on peut la gérer soit même)
  • (beta 1) Le middleware du cache a été éclaté en 3 - CacheMiddleWare continue à exister en tant que tel et est constuit sur la base de deux nouvelles classes (une pour créer le cache, l'autre pour le lire) (cf doc)
  • (beta 1) Les fonctionnalités obsolètes et maintenues jusqu'alors sont supprimées (il faut donc renommer vos django.newforms en django.forms par ex).

Pour ceux qui veulent avoir un aperçu des progrès réalisés par Django en deux ans, ils peuvent lire JeffCroft.com: Top ten things that suck about Django, revisited.

Pour rester dans Python, Smile se pose la question Faut-il avoir peur de Python, ça m'a rappelé ce billet sur l'adoption (ou pas) des nouvelles techo / langages ayant le vent en poupe. Serais-je un tantinet médium ? ;-)

Pour sortir un peu de python & django, un petit point sur la compatibilité des sites avec les navigateurs avec une série d'astuces utiles. Dans la même veine, un billet pour rendre vos newsletter en html lisibles sous vos webmails & clients mails.

Un petit état des lieux sur eZ Publish 4.0 et ses bugs - ça me promet une rentrée épique ça :-(

Prochain billet : revue de lecture sur Practical django projects de James Bennet ; il me reste les deux derniers chapitres à finir...