SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Développement Web Moderne
avec REACTJS
Présenté par : JADLI AISSAM
jadliaissam@gmail.com
/in/jadli-aissam-86a69843
SÉANCE 1
SOMMAIRE
Introduction
Philosophie de
React
Environnement
de Travail
La Syntaxe JSX
Mr. JADLI AISSAM 2
INTRODUCTION
Mr. JADLI AISSAM 3
React est une bibliothèque JavaScript libre développée par Facebook depuis
2013. Son but principal est de faciliter la création d'application web SPA
(Single Page Application), via la création de composants dépendant d'un
état et générant une page HTML à chaque changement d'état. (Wikipédia)
Grâce à React, il est facile de créer des interfaces utilisateurs
interactives. Définissez des vues simples pour chaque état de votre
application, et lorsque vos données changeront, React mettra à
jour, de façon optimale, juste les composants qui en auront besoin.
INTRODUCTION
Mr. JADLI AISSAM 4
Pourquoi utiliser ReactJS
INTRODUCTION
Mr. JADLI AISSAM 5
Les Fonctionnalités Offertes par ReactJS
React utilise le concept de
DOM virtuel qui aide à la
performance
DOM Virtuel
Composants d'interface
utilisateur réutilisables et
interactifs
Réutilisation
Passage simple au
développement mobile
grâce à React Native
Mobile Multiplateforme
Le codage est plus simple
grâce à la syntaxe JSX
Syntaxe JSX
Flux unidirectionnel qui
améliore les performances
globales
Flux de Données
React possède son propre
Débogueur.
Débogage
INTRODUCTION
Mr. JADLI AISSAM 6
Qui utilise ReactJS ?
INTRODUCTION
Mr. JADLI AISSAM 7
Alternatives
Que dois-je choisir ?
Flexibilité + Javascript => React
Code Propre + Organisation => VueJS
POO + TypeScript => Angular
React et VueJS sont plus adaptés pour
les projets de petit et moyenne taille.
Mr. JADLI AISSAM 8
Philosophie de React Environnement de travail
Philosophie de React
React est basé sur l'idée que tout est un composant. Il est basé sur la
conclusion qu'une interface utilisateur est une combinaison de plusieurs
composants, chaque composant pouvant être la combinaison d'autres
petits composants, etc.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 9
Virtual DOM
Le DOM (Document Object Model) est l’API
qui permet de manipuler le contenu
hiérarchisé d’une page web (c-à-d du
HTML) sous forme d’arbre. Les éléments
HTML constituent les nœuds de cet arbre.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 10
Virtual DOM
React utilise le concept du DOM virtuel. Le DOM virtuel (VDOM) est un concept de
programmation dans lequel une représentation idéale, ou « virtuelle », d’une interface
utilisateur (UI) est conservée en mémoire et synchronisée avec le DOM « réel » de la page.
.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 11
Encapsulation
Les composants React se comportent vis-à-
vis du reste de l'application comme une boîte
noire, avec une API clairement définie. Ils
contiennent en eux tout le nécessaire à leur
bon fonctionnement : la structure, les styles
et le comportement qui sont connectés par
une syntaxe concise (baptisée JSX), ce qui
facilite considérablement le développement.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 12
Flux de Données Unidirectionnel
Afin d’éviter que tous les composants ne finissent par
être étroitement connectés entre eux (appelé couplage
fort, et constituant un gros problème de maintenance),
React nous force à suivre un principe simple : « les
données descendent, l’état remonte »
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 13
Environnement de Travail
Afin de développer des applications ReactJS, nous aurons
besoin de :
 NodeJS
 IDE (VSCode par exemple)
 Outil en ligne de commande : create-react-app
