Archive

Posts Tagged ‘php’

Wordpress 2.8 prévu pour le 10 juin

juin 9th, 2009

Si tout va bien la version 2.8 de Wordpress devrait être disponible le 10 juin 2009 (soit demain ;) ).

C’est en tout cas ce qu’annonce le site de l’association Wordpresse francophone.

Au niveau des nouveautés, on retrouve :

  • un nouveau look pour l’interface d’administration
  • le dashboard devient personnalisable
  • installation des thèmes simplifiés via un module de recherche et d’installation des thèmes depuis l’interface d’administration
  • la possibilité de supprimer un thème depuis l’interface d’administration
  • un nouvel éditeur de fichiers (pour modifier le code des templates par exemple) basé sur CodePress
  • documentation des API accessible directement depuis l’interface d’administration
  • et bien d’autres ….

En conclusion cette mise à jour de Wordpress s’annonce prometteuse et j’ai hate de pouvoir opérer la mise a jour de ma plateforme. En attendant demain, vous pouvez toujours tester la RC1 de Wordpress 2.8 en la téléchargeant sur le site officiel.

VN:F [1.0.8_357]
Rating: 0.0/5 (0 votes cast)

General, developpement , , ,

Extension ezPublish ezGeolocalization

mars 20th, 2009

Je viens de mettre à disposition dans les contributions du site d’ezPublish ma toute dernière extension : ezgeolocalization.

Celle comme son nom l’indique vous permet de géolocaliser les internautes à partir de leur IP. La géolocalisation est de plus en plus utilisée notamment pour proposer des contenus aux internautes en fonction de leur position géographique (par exemple les salles de cinéma proches de chez moi) ou alors pour protéger des contenus (par exemple j’ai l’exclusivité sur les actualités de la formule 1 mais seuls les internautes de france métropolitaine peuvent y accéder).

J’ai donc développé une extension ezPublish proposant une solution de géolocalisation. L’extension utilise les bases de données de géolocalisation gratuites des pays et des villes fournies par la société Maxmind. Elle utilise de plus l’API virtualearth de microsoft afin de vous permettre d’afficher sur une carte interactive et dans le navigateur la position de la ville ou du pays de l’internaute comme présenté sur la capture d’écran :

ezgeolocalization.jpeg

J’ai préféré utiliser virtualearth plutot que googlemap tout simplement car l’API de microsoft (virtualearth) contrairement à celle de google ne nécessite pas de génération de clé d’authentification pour l’utiliser ce qui était un objectif capital pour pouvoir diffuser mon extension.

Fonctionnalités de l’extension

  1. pour le front, des opérateurs de templates et une classe métier PHP afin de pouvoir géolocaliser un internaute via son IP
  2. une interface backoffice permettant d’effectuer les mises à jours manuelle des bases de données ainsi qu’une interface permettant de géolicaliser une IP
  3. un cron de mise à jour automatique de la base de géolocalisation des pays (la base des villes est trop grosse pour cela) à partir du site de Maxmind

Vous pouvez télécharger cette extension à l’adresse suivante : http://agdeveloppement.e3b.org/ezpublish/ezgeolocalization.zip (22Mo).

Installation

  1. décompresser l’archive zip et la copier dans le repertoire extension d’ezPublish
  2. décompresser le fichier /sql/dump_ezgeo.zip et exécuter le script SQL afin de créer les tables de géolocalisation
  3. activer l’extension dans le backoffice
  4. vider le cache d’ezPublish

Ce n’est pour l’instant que la version 1 de cette extension et je travaille encore dessus afin de lui apporter de nouvelles fonctionnalités.

N’hésitez pas à me laisser vos commentaires ils me seront très utiles pour faire évoluer ce projet.

VN:F [1.0.8_357]
Rating: 3.2/5 (6 votes cast)

developpement, ezPublish ,

Maximum function nesting level of ‘100′ reached

décembre 8th, 2008

Depuis quelques temps sur mon serveur de développement PHP, je suis régulièrement tombé sur l’erreur fatale suivante : Maximum function nesting level of ‘100′ reached.

N’ayant jamais rencontré cette erreur auparavant et ayant installé dernièrement l’extension PHP Xdebug j’ai creusé dans cette direction.

L’extension PHP Xdebug qui permet de faire du debuggage ainsi que du profiling PHP définit le paramètre de configuration xdebug.max_nesting_level (par défaut à la valeur 100). Ce paramètre permet de déterminer le nombre maximum de fonctions imbriquées avant de stopper l’exécution du script.

Il suffit donc d’augmenter la valeur de ce paramètre de configuration et de redémarrer Apache pour ne plus rencontrer le problème.

NB : je n’ai pas trouvé de valeur permettant d’ignorer ce paramètre comme il est possible de le faire pour la variable max_execution_time par exemple.

VN:F [1.0.8_357]
Rating: 4.8/5 (6 votes cast)

