1.5 Comparaison JS / PHP |
See You Why? |
Ce comparatif des deux langages Web est essentiellement inspiré du travail de Julp, disponible sur le site developpez.com.
Caractéristique | PHP | Javascript |
---|---|---|
Exécution | Exécuté sur le serveur, comme l'ASP (payant de Microsoft). | Exécuté chez le client. |
Logiciel nécessaire à l'exécution | Un interpréteur PHP doit être installé sur le serveur... c'est le cas de presque tous les hébergeurs. | Tous les navigateurs possèdent un interpréteur Javascript (mais qui peut être désactivé). |
Intégration dans une page HTML | Les deux langages s'intègrent parfaitement dans une page HTML, mais l'utilisation du PHP exige (en principe) que l'extension du fichier source ne soit plus .htm ou .html mais .php. |
|
Manipulation de fichiers | Lecture, écriture, ajout possible dans des fichiers texte et éventuellement binaire situés sur le serveur. | Totalement incapable de manipuler les fichiers. |
Consultation des sources | Le client n'a aucune possibilité de lire les sources PHP des fichiers du serveur. Seules leurs traductions HTML seront consultables. | Les sources JS sont totalement consultables (et donc copiables ou adaptables) par le client. |
Prix | Les deux langages sont gratuits, JS car exécuté sur l'ordinateur du client, PHP car logiciel distribué librement et gratuitement sous licence GNU GPL attention l'ASP est payant chez Microsoft. |
|
Cookies | Il est possible d'utiliser les cookies dans les deux langages, mais l'utilisation est simplifiée en PHP. |
|
Données issues de formulaires (POST) | PHP permet de récupérer toutes les données d'un formulaire. | Au contraire, Javascript permet uniquement d'accéder aux différents champs d'un formulaire tant que celui-ci est apparent sur la page active. |
Données passées par URL (GET) | Ici encore, les deux langages permettent de récupérer les variables passées par URL. Cependant, PHP permet de manipuler plus facilement des données et même de les encoder et décoder. |
|
Manipulation de base de données | PHP permet d'interroger tout type de base de données et de récupérer les tuples (résultat) d'une requête. | Impossible en Javascript... sauf utilisation de fichiers CSV, voire même des requêtes SQL[1]. |
Création et manipulation d'image | Manipulation et création d'image possible grâce à la librairie GD. | Javascript ne permet uniquement que d'afficher des images. |
Richesse | PHP dispose d'un nombre très important de fonctions qui se chiffre à plus de 2000. | Très petit nombre de fonctions comparé à PHP, tout au plus une centaine. |
Avenir | Ajouts continuellement de nouvelles fonctionnalités malgré qu'elles ne soient pas toujours compatibles avec les anciennes versions. | Stable, l'ajout de nouvelles fonctionnalités est rare. |
Récupérer le navigateur du client | Possible dans les deux langages, cependant Javascript permet d'avoir plus de précisions. |
|
Information sur le serveur | Il est tout à fait possible en PHP de récupérer une multitude d'informations concernant le serveur. | Impossible en Javascript. |
Information sur le système du visiteur | En dehors du nom du système d'exploitation du visiteur, on ne peut rien obtenir. | En Javascript, il est possible d'établir la résolution de l'écran, ainsi que les plugins ... de l'utilisateur. |
Réagir aux événements chez le client | Impossible en PHP, puisqu'il est exécuté côté serveur. | Javascript permet de réagir aux événements : (dé)chargement d'une page, validation de formulaire, clic, focus d'un champ de formulaire... |
Partage des variables entre plusieurs pages | PHP, permet depuis l'introduction des sessions de partager aisément des variables sur les différentes pages qui composent un site ou encore d'utiliser la barre d'adresse pour passer des variables avec certaines contraintes (types des variables, limitation en nombre de caractères... | Il est possible de passer des informations en quantité limitée en utilisant l'URL. |
[1] voir entre autres "Accès à la base de données", http://lti.epfl.ch/LemanOS/Html/Database.html de l'École Polytechnique Fédérale de Lausanne.
Nous ne relèverons ici que trois inconvénients du JavaScript : la sécurité, la possibilité pour les internautes de désactiver le JS sur leur navigateur et le manque de compatibilité entre les navigateurs (standardisation).
Le Javascript s'exécute du côté client : c'est dons sur l'ordinateur de l'internaute qui visite vos pages que l'exécution du JS se fait. Ainsi, un gestionnaire de site malveillant pourrait se permettre des actions malicieuses telles que visiter votre historique de visites sur internet ou de subtiliser vos codes secrets. Cependant le JS pur ne permet pas d'interagir avec le disque dur de l'internaute qui visite un site, sauf l'utilisation des cookies (voir ici).
Cependant, JS peut faire appel à des applets Java ou Activex, qui elles peuvent interagir avec votre disque dur. Depuis sa version d'aout 2014, Microsoft via son Internet Explorer bloque les vieux contrôles ActiveX, considérés comme obsolètes pour des raisons de sécurité (mais non activé pour des zones qui ont été déclarés de confiance) et de nombreux utilisateurs du Net ne dispose pas de la dernière version de Java, parce qu'ils ne savent pas comment faire cette mise-à-jour gratuite.
C'est sans doute par crainte de ce manque relatif de sécurité que cerains internautes désactivent JS
Nous
voir suite >>>
voir suite >>>