Les classes et librairies vraiment utiles pour les développeurs PHP
Date de publication : 05/10/2009
Par
Saud Khan (Auteur)
Joris Crozier (Traducteur)
Aujourd'hui des millions de sites et de serveurs web à travers le web utilisent PHP. Créé à l'origine par
Rasmus Lerdorf en 1995 pour que tout le monde puisse créer facilement une page web personnelle (Personal Home Page), PHP a fait du chemin et est maintenant largement utilisé comme le langage approprié pour la majorité des projets de développement Web.
De nombreux
Frameworks PHP ont vus le jour pour permettre un développement rapide avec PHP. Tandis qu'il existe un grand nombre de classes et de librairies PHP aussi important qui permettent d'en tirer les mêmes bénéfices. W3Avenue à compilé une liste de quelques classes et librairies vraiment utiles avec lesquelles tous les développeurs PHP devraient être familiarisés. Que vous préfériez utiliser un Framework PHP ou non, votre productivité devrait être accrue avec l'aide de ses classes et librairies.
I. Base de données
II. Développement
III. Document
IV. Email
V. Formulaires
VI. HTML/CSS
VII. Image / Media / Fichier
VIII. JavaScript / AJAX
IX. Microformats
X. Flux Rss & Atom
XI. Sécurité
XII. Tester & Déboguer
XIII. WebServices
XIV. Liens
I. Base de données
-
ADOdb
Une librairie
orientée objet écrite en PHP qui abstrait les relations à la base de données pour la portabilité.
Elle est modelée sur la librairie ADO de Microsoft, mais a beaucoup d'améliorations qui la rendent
unique comme les table pivots, le support d'active records, la génération de code HTML pour la pagination
de jeux de données avec les liens suivants/précédents, jeux de données en cache, la génération de
menus HTML, etc.). Supporte un large nombre de base de données incluant : MySQL, PostgreSQL,
Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP
DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP.
-
Doctrine
Doctrine
est un ORM (Mapping d'objet relationnel) pour PHP 5.2.3+ qui s'appuie sur l'une des plus haute et
puissante couche d'abstraction de données (DBAL). Une de ses fonctions clef est de pouvoir écrire
des requêtes dans un dialecte orienté objet propriétaire appelé Doctrine Query Language (DQL) inspiré
du HQL Hibernate. Il fournit aux développeurs une puissante alternative au SQL qui maintient la
flexibilité sans avoir recours à de la duplication de code inutile.
-
PHPLINQ
Un
jeu de classes PHP imitant les méthodes de l'extension LINQ de c#3 (Language Integrated Query).
Les fonctions de PHPLinq : les opérateurs LINQ (select, take, skip, orderBy / orderByDescending,
thenBy / thenByDescending), les expressions Lambda et les types anonymes.
-
Mimesis
Mimesis
est une API bas niveau de base données par fichiers plat écrite en PHP et Open Source créée pour
agir comme backend pour les scripts côté serveur qui demandent les fonctionnalités d'une base de données.
Au lieu de parser des états SQL, Mimesis utilise des constructions orientées objet de PHP pour fournir
une classe distincte avec différentes méthodes de manipulation de base de données.
II. Développement
-
PHP CodeSniffer
PHP
CodeSniffer est un script PHP5 qui segmente et «sniff» le code PHP pour détecter les
violations d'un standard de code défini. C'est un outil de développement essentiel qui assure la
qualité de votre code. Il peut aussi aider à prévenir des erreurs sémantiques de code des développeurs.
-
phpDocumentor
Similaire
à Javadoc, écrit en PHP, phpDocumentor peut être utilisé depuis la ligne de commande ou via une
interface web pour créer des documentations professionnelles à partir du code PHP. phpDocumentor
contient un support pour la liaison à la documentation, incorporant des documents de niveau utilisateur
comme les tutoriaux la création de code source surligné avec des références croisées avec la documentation
PHP.
III. Document
-
TCPDF
Une classe
PHP Open Source pour générer des documents PDF. Ne requiert pas de librairie externe pour les fonctions
basiques; supporte tous les formats de page ISO y compris UTF-8, Unicode, les langages RTL
et HTML.
-
PHPPowerPoint
Basée
sur le standard Microsoft OpenXML, la classe PHPPowerPoint vous permet de lire et écrire des documents
PowerPoint. Les fonctions incluses : gérer les méta données de présentation (auteur, titre,
description,.) , ajouter des slides, ajouter des images à votre présentation et plus encore.
-
PHPExcel
Basée
sur le standard Microsoft OpenXML, la classe PHPExcel vous permet de lire et écrire des documents
Excel. Les fonctions incluses sont : gérer les méta données (auteur, titre, description, ...),
feuilles multiples, différentes police et styles de police, les bordure de cellules, les remplissages,
les gradients, ajouter des images à vos feuilles et beaucoup, beaucoup plus encore.
-
PhpRtf Lite
Le
but de cette librairie est de créer des documents RTF avec PHP qui sont compatibles avec Microsoft
Word et Open Office Writer. Les fonctions principales incluses : formatage des sections de
documents : marges, taille du papier, les bordures et autres (les documents peuvent comporter
plusieurs sections), le formatage des entêtes et des pieds de page, le contrôle des paragraphes :
arrière plan, bordures, alignement et autres, le contrôle de la police : gras, italique, face,
taille, couleur ( il est possible d'utiliser le style de balise HTML), les images embarquées, (formats
JPG et PNG), le formatage des tableaux : taille, bordures, arrière plan, et l'alignement des
cellules, le support UTF-8.
-
PclZip
Offre
des fonctions de compression et d'extraction pour les archives au format ZIP ( Winzip, PKZip). Elle
vous donne la possibilité de créer des archives, de lister leur contenu et de les extraire dans
le système de fichiers. PclZip définit une classe objet représentant une archive Zip. Cette classe
manage les propriétés de larchive et offre des méthodes d'accès et de manipulation de l'archive.
IV. Email
-
Swift Mailer
Swift
Mailer s'intègre dans n'importe quelle application web écrite en PHP5, offrant une approche objet
élégante et flexible pour envoyer des mails avec un multitude de fonctions : envoyer des emails
en utilisant un serveur SMTP, SendMail , Postfix, ou n'importe quelle implémentation de transport
de votre choix. Supporte les serveurs qui requierent un user/mot de passe et/ou l'encryptage. Protège
contre les injections de headers sans détériorer le contenu des headers d'origine. Envoi des mails
multipartie/HTML compatible MIME, utilise des plugins orientés événements pour customiser la librairie.
Maîtrise les grosses pièces jointes et les images en ligne/attachées avec une utilisation mémoire
peu gourmande.
-
PHPMailer
Classe
de transfert d'email pour PHP pleine de fonctions. Les fonctions de PHPMailer : Supporte les
emails signés digitalement avec le cryptage S/MIME, supporte les emails avec de multiple destinataires,
CC, BCC et REPLY-TO, supporte les emails en HTML et en texte brut, les images embarquées, les emails
multipartie/alternatif pour les clients qui ne lisent pas les mails HTML, les serveurs SMTP redondants,
l'authentification SMTP. Elle a été testée sur de multiples serveurs SMTP : SendMail, qmail,
Gmail, Imail, Exchange, etc...
V. Formulaires
-
Securimage
Un
CAPTCHA Open Source et gratuit pour générer des images complexes et des codes CAPTCHA pour protéger
les formulaires contre le spam et les abus. Il peut être facilement ajouté à vos formulaires sur
votre site pour vous protéger des robots de spam.
-
phpObjectForms
phpObjectForms
est une librairie entièrement orientée objet, hautement customisable, facile à étendre, pour créer
et manipuler des formulaires HTML sans écrire de code HTML. Les fonctions principales : le
support de tous les éléments standards des formulaires, la validation des saisies côté serveur
basée sur les expressions régulières, la pré-validation coté client en JavaScript optionnelle,
le support pour les formulaires basés sur des templates. La présentation du formulaire de sortie
est entièrement gérée par CSS, vous pouvez donc facilement l'améliorer sans écrire de code mais
uniquement en changeant la feuille de style.
VI. HTML/CSS
-
HTML Purifier
HTML
Purifier est une librairie est une bibliothèque de filtres conforme aux standards HTML écrite
en PHP. HTML purifier ne se contentera pas de supprimer le code malicieux (mieux connu comme XSS)
avec une liste blanche permissive et hautement auditée, il vérifiera aussi que vos documents soient
compatibles avec les standards, quelque chose de seulement réalisable avec une connaissance complète
des spécifications du W3C.
-
GeSHi – Generic Syntax Highlighter
GeSHi
est un colorateur syntaxique pour le HTML, écrit en PHP. Typiquement, vous entrez la source et le
nom du langage que vous voulez traiter, GeSHi retourne le résultat syntaxiquement coloré. Mais il
ne s'arrête pas la, GeShi possède plusieurs fonctions puissantes et uniques incluant :
la possibilité de changer le style de nimporte quel élément coloré à la volée, l'utilisation de
classes CSS pour réduire la charge de sortie produite (GeSHi peut aussi produire une feuille de
style pour être utilisée sur un langage à la volée), compatible XHTML 1.0 Strict et CSS2, la mise
en majuscule/minuscule automatique des mots clef, la numérotation des lignes (aussi bien sous la
forme normale que fantaisiste, essayez la démo) et beaucoup plus !
VII. Image / Media / Fichier
-
Asido
Une solution de
manipulation d'images, avec des drivers (adaptateurs) pluggables pour virtualiser nimporte quel
environnement : GD2, Magick Wand, Image Magick via shell, Image Magick via extension, etc.
Asido offre les fonctionnalités suivantes : le dimensionnement d'images, les images en filigrane,
la rotation d'images, la copie dimage, le recadrage d'image, les nuance de gris, la conversion
dimages.
-
PHP Thumb
Une
librairie de manipulation d'images légère qui vise la génération de miniatures. Elle donne la possibilité
de redimensionner par la hauteur, la largeur, un pourcentage, de créer des recadrages personnalisés,
ou de calculer les recadrages depuis le centre, de tourner les images. Vous pouvez aussi ajouter
facilement des fonctionnalités à la librairie par le biais de plugins.La librairie donne aussi la
possibilité de créer de multiples manipulations par instances (aussi connu sous le nom de «chaining »),
sans avoir besoin de sauvegarder et réinitialiser la classe à chaque manipulation.
-
WideImage
WideImage
est une librairie orientée objet pour la manipulation d'images. La librairie se concentre sur les
manipulations couramment utilisées et faciles d'emploi. Elle fournit une manière simple et unifiée
de charger/sauvegarder des images depuis des fichiers, des chaînes de caractères, des bases de données
et aussi des URL (chargement seulement, doit être active dans PHP).Supporte les formats dimages
les plus connus GIF, PNG, JPEG, GD et GD2.
-
Smart Image Resizer
Vous
permet de redimensionner et recadrer n'importe quelle image sur votre site sans toucher à l'image
ou écrire du code. Uploadez simplement vos images dans une résolution suffisamment haute et réutilisez
les dans la taille que vous voulez, où vous le voulez. Les fonctions incluses : redimensionner
les JPEG, GIF et PNG, l'éclaircissement intelligent des images de nimporte quelle taille, peut
redimensionner sur la base du ratio hauteur/largeur, peut rendre transparent le fond des GIF et
des PNG, un cache intégré pour garder les variations des images pour des performances optimales.
-
class.upload.php
Ce
script PHP upload les fichiers et manipule les images facilement. Le script parfait pour générer
des miniatures ou créer une galerie photo. Il peut convertir, redimensionner et travailler sur les
images uploadées de plusieurs manières, ajouter des libellés, ajouter un filigrane et de la réflexion
et d'autres fonctions d'édition. Vous pouvez les utiliser pour uploader des fichiers à travers un
formulaire HTML, un uploader Flash, ou un fichier local.
-
getID3()
Un script PHP qui extrait les informations utiles, (comme les tags ID3, le bit-rate, la durée, etc...)
de fichiers mp3 et d'autres formats multimédia (Ogg, WMA, WMV, ASF, WAV, AVI, AAC, VQF, FLAC, MusePack,
Real, QuickTime, Monkey's Audio, MIDI et plus).
VIII. JavaScript / AJAX
-
PHPLiveX
PHPLiveX
est une librairie PHP-JavaScript légère qui vous aide à intégrer de l'AJAX dans vos scripts PHP.
Sans recharger votre page, vous pouvez appeler vos fonctions dans la même page. Soumettre vos formulaires
à une URL et envoyer une requête à une autre page avec n'importe quel type de donnée.
-
Xajax
Xajax
est une librairie Open Source PHP et JavaScript qui vous permet de créer des applications puissantes
en Ajax qui utilisent HTML, CSS, JavaScript et PHP qui peuvent appeler de manière asynchrone des
fonctions PHP côté serveur pour mettre à jour du contenu.
IX. Microformats
-
Xmf Parser
Parseur
de microformats extensible pour PHP5. Supporte actuellement les microformats comme xfn, rel-license,
rel-tag, geo, adr, hcard, hcalendar, hreview, hresume.
-
iCalcreator
iCalcreator
est une classe de management PHP pour formater des fichiers iCal pour les systèmes qui ne sont pas
des calendriers comme les CMS, les projets de système de management , et les autres applications
capables de créer des informations calendaires. iCalcreator créé, parse, édite et sélectionne
les calendriers et les composants de calendrier.
-
hKit
Un
outil simple en PHP5 pour extraire les microformats communs d'une page. La page peut appeler une
chaîne de caractères ou une URL, et le résultat est retourné en tant que tableau PHP. hKit utilise
SimpleXML pour parser et requiert donc PHP5.
-
Transformr
Un
simple jeu d'outils XSLT et PHP pour convertir des microformats.
X. Flux Rss & Atom
-
SimplePie
Une classe
PHP Open Source qui fournit une API facile à utiliser pour gérer tout le travail rébarbatif lors
de la récupération, la mise en cache, le parsing, la normalisation des données entre les flux RSS
et Atom, gérant aussi la traduction d'encodage des caractères, et en nettoyant les données qui en
résultent.
XI. Sécurité
-
PHP Intrusion Detection System (PHPIDS)
Une couche de sécurité, simple à utiliser, bien structurée rapide et à l'état de l'art pour les
applications basées sur PHP. L'IDS ni ne déshabille, ni n'assainit, ni ne filtre une saisie malveillante,
il reconnaît simplement quand un attaquant essaye de casser votre site et réagit exactement comme vous le souhaitez.
Actuellement PHPIDS détecte toute les sortes de XSS, injections
SQL, injections des headers, traversée de répertoire, RFE/LFI, attaques DOS et LDAP. Basé sur un
jeu de filtres approuvé et lourdement évalué il juge et donne à n'importe quelle attaque une évaluation
d'impact numérique qui facilite le choix de l'action à suivre après la tentative de piratage.
Cela pourrait s'étendre de l'enregistrement simple à l'émission d'un mail
de secours à l'équipe de développement, l'affichage d'un message d'alerte pour l'attaquant ou même
la fin de la session de l'utilisateur.
XII. Tester & Déboguer
-
PHPUnit
PHPUnit est un membre
de la famille xUnit des Frameworks de test et fournit aussi bien un Framework qui permet l'écriture
des tests facilement et l'exécution des fonctions de test que l'analyse de leurs résultats.
-
SimpleTest
SimpleTest
est similaire à JUnit/PHPUnit. Il supporte les faux objets et peut être utilisé pour automatiser
les tests de régression d'une application web avec un client http scriptable qui peut parser les
pages HTML et simuler des événements comme le click sur des liens ou les soumissions de formulaires.
-
PHP Debug
Fournit
de l'assistance dans le débugage de code PHP, par les traces, l'saffichage des variables, le chronométrage
des process, les fichiers inclus, les requêtes exécutées. Ces informations sont rassemblées pendant l'exécution
du script et sont affichées à la fin du script (dans une belle div flottante ou une table HTML)
pour qu'elles soient lues et utilisées à nimporte quel moment.
XIII. WebServices
-
XML-RPC Library for PHP
Un
client et un serveur totalement compatible XML-RPC écrit en pur PHP. Tout ce qu'il nécessite c'est
PHP, et le parseur XML vous est garanti si vous utilisez PHP fournit avec Apache (comme la plupart
des gens).
Les API et librairies PHP pour les services les plus populaires :
XIV. Liens


Copyright ©
2009
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la
SACD.