developpement

Invoquer des méthodes d’un objet métier dans un template ezPublish

décembre 4th, 2008

Lors de développements de modules ou d’extensions pour le CMS ezPublish nous sommes souvent amenés a développer des classes php métiers (pour accéder aux données, réaliser des traitements particuliers, …).

Il peut devenir alors utile dans un template de vouloir manipuler une instance d’une classe métier et d’invoquer des méthodes php de cette classe. EzPublish fournit pour cela un mécanisme assez simple à mettre en oeuvre qui permet d’exposer des méthodes d’une classe php à un template.

Pour cela, la classe métier doit définir les trois méthodes suivantes :

  • attributes
  • attribute
  • hasAttribute

Méthode attributes

Cette méthode permet de donner la liste de toutes les fonctions de la classe que le template peut invoquer sur l’instance de cette classe. En gros elle retour un tableau de chaines de caractère avec le nom des méthodes accessibles dans le template.

Elle ne prend pas de paramètre en entrée.

Méthode hasAttribute

Cette méthode permet de valider que la fonction invoqué sur l’instance de la classe dans le template existe bien.

Elle prend en entrée un paramètre de type chaine de caractère représentant la méthode à invoquer

Méthode attribute

Cette méthode fonctionne comme un hub en reroutant l’invocation de fonction depuis le template sur la bonne méthode de la classe.

Elle prend en entrée deux paramètres :

  • une chaine de caractère représentant la méthode invoquée
  • un booléen indiquant s’il s’agit d’une fonction invoqué ou un attribut de la classe

Voici un exemple de classe php implémentant ces méthodes :

class myClass{
public function __construct(){…}
public function sayHello(){
return “hello the world !!!”;
}
/**
* Retourne un tableau avec toutes les méthodes utilisables dans
* un template
*
* @return array liste des toutes les méthodes accessibles en template
*/
public function attributes(){
return array(’sayHello’);
}
/**
* Valide que la méthode appellée dans un template existe
*
* @return bool true si la fonction existe false sinon
*/
public function hasAttribute($attr){
return in_array($attr, array(’sayHello’));
}
/**
* Execute la méthode demandée dans un template
*
* @param string $attr
* @param bool $noFunction
*/
public function attribute($attr, $noFunction = false){
if($attr == ’sayHello’){
return $this->sayHello();
}
}
}

Maintenant dans un template auquel nous avons au préalable passé une instance de la classe myClass, nous pouvons invoquer la méthode sayHello de la manière suivante :

{$instance.sayHello}
VN:F [1.0.8_357]
Rating: 3.8/5 (5 votes cast)

developpement, ezPublish ,

Extension ezPublish AjaxClassEdit

décembre 2nd, 2008

Voici la dernière extension ezPublish que j’ai développé.

Cette extension modifie l’interface d’édition et de création des classes de contenu ezPublish en évitant de poster et recharger la page à chaque modification.

Tous les traitements se font en AJAX ce qui rend la gestion des classes plus facile et surtout plus rapidement (notamment lorsqu’il faut déplacer des attributs).

L’extension utilise la framework javascript JQuery dans sa version 1.2.6 et fonctionne à partir de la version 4.0 d’Ez Publish.

vous pouvez télécharger l’extension à l’adresse suivante : http://ez.no/developer/contribs/applications/ajax_class_edit

Installation de l’extension

Pour l’installation il suffit de suivre les étapes suivantes :

  1. décompresser l’archive zip dans le répertoire extension de votre installation ezPublish
  2. activer l’extension dans le backoffice (onglet administration)
  3. regénérer les autoloads

N’hésitez pas à laisser vos commentaires si vous rencontrez un problème un bug ou si vous désirez des améliorations

VN:F [1.0.8_357]
Rating: 3.0/5 (2 votes cast)

Projets professionnels, developpement, ezPublish , ,

Europe1.fr mon dernier projet

juin 6th, 2008

C’est avec un peu de retard (3 semaines) mais beaucoup de fierté que je vous présente la sortie du dernier projet sur lequel j’étais chef de projet : la nouvelle version du site Europe1.fr.

Après un peu plus de 4 mois de développement (dont 1 gros moi seul), pas mal de nocturnes pour régler les divers soucis le site a enfin pu voir le jour. A noter que nous n’avons quasiment pas eu de retard par rapport à la sortie espérée (soit 1 seule journée).

Au niveau technique, le site a été développé à l’aide d’eZpublish un CMS/framework PHP et notamment sa dernière extension eZFlow. Le site utilise aussi abondamment l’AJAX avec le framework de yahoo yui.

Nous travaillons actuellement sur son petit frère Europe1 sport en rapport avec la nouvelle station du groupe Europe1.

VN:F [1.0.8_357]
Rating: 4.2/5 (5 votes cast)

Projets professionnels, developpement, ezPublish , ,