3. 3
Présentation
du module
Objectifs
Vers la fin de ce module, l’étudiant doit être capable de :
Réaliser une API REST
Manipuler un SGBD NoSQL
Conteneuriser son application et la déployer
5. 5
Présentation
du module
Plan de cours
1. Introduction
2. Application web backend + API REST
3. Persistance des données
4. Middlewares
5. Conteneurisation
6. 6
Présentation
du module
En bref
Charge horaire : 21h
Modalité d’apprentissage : Cours intégré
Mode d’évaluation : 80% note d’examen (pratique)+20%
Contrôle continue
10. 10
Technologies
backend
[Node.js vs PHP]
Vitesse
Cette métrique fait référence à la vitesse d'exécution
inhérente aux deux technologies. Une vitesse d'exécution
élevée signifie un processus de développement plus rapide
et des projets plus rentables.
11. 11
Technologies
backend
[Node.js vs PHP]
Node.js
Environnements de
développement
asynchrones.
Asynchrone signifie qu'il
n'a pas besoin d'attendre
qu'un module soit
exécuté avec succès
avant de charger le
suivant.
Réduit considérablement
les temps d'arrêt de
l'application Web et offre
une expérience utilisateur
transparente.
PHP
Fonctionne sur la
synchronicité.
Chaque module et
fonction est exécuté dans
l'ordre spécifié par le
code.
Si une fonction ou un
module n'est pas exécuté,
les suivants ne
démarreront pas tant
qu'ils ne seront pas
terminés.
13. 13
Technologies
backend
[Node.js vs PHP]
Performance
La performance est la mesure de la façon dont le code est
écrit et ses performances sur les KPI comme les
chargements de page et la transparence. Une technologie
performante signifie de meilleurs résultats pour les
performances de votre produit en utilisant des KPI qui ont
un impact profond sur le UX.
14. 14
Technologies
backend
[Node.js vs PHP]
Node.js
De part sa nature
asynchrone, il a une
vitesse d'exécution
remarquable ainsi qu'un
temps de démarrage
rapide.
Il est piloté par les
événements alors il ne
bloque pas les demandes
pour terminer celles qui
existent déjà.
Exécution simultanée de
modules.
PHP
Il bloque un processus
jusqu'à ce qu'il soit
entièrement calculé, ce
qui se traduit par un
chargement lent sans
possibilité de
simultanéité.
16. 16
Technologies
backend
[Node.js vs PHP]
Traitement des demandes
Il s'agit de la mesure de la rapidité avec laquelle une
technologie traite les demandes côté client. Exécuter la
demande avec précision est sans aucun doute crucial, mais
cela doit également être fait en utilisant un minimum de
ressources et de temps. La gestion des erreurs nous
aiderait en outre à comprendre quelle technologie optimise
le mieux le UX.
17. 17
Technologies
backend
[Node.js vs PHP]
Node.js
Grâce au traitement
asynchrone de plusieurs
requêtes, le système
n'attend pas qu'un
processus se termine
avant que le suivant ne
commence.
Les temps CPU et RAM ne
sont pas non plus perdus.
PHP
PHP gère une requête à
la fois. Naturellement, il
consomme plus de
ressources sur le CPU et
la RAM.
Cela évite la
contamination croisée
des erreurs de requête,
mais cela crée également
un décalage dans le
système avec son
approche une requête à
la fois.
18. 18
Technologies
backend
[Node.js vs PHP]
Base de données
Il s’agit de la facilité avec laquelle la technologie est capable
de se connecter à la base de données ainsi que le type de
base de données : relationnelle, traditionnelle ou NoSQL.
19. 19
Technologies
backend
[Node.js vs PHP]
Node.js
Depuis qu’il s'est développé
avec l'avènement des bases
de données NoSQL, il est
bien synchronisé avec toutes
les formes de bases de
données.
Avec JSON, Node.js peut
fonctionner parfaitement
avec les bases de données
NoSQL comme MongoDB et
CouchDB.
Il prend également en
charge les bases de données
de graphes et dispose de
bibliothèques substantielles
pour accéder aux bases de
données SQL.
PHP
Il est conçu pour
fonctionner avec des
bases de données
relationnelles et
conventionnelles telles
que MySQL et MariaDB.
Bien qu'il soit possible
d'importer des
bibliothèques pour
travailler avec des bases
de données NoSQL, le
processus est fastidieux
et consomme une grande
partie du temps de
traitement.