ManuDevil, Conception Multimédia - Internet et multimédia à votre image, à votre mesure. Pour un site dynamique, facile à mettre à jour, contactez-moi ! ManuDevil : conception multimédia dynamique


Téléphone 0966 862 640  Mobile 0615 668 502  Facebook  
Accueil du site > Les technologies > ASP, PHP, les langages serveur

ASP, PHP, les langages serveur

mardi 23 octobre 2007, par ManuDevil, Conception Multimédia

Pour comprendre ce qu’est un langage serveur, il faut commencer par appréhender la base du web : le système client-serveur.


On appelle « client » n’importe quel ordinateur qui visite un site Internet, ou plus largement, qui fait une requête sur Internet. En effet, beaucoup de programmes viennent automatiquement chercher leurs mises à jour sur le Net. Ils sont alors clients.

À l’inverse, on appelle serveur tout ordinateur qui distribue de l’information à la demande sur le Net.

Pour les sites Internet, on a donc le système suivant : le client, à l’aide de son navigateur - Firefox, Internet Explorer, Safari, Opera... - lance une requête pour visiter un site. Le serveur concerné reçoit cette requête, et renvoie les informations désirées, la plupart du temps sous forme de code HTML, de Javascript, d’images... et la page web s’affiche alors sur le navigateur du client.

Mais que se passe-t-il au niveau du serveur ?

Langage serveur

Si le site utilise un langage serveur comme le PHP ou l’ASP, voilà en gros ce qui se passe : le serveur reçoit la requête, qui est en fait un appel à un script. Ce script peut être un appel à la page index.php, par exemple. En fait, index.php n’est pas exactement une page web comme on pourrait l’entendre au sens du HTML. C’est un script, un code, qui va être exécuté sur le serveur.

Ce script va donc lancer toute une série de fonctions, qui peuvent être des calculs, des recherches dans une base de données, des insertions d’autres scripts... et une fois le script exécuté, le résultat est renvoyé au client. La plupart du temps, ce qui est renvoyé au client, c’est du code HTML, Javascript, etc.

Autant, quand on fait appel à une simple page HTML, on peut voir très exactement le code de la page tel qu’il existe sur le serveur, autant dans le cas des scripts tels qu’on vient de les décrire, le client n’a jamais accès au code du serveur. Il ne voit que le résultat fourni par ce code.

PNG - 39.7 ko

Quel en est l’intérêt ?

Le contenu renvoyé est dynamique, et non plus statique comme c’est le cas avec une simple page HTML. Dynamique, cela signifie que le code renvoyé au client varie en fonction de la requête du client. Prenons un exemple : une recherche dans une base de données. Mettons que nous avons un site qui est un catalogue de livres, et qu’un internaute recherche un titre. L’internaute, le client, remplit le champ de formulaire du moteur de recherche, et valide. Il envoie donc sa requête au serveur, en direction d’un script de recherche.

Sur le serveur, le script reçoit la recherche. Il lance alors une fonction qui va chercher dans la base de données la liste des livres dont le titre contient le mot envoyé, et rapatrie aussi les informations annexes, comme le nom de l’auteur, l’éditeur, etc.

Ensuite, le script va trier les informations. Il peut trier chronologiquement ou alphabétiquement, selon les indications données, programmées par le développeurs. Il lui faut ensuite, à partir de toutes ces données, composer une page HTML. IL va donc créer le code nécessaire à la fabrication de la page, avec l’en-tête, le corps de la page et son tableau de données, la barre de navigation, le pied de page... Dans le corps, on trouvera une liste de livres, classée, avec quelques informations sur chacun, et certainement un lien - une autre requête - permettant d’accéder à une description plus détaillée du livre.

Puis le serveur renvoie ce code HTML au client qui en a fait la demande. Celui-ci peut alors consulter la page avec son navigateur, et continuer à surfer. Tout cela n’a duré que quelques microsecondes.

