Sortie en béta de la version 2.5



C'est une très grosse mise à jour de Kajax que voilà, je me suis longuement taté à le nommer 3.0 au vue des changements colossaux, tant sur les modules, sur le noyau que sur les vues/modèles.

Les sites inférieurs à la 2.5 ne sont plus compatibles avec les versions supérieures, je vais devoir les réviser, cela sera fait aussi vite que possible dès que j'aurais finalisé cette mise à jour.

J'ai encore besoin de faire qqs tests 'online' et voir les retours des utilisateurs finaux.

Au programme de cette mise à jour :


  • Optimisation de la génération des pages ajax et normales via un meilleur contrôle du level des buffers (on ne stocke plus rien dans un attribut, une meilleur gestion du processus de création de la page a permis de mettre des echos partout)
  • Remaniement de l'instanciation de Kajax_Core et de ses constantes (qui sont maintenant dans une méthode qui surcharge à la volée la classe Kajax_Core)
  • Optimisation de l'envoie des données aux clients pour les pages normales, on flush le tampon après le début de la déclaration du js Kajax_Core et avant la création de la page, Kajax_Core mettant du temps à load, ça divise par 4 environ le temps de chargement de la page
  • Ajout de protection anti-flood 'bas niveau' (Si nombre de pages > 30, alors 1 page vue par seconde maximum sinon on lock l'accès) - bas niveau car on est forcé d'utiliser le phpsid comme base vu qu'il ne faut pas que les connections en provenance d'un cyber café ou d'une entreprise soient bloquées - ip multi-utilisateur)
  • Mise à jour de MooTools 1.2.2 vers 1.2.4
  • Mise à jour du module article 4.2 vers article 4.3 :
    • Ajout d'un bouton à côté de "Ecrire une page/un article" pour que se soit clair
    • Correction d'un bug dans l'ajout d'article : la création d'un nouveau tag avait un soucis
    • Les tags sont maintenant affichés sur 3 colonnes
    • Ajout d'une lightbox sur la page d'affichage des images extraites
    • Correction d'un bug dans l'édition des catégories : la cache est maintenant correctement rafraîchie
    • La gestion des liens est dorénavant dans la classe m_actualite
    • La recherche avancée ne rafraichie plus toute la page mais juste les résultats (dans le cas d'une navigation avec js)
  • Le sitemap est automatiquement regénéré si il n'est plus à jour (vieux de plus de 3jours) dès qu'un admin s'authentifie
  • Mise à jour du module RSS javascript Reader, les news du flux RSS défilent verticalement à l'infini (par la même occasion, j'ai découvert que la méthode inject de la classe Element de MooTools, déplacait l'élement si il existait déjà)
  • Kajax vient de devenir adhérent du club ie6nomore, dorénavant les utilisateurs IE6 (et IE7) ont un bandeau qui s'affiche dans le footer les incitant à mettre à jour leurs navigateurs (pour IE8, Chrome, Firefox ou Safari) - IE6 a plus de 9ans, il est temps de tourner la page. Le bandeau est non-intrusif.
  • La librairie RSH ne fait plus partie du main js, et est appelé que si l'utilisateur tourne sous IE6 ou IE7.
  • Dorénavant, si la base de données tombe, au lieu de systématiquement dire que le site est innaccessible, on vérifie si le fichier n'est pas caché, et si oui, on l'envoit (Pour détecter rapidement si la base est tombée, il suffit d'aller sur une page non cachable, autrement dit à contenu dynamique pour url fixe, comme les pages issus du module Contact)
  • Standarisation de la procédure d'envoie des css et des js dans les flux, les pages et les génératrices(contenant ou non du php, étant ou non pré-compressé)
  • Les chemins vers le fichier et la cache des différents types de js/css n'est plus généré dans le processus de création d'une page normale
  • Au lieu de renvoyer des entiers suivants les erreurs rencontrées sur les différents traitements, dorénavant on balance des headers 400,403 ou 503(respectivement pour : Mauvaise requète, Interdit, ou Service temporairement indisponible)
  • Les headers ne sont plus gérés par la classe page, mais par la classe header (pour la gestion des erreurs, merci d'utiliser header::sendXXX($options), XXX étant le code HTTP de l'erreur) Attention, certaines erreurs (type 301,400,403,503) kill le thread php
  • Les RSS sont bien distribués avec le content-type application/rss+xml sauf pour IE6 et IE7
  • Tous les modules le permettant ou contenant des javascripts/scripts ajax ont maintenant un numéro de version (Attention, il faut impérativement qu'à la racine du répertoire du module il y est un fichier preload.php contenant le path_module avec le bon numéro de version hérité de $system['modules'])
  • Optimisation de la fonction d'auto-chargement des classes (c'est une fonction dorénavant, plus une méthode static d'une classe) - merci de rajouter m_ dans le nom de vos classes/fichiers lorsqu'il s'agit d'une classe contenue dans un module
  • Remaniement des noms des modules (users et groups deviennent rights, article devient actualite, gestion_pages et gestion_template deviennent core)
  • La fonctionnalité navigation précognitive est maintenant un module (precog) à part entière. (je suis en train de mettre au point un système de pré-determination de la naviguation en fonction du point d'entrée du client et de sa naviguation antérieure - j'ai besoin de plus de temps, ça sera sans doute pour la version 2.6+)
  • Optimisation de la taille de tous les scripts ajax avec le nouveau système de preloading dynamique.
  • Le meta template ne possède plus d'id, je me suis résigné à utiliser $$('meta[name=template]')[0].content au lieu de $('template'). C'est plus lourd côté client mais le validator du W3C ne génère plus d'erreurs.
  • L'authentification utilise le template admin dorénavant au lieu du template par défaut (Le menu est désactivé par défaut, à la fin de l'auth, on force le reload du template pour que le menu apparaisse en overwritant la variable js Kajax.current_template-le numero du template admin doit être différent de 0) + correction d'un petit bug graphique
  • Dorénavant tous les modules ont pour classe mère m_nomdumodule qui contient toutes les constantes nécessaires au module, cette classe mère peut être étendu à la classe constant de Kajax au besoin
  • Optimisation de Kajax_Core : mise à jour des vieux algorithmes, ils utilisent dorénavant 100% des fonctionnalités offertes par MooTools (dont le .bind(this)
  • Mise à jour du module precog 0.9 vers 1.0
    • Kajax n'envoit que les js/css si la page n'est pas cachable côté client
    • Les js/css des pages préchargés sont dorénavant interprétés puis retirés du flux avant la mise en cache (ce qui évite une double interprétation lors de l'appel de la page)
  • Le script GA ne fait plus parti du groupement js dans le flux, il possède son propre attribut (et ce afin de standariser l'extraction et la suppression à la volée des librairies js dans le flux)
  • Optimisation de la taille des pages, merci de ne plus écrire en dure dans votre ancre l'event onclick="return Kajax.Ajax(this)", préferez class="ajax", Kajax ajoute à la volée sur toutes les ancres ayant pour classe ajax un event onclick qui lance Kajax.Ajax(this)
  • Le sitemap et le robots.txt sont dorénavant générés par une nouvelle génératrice - core, robots.txt fournit l'url du sitemap maintenant
  • Mise à jour du module rights vers 1.0
    • Ajout de la gestion de groupes d'utilisateurs (gérant n modules - n'oubliez pas de regénérer les droits qd vous ajoutez un module, sinon vous n'y aurez pas accès)
    • Ajout de la gestion des utilisateurs (pour que vous puissez valider l'ajout, il faut que le passmetter soit dans le vert - l'edition ne permet pas de modifier le pass, merci de cliquer sur Regénérer un nouveau password et de copié/collé au besoin le contenu de l'alert)
    • Les groupes Invite et Root(0et1), ainsi que les utilisateurs Invité et Admin(1et2) ne sont, ni accessibles, ni modifiables
  • Correction de la librairie js AutoCompleter pour permettre une compression forte (gain de 49%)
Partager sur les réseaux sociaux !        



0   Suivre les commentaires :   ou    

  Laisser un commentaire  

Partenaires : Le Monde Numérique - Création de site internet dynamique
Cabinet d'expertise comptable - Construction de maisons individuelles

WebAnalytics