Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Les outils nécessaires aux projets exemples

Préambule

Nous allons maintenant mettre en pratique la théorie expliquée dans les précédents chapitres. À travers des projets exemples, nous allons utiliser JavaScript et jQuery dans des situations réelles de développement.

Pour certains de ces projets des logiciels tiers ont besoin d’être installés, en particulier, un serveur web et un serveur de base de données. Sans ces installations, impossible d’écrire une application qui demande à un serveur de vérifier et d’enregistrer des données distantes par exemple.

Ce chapitre explique où se procurer gratuitement des logiciels de ce genre, comment les installer et les utiliser.

Pour en savoir plus sur les sujets abordés dans ce chapitre, vous pouvez consulter les sites web suivants :

XAMPP : https://www.apachefriends.org/fr/index.html

PHP : http://php.net/

MySQL : https://www.mysql.com/fr/

phpMyAdmin : https://www.phpmyadmin.net/

W3C : https://www.w3.org/

Norme services web : https://www.w3.org/TR/ws-arch/

Services web : https://openclassrooms.com/fr/courses/219329-les-services-web

Installer un serveur PHP gratuit (XAMPP)

1. Se procurer XAMPP

En ce qui concerne le serveur web, le choix se porte sur Apache et PHP. D’autres choix seraient valables, par exemple Microsoft Internet Services (IIS) et .Net, mais le caractère commercial des licences d’exploitation, à partir du moment où l’on souhaite une mise en production, peut être rédhibitoire pour certains.

Pour ce qui est d’Apache et de PHP, on utilisera la version nommée XAMPP. D’autres implémentations, telles WAMP ou EasyPHP, peuvent aussi faire l’affaire, mais les outils de paramétrage et la structure des répertoires utilisés diffèrent quelque peu.

Vous pourrez vous procurer le logiciel XAMPP pour les trois principaux systèmes d’exploitation, Windows, Linux et Mac OS, à l’adresse suivante : https://www.apachefriends.org/fr/index.html

images/11-11-001.png

2. Installer et configurer XAMPP

Une fois choisie et téléchargée la version du serveur web, vous devez l’installer.

Le plus simple est de l’installer sur votre machine de développement, dans un répertoire dédié. Par exemple, dans un répertoire racine spécifique tel C:\xampp, D:\xampp ou encore D:\Tools\xampp, plutôt que dans le répertoire des applications de Windows, généralement C:\Program Files.

images/11-11-002.png

 Sous Windows également...

Concevoir une base de données MySQL

1. Fonctionnement d’une base de données

Une base de données est techniquement constituée d’un système de fichiers qui stocke physiquement les données et d’un logiciel de traitement qui assure la relation entre ces données et leurs consommateurs. En l’occurrence, la relation est assurée par MySQL et le mode de stockage dépend de la configuration utilisée (MariaDB, InnoDB, MyISAM, etc.).

Tous les accès aux données sont donc assurés par le logiciel de traitement et seulement par lui. Il n’existe aucun autre moyen simple d’accéder aux informations stockées. Les consommateurs de ces données doivent donc envoyer des commandes au logiciel de traitement qui se charge de les exécuter et de renvoyer le résultat de cette exécution. Lorsque la commande n’est pas correctement écrite, elle n’est pas comprise par le logiciel et le résultat renvoyé est une erreur. Dans le cas contraire, le résultat est généralement un acquittement pour le cas d’une écriture ou d’une suppression de données ou alors le jeu de données demandé pour le cas d’une lecture.

2. phpMyAdmin

Une application est très répandue dans la communauté des développeurs s’appuyant sur des données mySQL. Il s’agit de phpMyAdmin.

Ce logiciel est un assistant composé d’une suite très complète d’outils qui permettent de gérer et de manipuler des bases de données. Avec lui, vous pouvez créer des bases de données, créer des tables de données, concevoir des requêtes pour récupérer des données, etc., et tout ceci avec une interface de type page web, exécutée depuis un navigateur.

images/11-22-001.png

Si vous installez des packages complets tels XAMPP ou WAMP, une version de phpMyAdmin est fournie dans le package. Sinon, vous pouvez l’installer à part, après l’avoir téléchargé depuis l’adresse suivante : https://www.phpmyadmin.net/

3. Créer des tables selon des besoins précis

Pour que des données soient enregistrables dans une base de données, il faut d’abord créer cette dernière....

Concevoir des services de données

La plupart du temps, les données stockées dans une base de données sont utilisées par des pages web qui les consomment. Ces pages web peuvent être diverses, nombreuses et sans aucun rapport les unes avec les autres. On peut imaginer une base de données centralisée qui doit fournir des données à des sites web servant des buts différents.

Ainsi, dans la réalité, on observe souvent que le serveur de données est une machine physique ou virtuelle différente de celle hébergeant le serveur de pages web.

L’idée, pour faciliter l’accès aux données tout en conservant un minimum de contrôle et de sécurité, est de ne jamais exposer directement les données vers l’extérieur du serveur de données, mais plutôt d’offrir une interface, un logiciel par lequel il faut passer pour les obtenir.

Ainsi, n’importe qui peut faire une demande d’accès aux données à cette interface, qui les récupère auprès du serveur de base de données et les renvoie si l’auteur de la demande a l’autorisation nécessaire.

Nous allons maintenant expliquer comment écrire une interface basique de ce type.

1. Écrire un service de fourniture de données

L’interface en question se nomme un service. Plus exactement, un service d’accès aux données. Le service très basique proposé ici renvoie un jeu d’enregistrements lu depuis la base de données selon un paramètre passé par le demandeur.

L’interface est configurée avec des informations lui permettant d’accéder au serveur de données. Elle est disponible depuis l’extérieur et est appelée par l’intermédiaire d’une URL, une adresse web unique et précise.

Lorsque cette adresse est pointée par le navigateur d’un utilisateur, l’interface est sollicitée et s’exécute.

Sa première tâche est de récupérer les informations liées à la demande. Dans celles-ci, peuvent figurer l’identité de l’utilisateur et la nature des données demandées.

Si l’utilisateur est reconnu comme autorisé...

Sécuriser l’accès aux données

L’accès aux données d’un serveur doit faire l’objet de précautions élémentaires de manière à en garantir la sécurité.

Voici quelques règles de base qu’il faut prendre en compte lors des développements.

1. La sécurité informatique sur un serveur web

Dans la pratique, beaucoup de développeurs débutants voient l’accès vers les données d’un serveur comme un service consommé par une page web connue. Ils oublient que grâce aux outils de développement fournis dans les navigateurs, comme la console, les appels vers ce service peuvent être détectés, analysés et reproduits. Un utilisateur peu scrupuleux peut en copier l’adresse, en modifier les données et tenter ainsi d’envoyer des données non valides vers le serveur. Cela peut résulter en des plantages côté serveur qui nuisent à la qualité de service et donnent une mauvaise image des développements mis en production. Cela peut donner aussi des moyens de récupérer des données confidentielles ou sensibles, ce qui peut poser de graves problèmes aux entreprises touchées.

La première règle est la suivante : il faut toujours contrôler les données reçues...