14 mai 2008 - 16:43Comment installer fileinfo sous debian

Les fonctions de l’extension FileInfo essaient de savoir le type de contenu et l’encodage d’un fichier en regardant certaines séquences d’octet “magique” à des positions spécifiques à l’intérieur du fichier. Bien qu’il ne s’agit pas d’une approche infaillible, la méthode heuristique effectue un très bon travail.

le problème avec cette extension c’est qu’elle est un peu dur à installer, en réalité pas si dur que ça, il suffit de prendre le temps de le faire. Il faut juste savoir qu’un simple apt-get install php5-fileinfo ne suffira pas, tout simplement parce qu’il n’existe pas de paquet debian pour cette extension (pas encore…).

Donc pour l’installer, voici la procédure :
Il faut d’abord installer PEAR :

apt-get install php-pear

ensuite il faut installer php5-dev si ce n’est pas déjà fait, ceci installera phpize ce qui nous évitera l’erreur :

sh: phpize: command not found
ERROR: `phpize' failed

installation de php5-dev :

apt-get install php5-dev

c’est presque bon mais pas encore :
maintenant il faut installer libmagic pour nous éviter une erreur lors de l’installation de fileinfo :

apt-get install libmagic-dev

maintenant tout est bon, nous allons enfin pouvoir lancer l’installation de notre extension :

pecl install fileinfo

Voilà, maintenant fileinfo est installée, nous allons pouvoir vérifier les types mime des fichiers avec des méthodes plus fiables ;-)

Normalement tout devrait fonctionner maintenant, mais il ce peut que l’extension ne soit pas activée comme il faut, dans ce cas il faudra créer un fichier fileinfo.ini dans /etc/php5/apache2/conf.d avec le contenu suivant :

extension=fileinfo.so

reloader apache avec /etc/init.d/apache2 reload et le tour est joué :)

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (5 votes, note : 4.6 sur 5)

1 Commentaire | Catégorie : Linux - Logiciels, PHP / MySQL, Programmation | Imprimer cet article Imprimer cet article


4 mars 2008 - 15:33Installer PHPDoc et générer une documentation

Dans cet article nous allons voir comment à partir d’un code source bien commenté, générer une documentation comme on aimerait avoir pour tout projet ou application digne de son nom.

Pour cela nous allons utiliser PHPDocumentor. qui va nous permetre de générer une documentation à paritr des sources de notre projet.

Il faut d’abord l’installer avec la commande suivante :

pear install phpdocumentor

(si pear n’est pas installé faites un apt-get install php-pear)

Si vous rencontrez un problème de dépassement de mémoire alouée avec PHP, allez dans /etc/php5/cli/php.ini et augmenter cette limite (il s’agit du paramètre memory_limit).

création d’un fichier de configuration pour le projet :

pour générer la documentation d’un projet nous avons besoin d’un fichier de configuration par projet, en voici un exemple :
fichier nom_du_projet.conf :

[Parse Data]
title = Titre de la documentation
hidden = false
parseprivate = off
javadocdesc = off
defaultcategoryname = Documentation
defaultpackagename = Projet
target = /PATH/OU/SERA/ENREGISTRE/LA/DOCUMENTATION
readmeinstallchangelog = README, INSTALL, FAQ, LICENSE
directory =   /PATH/VERS/LE/PROJET
ignore = templates/,test*.php
sourcecode = on
output=HTML:frames:earthli

et pour tester exécutez la commande suivante (après avoir créé le répertoire cible de la documentation)

phpdoc -c nom_du_projet.conf

et voilà, la génération prend un peu de temps, en fonction de la machine et de la taille du projet.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (5 votes, note : 5 sur 5)

Pas de Commentaires | Catégorie : Linux, Linux - Logiciels, PHP / MySQL, Programmation | Imprimer cet article Imprimer cet article

15 décembre 2007 - 19:52L’internationalisation en extension PHP

L’extension d’internationalisation est de localisation de PHP vient d’être annoncée en version Bêta, elle sera incluse dans PHP 5.3 (encore en développement).

Voici les premières classes disponibles :

  • Collator : Manipulation de chaînes ;
  • NumberFormatter : Manipulation de nombres ;
  • Locale : Informations sur la Locale ;
  • Normalizer : Uniformisation de texte en fonction de la locale ;
  • MessageFormatter : Construction abstraite de texte à partir des autres objets de l’extension.

Collator et FormatNumber permettent de travailler avec des chaînes et avec des nombres, de manière indépendante de la langue (ex : “français”) et de la localisation (ex : “fr-CA” ou “fr-FR”).
Locale et Normalizer permettent d’intéragir plus en détail avec la localisation et avec du texte localisé.
MessageFormatter est le maître d’orchestre, un nouveau sprintf() en quelque sorte.

L’annonce : http://php100.wordpress.com/2007/12/12/icuphplove/
La documentation : http://docs.php.net/manual/en/book.intl.php
Téléchargement : http://pecl.php.net/package/intl

Source : Developpez.com

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (5 votes, note : 4.8 sur 5)

Pas de Commentaires | Catégorie : PHP / MySQL | Imprimer cet article Imprimer cet article

13 décembre 2007 - 23:15Planète PHP

L’Association des Utilisateurs de PHP (AFUP) propose dès aujourd’hui un nouveau site ‘Planète PHP’.

Ce nouveau site regroupe l’ensemble des blogs et sites francophones parlant surtout de PHP.

Un très bon site dont la plus part des blogs partenaires sont très actifs sur la scene PHP. Un site complémentaire du site de Nexen.net

Planete PHP

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (1 votes, note : 5 sur 5)

Pas de Commentaires | Catégorie : Divers | Imprimer cet article Imprimer cet article


5 décembre 2007 - 20:12Go PHP 5

PHP 4 a servi la communauté de développeurs pendant 7 ans et il continue a le faire, cependant il montre de plus en plus ses limites dues sûrement à son âge ;-). La plupart des défauts de PHP 4 ont été réparés par PHP 5, sorti il y a maintenant 3 ans, mais la transition du 4 au 5 a été lente et n’est toujours pas finie.

Les développeurs de PHP ne peut pas démultiplier les efforts et se consacrer entièrement à PHP 5 sans laisser tomber le support de PHP 4, ce dernier est toujours installé chez la majorité des hébergeurs web, et en cas de transition brusque les utilisateurs seraient obligés de changer/développer leurs applications et les rendre compatibles PHP 5 sans quoi elles seraient obsolètes, c’est pour cette raison que les hébergeurs ne peuvent mettre à jour leurs PHP aussi facilement que ça en a l’air.

C’est ce qui fait en sorte que la PHP Team ne peut laisser tomber le support de PHP 4 pour se consacrer pleinement à PHP 5, vu le nombre important de serveur toujours en PHP 4, c’est un peu le cercle vicieux et commence a peser lourd dans le développement de PHP. Mais la communauté de développeurs a compris que c’est dangereux et qu’il était temps de briser ce cercle, pour cela à partir du 5 février 2008 seuls les projets compatibles PHP 5.2 ou supérieurs seront agréés par l’équipe.

Espérant que cela donnera aux hébergeurs le courage / l’envie de mettre leurs serveurs à jour, et ainsi permettre à PHP 5 de se développer dans de bonnes conditions.

Pour plus d’informations sur le sujet, allez voir ce site

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Pas de Commentaires | Catégorie : Divers, PHP / MySQL | Imprimer cet article Imprimer cet article

2 décembre 2007 - 22:21Benchmark PHP 5

Ce n’est pas vraiment un article mais plutôt un résumé d’un plus complet se trouvant sur Développez.com

Dans cette article, on verra comment différentes écriture de la même chose peuvent donner des résultats bien différents, comme la différence entre :


<?php 
echo 'toto'
//et
echo "toto" ?>

ou encore entre :


<?php 
echo "toto".$vaiable
//et
echo "toto $variable" ?>

ou encore :


<?php 
$i
===NULL
//ou
is_null($i?>

allez sur cette adresse http://m-fernandez.developpez.com/articles/php/bench/ vous trouverez le test complet, ça vaut le détour :-)

Bonne lecture…

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Pas de Commentaires | Catégorie : PHP / MySQL | Imprimer cet article Imprimer cet article

1 décembre 2007 - 22:22Formation Symfony

L’équipe Symfony organise sur Paris une session de 3 jour pour apprendre à développer rapidement et efficacement des applications web de haute qualité avec symfony. du 5 au 7 Déc. 2007 en Français et du 13 au 15 Fév. en Anglais. Durant ces 3 jours vous serez guidés par les experts de Sensio qui partageront avec vous leur expérience et leur savoir faire en la matière.

cette session est faite pour les développeurs débutants mais aussi les débutants confirmés.

plus de détails sur cette page : http://www.sensiolabs.com/fr/offre/formation-symfony

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Pas de Commentaires | Catégorie : PHP / MySQL | Imprimer cet article Imprimer cet article


25 novembre 2007 - 22:19Symfony framework - Changez votre façon de programmer en PHP

Symfony est un framework développé en php, il propose de nombreux outils facilitant grandement la programmation d’applications de moyenne et grande envergure, dans un esprit de simplicité, rapidité mais aussi d’efficacité.

Le framework est développé par une équipe de professionnels ayant une grande expérience dans le domaine (en plus ils sont français :-) et font pleins de présentation de leur bijou)

sur cette page vous trouverez la vidéo d’une présentation datant de Mai 2007 (http://php.developpez.tv/presentation-symfony-2007/ )

Symfony est largement utilisé dans le monde professionnel et associatif et commence a avoir une communauté assez conséquente.

la communauté FR a encore un peu de mal a voir le jour, mais ça viendra sûrement :)

voici l’adresse du site : http://www.symfony-project.org
tout est en anglais mais les traductions commencent a affluer…

bon surf et bonne découverte.

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Pas de Commentaires | Catégorie : PHP / MySQL | Imprimer cet article Imprimer cet article

4 février 2007 - 22:46PHP 5, un constructeur et un destructeur uniformisés

Avec PHP 5, les choses deviennent plus simples et plus logiques: toute méthode réservée par PHP 5 est préfixée par __ (double soulignement ou underscore). C’est le cas notamment du constructeur déclaré par la méthode __construct et du destructeur déclaré par __destruct. Il faut noter malheureusement, qu’il n’est toujours pas possible de déclarer plusieurs constructeurs avec des paramètres différents alors qu’il est maintenant possible de typer les paramètres de méthode.

Voici un exemple d’utilisation de constructeur et de destructeur:


<?php 
// La ligne ci-dessous permet d'afficher tout texte comme texte simple et non comme
// du HTML. C'est utile si nous utiliserons la fonction print_r/print('n')
// (voir la documentation PHP pour plus d'info)

header("Content-type: text/plain");

class 
Utilisateur {
   private 
$nom null;
   private 
$prenom null;
   private 
$dateNaissance null;

   function 
Utilisateur($nom$prenom$dateNaissance=null) {
       print(
"Utilisateur($nom, $prenom, $dateNaissance=null) appelé");
   }

   function 
__construct($nom$prenom$dateNaissance=null) {
       print(
"__construct($nom, $prenom, $dateNaissance=null) appelé");
       
$this-&gt;nom $nom;
       
$this-&gt;prenom $prenom;
       
$this-&gt;dateNaissance $dateNaissance;
   }

   function 
__destruct() {
       print(
"__destruct() appelé");
       unset(
$this-&gt;nom);
       unset(
$this-&gt;prenom);
       unset(
$this-&gt;dateNaissance);
   }
}

$utilisateur = new Utilisateur("MARTIN""Pierre");
unset(
$utilisateur); ?>

Vous remarquerez à l’exécution que l’ancien constructeur PHP 4 n’est plus utilisé. C’est totalement normal dès que vous utilisez un constructeur de type PHP 5. Ceci permet une compatibilité ascendante de PHP et ainsi de pouvoir continuer d’utiliser des classes développées pour PHP 4 avec la dernière version du langage.

L’appel du destructeur est fait implicitement par le moteur de PHP à la fin du script. Mais si vous souhaitez faire de la programmation propre, vous devez l’appeler explicitement avec le mot clé unset qui existe déjà avec PHP 4. C’est ce que nous faisons avec le unset($utilisateur) à la fin du code. Nous le faisons aussi dans le destructeur de la classe Utilisateur.

Si nous avions utilisé des objets pour stocker les attributs de cette classe (des objets String par exemple), leurs destructeurs respectifs auraient, eux aussi, été appelés produisant un effet “domino” sur l’ensemble des objets utilisés.

Pour les connaisseurs, l’équivalent du mot clé unset en langage C++ est delete (un temps envisagé semble-t-il avec PHP 5).

Source : http://www.toutprogrammer.com

Pour les commentaires c’est par ici : http://naeh.net/forum/index.php?topic=31.0

1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles (aucun vote)

Pas de Commentaires | Catégorie : PHP / MySQL | Imprimer cet article Imprimer cet article