L’intérêt est énorme. Dans le cas de cette librairie, il est très facile de gérer la liste des livre, d’en rajouter, d’en enlever, d’éditer les informations de chacun... Il est également très facile de garder en mémoire les différents achats que les clients ont pu faire, et pourquoi pas, de leur proposer, lors de leur prochaine visite, des titres semblables à ceux qu’ils sont déjà acheté.

L’intérêt des langages serveur prend toute sa valeur quand le site est connecté à une base de données.

ASP ou PHP ?

ASP [1] et PHP [2] sont les deux langanges les plus utilisés, même s’il en existe bien d’autres. Ils sont relativement équivalent au niveau de leurs possibilités. Les deux savent traiter avec les bases de données, les deux savent envoyer des données au format HTML... Le choix de départ dépend plus d’un choix d’infrastructure.

ASP est le langage serveur développé par Microsoft. Il ne tourne exclusivement que sur des serveurs IIS de Microsoft, sous Windows. C’est donc très avantageux si vous disposez d’un tel serveur. Vous disposez alors du support commercial apportée par Microsoft. Commercial ? Eh bien oui, une licence Windows serveur, ça s’achète...

PNG - 15.6 ko

PHP, à l’inverse, est totalement gratuit. Il est open-source, libre. N’importe qui a donc le droit de l’installer sur son serveur, et donc de programmer en PHP sans avoir à débourser des sommes folles. PHP a été prévu pour tourner sur des serveurs Linux - un système d’exploitation gratuit lui aussi - et peut facilement s’interfacer avec de nombreux types de bases de données, dont les bases MySQL qui sont elles aussi gratuites.

Forcément, PHP a eu beaucoup de succès, et c’est mérité. Une communauté de développeurs s’est formée, et on trouve très facilement toute sorte d’aide sur plusieurs centaines de sites Internet.

À noter que PHP peut aussi être installé sur un système Windows. C’est un petit peu moins performant que sous Linux, mais pour tester des sites, c’est parfait.

Donc, le choix du langage serveur dépend, et c’est logique, du serveur que vous allez utiliser. Notons que s’il est en général relativement aisé de changer de serveur pour une base de données - dans une certaines mesure -, pour les scripts, c’est tout autre chose. Passer son site d’ASP vers PHP ou l’inverse nécessitera certainement de réécrire entièrement tous les scripts. Le choix ne doit donc pas être fait à la légère.

Que choisir pour mon site ?

À moins que vous ne disposiez dans votre entreprise d’un serveur Microsoft, le choix est relativement évident. Du moins il l’est pour un site Internet. Autant utiliser un CMS [3] comme SPIP ou Isens, ou système de gestion de catalogue, comme Thélia, ou encore un Forum, comme SMF. Ces solutions sont gratuites, et peuvent être hébergées sur des serveurs LAMP[[]Linux + Apache + MySQL + PHP, un combo gratuit.], ce qui diminuera très nettement le coût de l’hébergement sans que cela s’en ressente au niveau des performances.

Pour un Intranet, la réflexion n’est pas forcément la même. Si on ne dispose d’aucun serveur, autant s’orienter vers le PHP. Par contre, si on dispose d’un serveur Windows au sein de l’entreprise, il peut être intéressant de développer alors en ASP et d’héberger tout cela sur le serveur de l’entreprise. Mais là encore, tout dépend de ce que l’on veut faire comme type d’Intranet, tant au niveau des possibilités que des droits d’accès.

Quels que soient vos besoins, je vous invite à me contacter pour que nous puissions trouver ensemble la solution la plus adaptée.

Notes

[1]Active Server Page, le langage serveur de Microsoft.

[2]PreHypertext Processeur, le langage libre et gratuit.

[3]Content Management System, système de gestion de contenu.

Popularité : 100 % - 4 visites par jour.


Haut de page
Qui suis-je ? | L'expérience du multimédia | Les technologies | Les services | Des utilitaires pour l'ordinateur | Contact
Suivre la vie du site RSS 2.0 | Plan du site | SPIP |