GNU/Linux Magazine Hors-série N°
Numéro
54

Spécial PHP

Temporalité
Mai/Juin 2011
Image v3
Spécial PHP
Article mis en avant

Résumé
En quelques années, PHP a su se faire une place dans le monde des serveurs web. Ce langage qui originellement ne proposait aucune révolution est maintenant un standard et rivalise avec les outils professionnels propriétaires, en quelques sortes. En effet, la popularité de langages comme le bon vieux Perl, Java, Python, Ruby et, bien entendu, PHP est si importante en termes de développement web qu'il ne reste presque plus de place, aujourd'hui, pour une alternative propriétaire. Comment est-ce arrivé et qu'est-ce que PHP ? C'est là l'objet de cet article.

Dans ce numéro...


PHP est un langage de programmation scriptable embarqué dans HTML. En pratiquant HTML durant une longue période, on se rend rapidement compte des limites imposées par un simple langage de description. PHP peut vous rendre des services quel que soit le type de site que vous souhaitez concevoir.
Depuis sa version 5, PHP dispose d'un véritable système de programmation orientée objet. Cet article se présentera sous la forme d'un rappel théorique de programmation orientée objet accompagné de la mise en pratique en PHP.
Au paravant, PHP était fortement lié à MySQL. Pour s'en rendre compte, encore aujourd'hui, il suffit d'aller dans une librairie et lire les titres des ouvrages consacrés à PHP pour voir qu'un sur deux associe PHP à MySQL. De la même manière, consulter les sources de la plupart des projets libres montrera une forte dépendance à MySQL de la majorité du code.PDO, une extension PECL pour PHP 5.0 intégrée depuis sa version 5.1, est présentée comme une composante essentielle. L'idée est extrêmement simple : présenter une et une seule manière de parler à n'importe quel SGBD. L'apport pour le projet est très concret : être capable de rendre le produit final indépendant du choix du SGBD et donc s'adapter plus facilement à la matrice technologique et aux contraintes du client.De plus, il y a une dimension nouvelle liée à la sécurité.
La génération de contenu HTML avec PHP a longtemps été une horreur absolue. Dans ce cadre, des solutions comme Smarty ont émergé, permettant de produire des vues propres et donc maintenables, et les nouvelles pratiques issues des recommandations faites par les frameworks nouvelle génération comme Zend Framework, par exemple, offrent la possibilité de fixer des règles simples qui suffisent à assurer la compréhension, la réutilisabilité et la maintenabilité sans sacrifier les performances.
Une application doit effectuer beaucoup d'actions différentes qu'il convient d'organiser. Il s'agit de se fixer des règles et de mettre au point les outils utiles pour les appliquer. C'est le travail conjoint d'un dispatcher, d'un autoloader et d'un bootstrap. Par la suite, il suffit de créer des contrôleurs type pour se faciliter le travail et de n'avoir qu'à se concentrer sur le fonctionnel lors du développement d'une application.Le cadre applicatif est essentiel et répond autant à un besoin de simplification du travail qu'à des problématiques techniques.La méthode consistant à n'avoir à gérer qu'un seul point d'entrée dans l'application reste extrêmement utile et permet entre autres une meilleure sécurité et un meilleur contrôle des événements en les faisant entrer dans un cycle que l'on peut contrôler et systématiser (ACL, contrôle de données).Un fichier PHP ne contient, tacitement, qu'une et une seule classe PHP. Il faut donc aller les charger avant de pouvoir utiliser la classe. Et ceci coûte. C'est du travail en plus et de la performance en moins. Alors pourquoi faire un travail dont on peut se passer totalement ?
La qualité logicielle est un enjeu majeur. Il existe aujourd'hui un certain nombre d'indicateurs qui font consensus et qui aident à mesurer certains aspects du développement d'une application, et permettent d'aider à l'amélioration.Les objectifs finaux sont d'avoir un logiciel qui répond aux besoins de telle sorte qu'il reste simple et permette des évolutions ultérieures à moindre coût.Les pré-requis sont l'installation de PHP et de PEAR.
Ce court article a pour ambition de présenter des outils utiles au développement.
En Java ou en Python, avec Tomcat, Turbogears ou Zope3, lorsque le serveur est lancé, le code source est lu, compilé et l'environnement est construit. À partir de ce moment-là, ces serveurs sont prêts à répondre à des requêtes en ayant rien d'autre à faire que de les traiter.Le serveur web Apache PHP est différent. À chaque requête, les fichiers sources (uniquement ceux appelés) sont lus, interprétés, l'environnement est reconstruit puis la requête est traitée.Une des conséquences est que d'une requête à la suivante, il n'y a pas de persistance de données. La session PHP va permettre de pallier ce problème en proposant un système permettant de stocker quelques données.Cet article va reprendre les fondamentaux et exposer les bonnes pratiques.
Quel que soit le site à développer, il peut arriver qu'il devienne nécessaire d'authentifier les utilisateurs via un nom et un mot de passe. Il existe plusieurs manières de procéder, comme nous l'avions vu dans le hors-série 50 consacré à Apache en octobre dernier. PHP intègre également ses propres mécanismes. Nous allons étudier ici la manière de mélanger authentification HTTP avec du code PHP.
Vous utilisez PHP pour vos développements... mais vous êtes-vous déjà demandé si votre manière de programmer avait une influence sur la vitesse d'exécution de votre code ? Je ne parle pas ici d'algorithmique, mais de choix de fonctions ou de syntaxe. Est-ce que le fait de modifier un tant soit peu vos habitudes de développement peut permettre de produire un code plus performant ?

Magazines précédents

Initiation à Python
GNU/Linux-Magazine Hors-série N°53
Initiation à Python
Développement Android
GNU/Linux-Magazine Hors-série N°52
Développement Android
Hacks, électronique & embarqué
GNU/Linux-Magazine Hors-série N°51
Hacks, électronique & embarqué
Incontournable Python
GNU/Linux-Magazine Hors-série N°49
Incontournable Python

Les derniers articles Premiums

Les derniers articles Premium

PostgreSQL au centre de votre SI avec PostgREST

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Dans un système d’information, il devient de plus en plus important d’avoir la possibilité d’échanger des données entre applications. Ce passage au stade de l’interopérabilité est généralement confié à des services web autorisant la mise en œuvre d’un couplage faible entre composants. C’est justement ce que permet de faire PostgREST pour les bases de données PostgreSQL.

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Body