La Syntaxe JSX
Philosophie de React Environnement de travail
Babel
Babel est un outil qui est principalement utilisée
pour convertir le code ECMAScript 2015+ en une
version rétro-compatible de JavaScript dans les
navigateurs ou environnements actuels et
anciens.
Babel est utilisé avec React pour convertir la
syntaxe JSX en Vanilla Javascript.
14
La Syntaxe JSX
Philosophie de React Environnement de travail
Babel
Exemple
15
La Syntaxe JSX
Philosophie de React Environnement de travail
Webpack
16
Webpack est un outil qui permet de transformer les différentes composantes d’une
application en code natif, statique et compréhensible directement par le navigateur.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 17
create-react-app
create-react-app est un outil pour faciliter le développement React. L’idée est de générer
automatiquement un squelette applicatif et de masquer la complexité potentielle de
configuration des briques techniques associées :
 Gestion de JS moderne (ES2015+) avec babel;
 Bundling de l’application (avec Webpack);
 Serveur de développement;
 Génération de fichiers de production optimisés, etc.
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 18
create-react-app
La structure d’un projet crée avec create-react-app est la suivante :
public/index.htm : C’est le fichier HTML principal qui inclut le code et
l’application React et fournit un contexte pour le rendu de React. Plus
précisément, il comprend un div dans lequel votre application React
s'affichera à l'intérieur : <div id=”root”>
src/ : Il stocke tout le code modifiable. C’est ici que seront placés
les différentes composantes de l’application
App.js : C’est un exemple de composant React appelé «App» crée
par create-react-app lors de la création d'une nouvelle application
La Syntaxe JSX
Philosophie de React Environnement de travail
TRAVAUX PRATIQUES
Mr. JADLI AISSAM 19
http://bit.ly/reactjs_s1_tp
Télécharger le TP
http://bit.ly/reactjs_s1_cours
Télécharger le Cours
Mr. JADLI AISSAM 20
La Syntaxe JSX
JSX (JavaScript XML) est un langage de balisage utilisé pour créer des
éléments React. Le balisage peut être utilisé pour représenter un
composant unique autonome ou un composant complexe.
La syntaxe pour écrire JSX est :
Un composant typique de React ressemblerait à ceci :
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 21
JSX and HTML
React donne aux développeurs frontaux un outil qu'ils connaissaient (probablement pour
faciliter la courbe d'apprentissage), il utilise donc un langage de balisage similaire au
HTML. Notez que les développeurs ont créé tous les éléments HTML (div, main, article,
en-tête, pied de page, etc.) dans la bibliothèque React, et la meilleure partie est qu'ils se
comportent tous de la même manière qu'en HTML.
Si nous devions afficher une image dans React, nous pourrions en fait utiliser le même
balisage que nous utilisons en HTML :
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 22
Sensibilité à la casse
Comment React différencie-t-il nos éléments personnalisés des éléments HTML?
Il utilise la sensibilité à la casse. Il est recommandé d'utiliser la casse Pascal pour
nos composants React tandis que le casse minuscule pour les éléments HTML . Si
nous enfreignons ces règles, le compilateur React ou la console du développeur
émet l’avertissement suivant :
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 23
Limites
Puisque nous utilisons JSX, qui est une extension JavaScript, nous limitons donc certaines
des normes du HTML. Les mots clés JavaScript ne peuvent donc pas être utilisés dans
JSX, par exemple :
 class est remplacé par className
 for dans la tag <label> est remplacé par htmlFor
De plus, les commentaires ne sont plus écrits comme <!-- comment --> , mais sont plutôt
écrits comme {/* comment */} {// comment}
La Syntaxe JSX
Philosophie de React Environnement de travail
Mr. JADLI AISSAM 24
Usage de JSX
JSX nous permet de déclarer :
 Des variables JavaScript
 Des fonctions
 Des expressions de rendu
Vous pouvez utiliser des guillemets pour spécifier
des littéraux chaînes de caractères dans les attributs
ou utiliser carrément des variables ou fonctions :
La Syntaxe JSX
Philosophie de React Environnement de travail
Tester vos Connaissances
Mr. JADLI AISSAM 25
Mr. JADLI AISSAM 26
React Quiz
React est principalement utilisé pour construire une ___
 Base de données
 Application de Bureau (Desktop)
 Interface utilisateur Web dynamique
 Plateforme de conception
1
Mr. JADLI AISSAM 27
React Quiz
La philosophie de React est basé sur ___
 Division de l’interfaces en blocs plus petits
 Séparation du code en fichiers HTML, CSS et JS
 Utilisation de JQuery
 Utilisation de composants réutilisables
2
Mr. JADLI AISSAM 28
React Quiz
Parmi les avantages de React ____
 Gestion automatique des animations
DOM virtuel
Débogage Facile
Développement mobile avec React Native
3
Mr. JADLI AISSAM 29
React Quiz
L’encapsulation d’un composant signifie que ____
 Il est considéré comme une boite noire par les autres
On ne peut pas interagir avec le composant
On ne peut pas utiliser le composant
Le composant contient tout ce dont il a besoin
4
Mr. JADLI AISSAM 30
React Quiz
Le flux des données dans React est ____
Multidirectionnel : n’importe quel composant
peut envoyer les données à n’importe quel
autre composant
Unidirectionnel : Le chemin qu’empreinte les
données est limité
5
Mr. JADLI AISSAM 31
React Quiz
Pour développer une application React, nous avons besoin de :
NodeJS
Java + JDK version supérieur à 8
Create-react-app
IDE (VSCode par exemple)
6
Mr. JADLI AISSAM 32
React Quiz
L’abréviation JSX veut dire ____
JavaScriptXpress
JavaSideXML
JavaScriptXML
JSONXML
7
Mr. JADLI AISSAM 33
React Quiz
L’utilisation de la syntaxe JSX avec React est ____
Obligatoire
Optionnelle
Recommandée
8
Mr. JADLI AISSAM 34
React Quiz
JSX permet d’évaluer les expressions :
Directement
Entre parenthèses ()
 Entre accolades {}
Entre crochets []
9
Mr. JADLI AISSAM 35
React Quiz
Pour écrire un commentaire en JSX, utiliser ____
//commentaire
/*commentaire*/
{//commentaire}
{/*commentaire*/}
10
TRAVAUX PRATIQUES
Mr. JADLI AISSAM 36
http://bit.ly/reactjs_s1_tp
Télécharger le TP
http://bit.ly/reactjs_s1_cours
Télécharger le Cours

Contenu connexe

Tendances

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
React Context API
React Context APIReact Context API
React Context APINodeXperts
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.pptPROFPROF11
 

Tendances (20)

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Maven
MavenMaven
Maven
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Introduction to React JS
Introduction to React JSIntroduction to React JS
Introduction to React JS
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Jenkins
JenkinsJenkins
Jenkins
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
React-cours.pdf
React-cours.pdfReact-cours.pdf
React-cours.pdf
 
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
React js
React jsReact js
React js
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
React Context API
React Context APIReact Context API
React Context API
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 

Similaire à ESTEM_ReactJS_S1.pptx

Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1Sem Koto
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1Sem Koto
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
react-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basicreact-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basiczineblahib2
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJSaissamjadli
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 

Similaire à ESTEM_ReactJS_S1.pptx (20)

React xp
React xpReact xp
React xp
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
react-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basicreact-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basic
 
Angluars js
Angluars jsAngluars js
Angluars js
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJS
 
Chapter1
Chapter1Chapter1
Chapter1
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 

Dernier

Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 

Dernier (20)

Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 

ESTEM_ReactJS_S1.pptx

  • 1. Développement Web Moderne avec REACTJS Présenté par : JADLI AISSAM jadliaissam@gmail.com /in/jadli-aissam-86a69843 SÉANCE 1
  • 3. INTRODUCTION Mr. JADLI AISSAM 3 React est une bibliothèque JavaScript libre développée par Facebook depuis 2013. Son but principal est de faciliter la création d'application web SPA (Single Page Application), via la création de composants dépendant d'un état et générant une page HTML à chaque changement d'état. (Wikipédia) Grâce à React, il est facile de créer des interfaces utilisateurs interactives. Définissez des vues simples pour chaque état de votre application, et lorsque vos données changeront, React mettra à jour, de façon optimale, juste les composants qui en auront besoin.
  • 4. INTRODUCTION Mr. JADLI AISSAM 4 Pourquoi utiliser ReactJS
  • 5. INTRODUCTION Mr. JADLI AISSAM 5 Les Fonctionnalités Offertes par ReactJS React utilise le concept de DOM virtuel qui aide à la performance DOM Virtuel Composants d'interface utilisateur réutilisables et interactifs Réutilisation Passage simple au développement mobile grâce à React Native Mobile Multiplateforme Le codage est plus simple grâce à la syntaxe JSX Syntaxe JSX Flux unidirectionnel qui améliore les performances globales Flux de Données React possède son propre Débogueur. Débogage
  • 6. INTRODUCTION Mr. JADLI AISSAM 6 Qui utilise ReactJS ?
  • 7. INTRODUCTION Mr. JADLI AISSAM 7 Alternatives Que dois-je choisir ? Flexibilité + Javascript => React Code Propre + Organisation => VueJS POO + TypeScript => Angular React et VueJS sont plus adaptés pour les projets de petit et moyenne taille.
  • 8. Mr. JADLI AISSAM 8 Philosophie de React Environnement de travail Philosophie de React React est basé sur l'idée que tout est un composant. Il est basé sur la conclusion qu'une interface utilisateur est une combinaison de plusieurs composants, chaque composant pouvant être la combinaison d'autres petits composants, etc. La Syntaxe JSX Philosophie de React Environnement de travail
  • 9. Mr. JADLI AISSAM 9 Virtual DOM Le DOM (Document Object Model) est l’API qui permet de manipuler le contenu hiérarchisé d’une page web (c-à-d du HTML) sous forme d’arbre. Les éléments HTML constituent les nœuds de cet arbre. La Syntaxe JSX Philosophie de React Environnement de travail
  • 10. Mr. JADLI AISSAM 10 Virtual DOM React utilise le concept du DOM virtuel. Le DOM virtuel (VDOM) est un concept de programmation dans lequel une représentation idéale, ou « virtuelle », d’une interface utilisateur (UI) est conservée en mémoire et synchronisée avec le DOM « réel » de la page. . La Syntaxe JSX Philosophie de React Environnement de travail
  • 11. Mr. JADLI AISSAM 11 Encapsulation Les composants React se comportent vis-à- vis du reste de l'application comme une boîte noire, avec une API clairement définie. Ils contiennent en eux tout le nécessaire à leur bon fonctionnement : la structure, les styles et le comportement qui sont connectés par une syntaxe concise (baptisée JSX), ce qui facilite considérablement le développement. La Syntaxe JSX Philosophie de React Environnement de travail
  • 12. Mr. JADLI AISSAM 12 Flux de Données Unidirectionnel Afin d’éviter que tous les composants ne finissent par être étroitement connectés entre eux (appelé couplage fort, et constituant un gros problème de maintenance), React nous force à suivre un principe simple : « les données descendent, l’état remonte » La Syntaxe JSX Philosophie de React Environnement de travail
  • 13. Mr. JADLI AISSAM 13 Environnement de Travail Afin de développer des applications ReactJS, nous aurons besoin de :  NodeJS  IDE (VSCode par exemple)  Outil en ligne de commande : create-react-app La Syntaxe JSX Philosophie de React Environnement de travail
  • 14. Babel Babel est un outil qui est principalement utilisée pour convertir le code ECMAScript 2015+ en une version rétro-compatible de JavaScript dans les navigateurs ou environnements actuels et anciens. Babel est utilisé avec React pour convertir la syntaxe JSX en Vanilla Javascript. 14 La Syntaxe JSX Philosophie de React Environnement de travail
  • 15. Babel Exemple 15 La Syntaxe JSX Philosophie de React Environnement de travail
  • 16. Webpack 16 Webpack est un outil qui permet de transformer les différentes composantes d’une application en code natif, statique et compréhensible directement par le navigateur. La Syntaxe JSX Philosophie de React Environnement de travail
  • 17. Mr. JADLI AISSAM 17 create-react-app create-react-app est un outil pour faciliter le développement React. L’idée est de générer automatiquement un squelette applicatif et de masquer la complexité potentielle de configuration des briques techniques associées :  Gestion de JS moderne (ES2015+) avec babel;  Bundling de l’application (avec Webpack);  Serveur de développement;  Génération de fichiers de production optimisés, etc. La Syntaxe JSX Philosophie de React Environnement de travail
  • 18. Mr. JADLI AISSAM 18 create-react-app La structure d’un projet crée avec create-react-app est la suivante : public/index.htm : C’est le fichier HTML principal qui inclut le code et l’application React et fournit un contexte pour le rendu de React. Plus précisément, il comprend un div dans lequel votre application React s'affichera à l'intérieur : <div id=”root”> src/ : Il stocke tout le code modifiable. C’est ici que seront placés les différentes composantes de l’application App.js : C’est un exemple de composant React appelé «App» crée par create-react-app lors de la création d'une nouvelle application La Syntaxe JSX Philosophie de React Environnement de travail
  • 19. TRAVAUX PRATIQUES Mr. JADLI AISSAM 19 http://bit.ly/reactjs_s1_tp Télécharger le TP http://bit.ly/reactjs_s1_cours Télécharger le Cours
  • 20. Mr. JADLI AISSAM 20 La Syntaxe JSX JSX (JavaScript XML) est un langage de balisage utilisé pour créer des éléments React. Le balisage peut être utilisé pour représenter un composant unique autonome ou un composant complexe. La syntaxe pour écrire JSX est : Un composant typique de React ressemblerait à ceci : La Syntaxe JSX Philosophie de React Environnement de travail
  • 21. Mr. JADLI AISSAM 21 JSX and HTML React donne aux développeurs frontaux un outil qu'ils connaissaient (probablement pour faciliter la courbe d'apprentissage), il utilise donc un langage de balisage similaire au HTML. Notez que les développeurs ont créé tous les éléments HTML (div, main, article, en-tête, pied de page, etc.) dans la bibliothèque React, et la meilleure partie est qu'ils se comportent tous de la même manière qu'en HTML. Si nous devions afficher une image dans React, nous pourrions en fait utiliser le même balisage que nous utilisons en HTML : La Syntaxe JSX Philosophie de React Environnement de travail
  • 22. Mr. JADLI AISSAM 22 Sensibilité à la casse Comment React différencie-t-il nos éléments personnalisés des éléments HTML? Il utilise la sensibilité à la casse. Il est recommandé d'utiliser la casse Pascal pour nos composants React tandis que le casse minuscule pour les éléments HTML . Si nous enfreignons ces règles, le compilateur React ou la console du développeur émet l’avertissement suivant : La Syntaxe JSX Philosophie de React Environnement de travail
  • 23. Mr. JADLI AISSAM 23 Limites Puisque nous utilisons JSX, qui est une extension JavaScript, nous limitons donc certaines des normes du HTML. Les mots clés JavaScript ne peuvent donc pas être utilisés dans JSX, par exemple :  class est remplacé par className  for dans la tag <label> est remplacé par htmlFor De plus, les commentaires ne sont plus écrits comme <!-- comment --> , mais sont plutôt écrits comme {/* comment */} {// comment} La Syntaxe JSX Philosophie de React Environnement de travail
  • 24. Mr. JADLI AISSAM 24 Usage de JSX JSX nous permet de déclarer :  Des variables JavaScript  Des fonctions  Des expressions de rendu Vous pouvez utiliser des guillemets pour spécifier des littéraux chaînes de caractères dans les attributs ou utiliser carrément des variables ou fonctions : La Syntaxe JSX Philosophie de React Environnement de travail
  • 25. Tester vos Connaissances Mr. JADLI AISSAM 25
  • 26. Mr. JADLI AISSAM 26 React Quiz React est principalement utilisé pour construire une ___  Base de données  Application de Bureau (Desktop)  Interface utilisateur Web dynamique  Plateforme de conception 1
  • 27. Mr. JADLI AISSAM 27 React Quiz La philosophie de React est basé sur ___  Division de l’interfaces en blocs plus petits  Séparation du code en fichiers HTML, CSS et JS  Utilisation de JQuery  Utilisation de composants réutilisables 2
  • 28. Mr. JADLI AISSAM 28 React Quiz Parmi les avantages de React ____  Gestion automatique des animations DOM virtuel Débogage Facile Développement mobile avec React Native 3
  • 29. Mr. JADLI AISSAM 29 React Quiz L’encapsulation d’un composant signifie que ____  Il est considéré comme une boite noire par les autres On ne peut pas interagir avec le composant On ne peut pas utiliser le composant Le composant contient tout ce dont il a besoin 4
  • 30. Mr. JADLI AISSAM 30 React Quiz Le flux des données dans React est ____ Multidirectionnel : n’importe quel composant peut envoyer les données à n’importe quel autre composant Unidirectionnel : Le chemin qu’empreinte les données est limité 5
  • 31. Mr. JADLI AISSAM 31 React Quiz Pour développer une application React, nous avons besoin de : NodeJS Java + JDK version supérieur à 8 Create-react-app IDE (VSCode par exemple) 6
  • 32. Mr. JADLI AISSAM 32 React Quiz L’abréviation JSX veut dire ____ JavaScriptXpress JavaSideXML JavaScriptXML JSONXML 7
  • 33. Mr. JADLI AISSAM 33 React Quiz L’utilisation de la syntaxe JSX avec React est ____ Obligatoire Optionnelle Recommandée 8
  • 34. Mr. JADLI AISSAM 34 React Quiz JSX permet d’évaluer les expressions : Directement Entre parenthèses ()  Entre accolades {} Entre crochets [] 9
  • 35. Mr. JADLI AISSAM 35 React Quiz Pour écrire un commentaire en JSX, utiliser ____ //commentaire /*commentaire*/ {//commentaire} {/*commentaire*/} 10
  • 36. TRAVAUX PRATIQUES Mr. JADLI AISSAM 36 http://bit.ly/reactjs_s1_tp Télécharger le TP http://bit.ly/reactjs_s1_cours Télécharger le Cours