SlideShare une entreprise Scribd logo
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Formation
React
Les fondamentaux
Une formation
Cursus React
Une formation
Plan de la formation
Introduction
1. Une introduction à JSX
2. Rendering des éléments
3. Composants et props
4. State et cycle de vie
5. Gestion des événements
6. Affichage conditionnel
7. Listes et clés
8. Formulaires
9. Notion de State
10. Composition ou héritage ?
Conclusion
Une formation
Public concerné
Développeur Web front : JavaScript/CSS/HTML
Une formation
Pré-requis
Connaître JavaScript
Alphorm.com Formation React : Les fondamentaux
Présentation de React
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Plan
Historique de React
Le problème du pattern MVC
Le virtual DOM
Notion de Components
Une formation
Historique de React
Une formation
Historique de React
Une formation
Le problème du MVC
Une formation
Le virtual DOM
Une formation
Notion de Components
Installation de
l'environnement
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
IDE
Node
Outils de développement
Plan
Une formation
Outils divers
Create React App
https://github.com/facebook/create-react-app
Json Server
https://www.npmjs.com/package/json-server
Http Server
https://www.npmjs.com/package/http-server
Hello World
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Présentation du projet
de la formation
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Présentation de Figma
Wireframing du projet Todo
Plan
Une formation
Figma
https://www.figma.com/
JSX : JavaScript XML
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
JSX ?
Syntaxe et utilisation de JSX
Plan
Une formation
JSX ?
JSX est une extension JavaScript
JavaScript XML
Elle facilite la création d’élément DOM
Une formation
Syntaxe et utilisation de JSX
const element = <h1>Bonjour, monde !</h1
>;
Syntaxe de base
Une formation
Syntaxe et utilisation de JSX
Fonctionnement
const element = (
<h1 className="greeting">
Bonjour, monde !
</h1>
);
const element = React.createElement(
'h1',
{className: 'greeting'},
'Bonjour, monde !'
);
Une formation
Syntaxe et utilisation de JSX
const name = 'Clarisse Agbegnenou';
const element = <h1>Bonjour, {name}</h1
>;
Utilisation de Variable
Une formation
Syntaxe et utilisation de JSX
Appel de fonction
function formatName(user) {
return user.firstName + ' ' + user.lastName;
}
const user = {
firstName: 'Kylian',
lastName: 'Mbappé'
};
const element = (
<h1>
Bonjour, {formatName(user)} !
</h1>
);
Une formation
Syntaxe et utilisation de JSX
Utilisation sous la forme d’expression
function getGreeting(user) {
if (user) {
return <h1>Bonjour, {formatName(user)} !</
h1>;
}
return <h1>Bonjour, Belle Inconnue.</h1>;
}
Une formation
Syntaxe et utilisation de JSX
Spécifier des attributs
const element1 = <div tabIndex="0"></div>;
const element2 = <img src={user.avatarUrl}></i
mg>;
Une formation
Syntaxe et utilisation de JSX
Spécifier des éléments enfants
const element = (
<div>
<h1>Bonjour !</h1>
<h2>Content de te voir ici.</h2>
</div>
);
Démarrage du projet TodoList
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Rendering des éléments
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
La méthode render
Eléments immuables
Mise à jour de l’arbre DOM
Plan
Une formation
La méthode render
<div id="root"></div>
Une formation
La méthode render
const element = <h1>Bonjour, monde</h1>;
ReactDOM.render(element, document.getElementById('roo
t'));
Une formation
Eléments immuables
Définition : Un objet immuable est un
objet dont l'état ne peut pas être modifié
après sa création
Un éléments React ne peut plus être
modifié après sa création
Une formation
Mise à jour de l’arbre DOM
Nous devons appeler la méthode
render() à chaque modification
Une formation
Exemple Mise à jour du DOM
function tick() {
const element = (
<div>
<h1>Bonjour, monde !</h1>
<h2>Il est {new Date().toLocaleTimeString()}.</h2>
</div>
);
ReactDOM.render(element, document.getElementById('root'));
}
setInterval(tick, 1000);
Rendu des éléments du projet
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Composants et props
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Composants Function
Composants Class
Les props
Assemblage de composants
Plan
Une formation
Composants Function
function Welcome() {
return <h1>Bonjour</h1>;
}
Une formation
Composants Class
class Welcome extends React.Component {
render() {
return <h1>Bonjour</h1>;
}
}
Une formation
Les props
Les Props sont des arguments passés
aux composants de React
Les Props sont transmis aux composants
par le biais d'attributs HTML
Les Props sont « readonly »
Une formation
Les props - function
function Welcome(props) {
return <h1>Bonjour, {props.name}</h1>;
}
const element = <Welcome name="Sara" />;
ReactDOM.render(
element,
document.getElementById('root')
);
Une formation
Les props - class
class Welcome extends React.Component {
constructor(props) {
super(props)
}
render() {
return <h1>Bonjour {this.props.name} </h1>;
}
}
const element = <Welcome name="Sara" />;
ReactDOM.render( element, document.getElementById('root’));
Une formation
Assemblage de composants
function Welcome(props) {
return <h1>Bonjour, {props.name}</h1>;
}
function App() {
return (
<div>
<Welcome name="Sara" />
<Welcome name="Edite" />
</div>
);
}
ReactDOM.render( <App />, document.getElementById('root'));
Ajout de Composants
et props au projet
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Etat et cycle de vie
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Notion d’état
Convertir une fonction en classe
Ajouter un état local à une classe
Cycle de vie d’un composant
Conseils et Bonnes pratiques
Circulation des données
Plan
Une formation
Notion d’état
Définition :
L’état d'un objet est sa forme à un instant
donné, telle que décrite par les valeurs de
l'ensemble de ses propriétés.
Avec React, seuls les composants basés sur
des classes peuvent utiliser la state
Une formation
Notion d’état
Les composants function sont StateLess
Les composants class sont StateFul
Une formation
Convertir une fonction en classe
function Clock(props) {
return (
<div>
<h1>Bonjour, monde !</h1>
<h2>Il est {props.date.toLocaleTimeString()}.</h2>
</div>
);
}
Une formation
class Clock extends React.Component {
render() {
return (
<div>
<h1>Bonjour, monde !</h1>
<h2>Il est {this.props.date.toLocaleTimeString()}.</h
2>
</div>
);
}
}
Convertir une fonction en classe
Une formation
Ajouter un état local à une classe
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
render() {
return (
<div>
<h1>Bonjour, monde !</h1>
<h2>Il est {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
Une formation
Cycle de vie d’un composant
class Clock extends React.Component {
...
componentDidMount() {
}
componentWillUnmount() {
}
...
}
Une formation
Conseils et Bonnes pratiques
Ne modifiez pas la state directement !
// Erroné
this.state.comment = 'Bonjour';
// Correct
this.setState({comment: 'Bonjour'});
Une formation
Les mises à jour de l’état peuvent être asynchrones
// Erroné
this.setState({
counter: this.state.counter + this.props.increment,
});
// Correct
this.setState((state, props) => ({
counter: state.counter + props.increment
}));
// Correct
this.setState(function(state, props) {
return { counter: state.counter + props.increment };
});
Conseils et Bonnes pratiques
Une formation
Les mises à jour de l’état sont fusionnées
constructor(props) {
super(props);
this.state = { posts: [], comments: []};
}
componentDidMount() {
fetchPosts().then(response => {
this.setState( {posts: response.posts} );
});
fetchComments().then(response => {
this.setState({ comments: response.comments});
});
}
Conseils et Bonnes pratiques
Une formation
Circulation des données
Les données descendent
<h2>Il est {this.state.date.toLocaleTimeString()}.</h
2>
<FormattedDate date={this.state.date} />
function FormattedDate(props) {
return <h2>Il est {props.date.toLocaleTimeString()}.</h2>;
}
Amélioration du projet :
State et récupération de données
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Gestion des événements
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Syntaxe de déclaration d’un event
Rappel sur l’utilisation de ‘this’
Plan
Une formation
Syntaxe de déclaration d’un event
<button onclick="activateLasers()">
Activer les lasers
</button>
<button onClick={activateLasers}>
Activer les lasers
</button>
HTML
React
Une formation
Rappel sur l’utilisation de ‘this’
https://www.w3schools.com/js/js_this.asp
In a method, this refers to the owner object.
Alone, this refers to the global object
In a function, this refers to the global object
In a function, in strict mode, this is undefined
In an event, this refers to the element that received
the event
Methods like call(), and apply() can refer this to any
object
Une formation
Syntaxe de déclaration d’un event
class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = {isToggleOn: true};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(state => ({
isToggleOn: !state.isToggleOn
}));
}
render() {
return (
<button onClick={this.handleClick}>{this.state.isToggleOn ? 'ON' :
'OFF'} </button> );
}
}
Une formation
Syntaxe de déclaration d’un event
class LoggingButton extends React.Component {
handleClick = () => {
console.log('this vaut :', this);
}
render() {
return (
<button onClick={this.handleClick}>
Clique ici
</button>
);
}
}
Une formation
Syntaxe de déclaration d’un event
<button onClick={(e) => this.deleteRow(id, e)}>Supprimer la ligne</butto
n>
<button onClick={this.deleteRow.bind(this, id)}>Supprimer la ligne</butto
n>
Projet :
Supprimer un élément
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Affichage conditionnel
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Variables d’éléments
Condition à la volée
Opérateur ternaire
Empêcher l’affichage d’un composant
Plan
Une formation
Variables d’éléments
function UserGreeting(props) {
return <h1>Bienvenue !</h1>;
}
function GuestGreeting(props) {
return <h1>Veuillez vous inscrire.</h1>;
}
Une formation
Variables d’éléments
function Greeting(props) {
const isLoggedIn = props.isLoggedIn;
if (isLoggedIn) {
return <UserGreeting />;
}
return <GuestGreeting />;
}
ReactDOM.render(
<Greeting isLoggedIn={false} />,
document.getElementById('root')
);
Une formation
Condition à la volée
En JavaScript :
true && console.log("ok") => "ok"
false && console.log("ok") => false
true && expression : est toujours évalué à expression
false && expression : est toujours évalué à false
Une formation
Condition à la volée
function Mailbox(props) {
const unreadMessages = props.unreadMessages;
return (
<div>
<h1>Bonjour !</h1>
{unreadMessages.length > 0 &&
<h2>
Vous avez {unreadMessages.length} message(s) non-lu(s).
</h2>
}
</div>
);
}
const messages = ['React', 'Re: React', 'Re:Re: React'];
Une formation
Opérateur ternaire
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
L’utilisateur <b>{isLoggedIn ? 'est actuellement' : 'n’est pas'}</b> conn
ecté.
</div>
);
}
Une formation
Empêcher l’affichage d’un composant
function WarningBanner(props) {
if (!props.warn) {
return null;
}
return (
<div className="warning"> Attention !
</div>
);
}
Affichage d’une Todo en
fonction de son statut
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Listes et clés
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Parcourir une liste en JavaScript
Afficher plusieurs composants
Composant basique de liste
Les clés
Utilisation dans JSX
Plan
Une formation
Parcourir une liste en JavaScript
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map((number) => number * 2)
;
console.log(doubled);
Une formation
Afficher plusieurs composants
const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
<li>{number}</li>
);
ReactDOM.render(
<ul>{listItems}</ul>,
document.getElementById('root')
);
Une formation
Composant basique de liste
function NumberList(props) {
const numbers = props.numbers;
const listItems = numbers.map((number) =>
<li>{number}</li>
);
return (
<ul>{listItems}</ul>
);
}
const numbers = [1, 2, 3, 4, 5];
ReactDOM.render( <NumberList numbers={numbers} />,
document.getElementById('root')
);
Une formation
Les clés
const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
<li key={number.toString()}>
{number}
</li>
);
Une formation
Les clés
const todoItems = todos.map((todo)
=>
<li key={todo.id}>
{todo.text}
</li>
);
Une formation
Utilisation dans JSX
function NumberList(props) {
const numbers = props.numbers;
return (
<ul>
{numbers.map((number) =>
<ListItem key={number.toString()}
value={number} />
)}
</ul>
);
}
Afficher la liste des Todos
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Utilisation des listes pour afficher
les Todos
Plan
Les Formulaires
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Composants contrôlés
Gérer plusieurs saisies
Présentation de formik
Plan
Une formation
Composants contrôlés
Problème
<input>, <textarea>, et <select> possèdent aussi un état interne
Les formulaires HTML possèdent un état interne
Solution
L’état interne des éléments sera stocké dans la state React
React devient la « Single Source of Truth» (SSOT)
Une formation
Composants contrôlés
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
event.preventDefault();
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<input type="text"
value={this.state.value}
onChange={this.handleChange} />
<input type="submit" value="Envoyer" />
</form>
);
}
Une formation
Gérer plusieurs saisies
class Reservation extends React.Component {
// ...
iChange(event) {
const value = event.target.name === 'isGoing' ? event.target.checked : event.targe
t.value;
const name = event.target.name;
this.setState({ [name]: value });
}
render() {
return (
<form>
<input name="isGoing » type="checkbox" checked={this.state.isGoing}
onChange={this.iChange} />
<br />
<input name="numberOfGuests" type="number" value={this.state.numberOfGuests
onChange={this.iChange} />
</form>
);
}
}
Une formation
Présentation de formik
Ajouter un formulaire au
Projet Todo
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Ajouter Formik au Projet
Todo
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Mieux utiliser la State
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Faire remonter la State
Component 1
App
Component 2
State
State State
Une formation
Faire remonter la State
Component 1
App
Component 2
State
Props Props
Faire remonter
la State du Projet
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Gérer l'état de l'application Todo et
de ses composants
Plan
Composition ou héritage ?
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Délégation de contenu
Spécialisation
Plan
Une formation
Délégation de contenu
function FancyBorder(props) {
return (
<div className={'FancyBorder FancyBorder-
' + props.color}>
{props.children}
</div>
);
}
Une formation
Délégation de contenu
function WelcomeDialog() {
return (
<FancyBorder color="blue">
<h1 className="Dialog-title">
Bienvenue
</h1>
<p className="Dialog-message">
Merci de visiter notre vaisseau spatial !
</p>
</FancyBorder>
);
}
Une formation
Spécialisation
function Dialog(props) {
return (
<FancyBorder color="blue">
<h1 className="Dialog-title"> {props.title}</h1>
<p className="Dialog-message">{props.message}</p>
</FancyBorder>
);
}
function WelcomeDialog() {
return (
<Dialog title="Bienvenue" message="Merci de visiter notre vaisseau spatial !"
);
}
React et Docker
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Conclusion
Une formation
https://go.eolem.com/yt
https://go.eolem.com/linkedin
https://go.eolem.com/twitter
Une formation
Bilan
1. Une introduction à JSX
2. Rendering des éléments
3. Composants et props
4. State et cycle de vie
5. Gestion des événements
6. Affichage conditionnel
7. Listes et clés
8. Formulaires
9. Notion de State
10. Composition ou héritage ?
Alphorm.com Formation React : Les fondamentaux

Contenu connexe

PDF
react-fr.pdf
PPTX
Introduction à React
PDF
React-cours.pdf
PPTX
Introduction à React JS
PDF
Examen principal- php - correction
PDF
Développement d'un site web de E-Commerce avec PHP (Première Partie)
PPTX
Formation python
PPTX
Formation WordPress 2023.pptx
react-fr.pdf
Introduction à React
React-cours.pdf
Introduction à React JS
Examen principal- php - correction
Développement d'un site web de E-Commerce avec PHP (Première Partie)
Formation python
Formation WordPress 2023.pptx

Tendances (20)

PDF
L'API Collector dans tous ses états
PPTX
Its time to React.js
PDF
Introduction à React
PDF
React js
PPTX
Intro to React
PPTX
PDF
Introduction to ReactJS
PDF
React new features and intro to Hooks
PDF
Appalications JEE avec Servlet/JSP
PPTX
React JS - A quick introduction tutorial
PPTX
PPTX
Introduction to React JS for beginners | Namespace IT
PPTX
Introduction à ajax
PPTX
React hooks
PPTX
Intro to React
PDF
Spring Boot
PPTX
Introduction to React JS for beginners
PPTX
React js for beginners
PPTX
[Final] ReactJS presentation
PDF
L'API Collector dans tous ses états
Its time to React.js
Introduction à React
React js
Intro to React
Introduction to ReactJS
React new features and intro to Hooks
Appalications JEE avec Servlet/JSP
React JS - A quick introduction tutorial
Introduction to React JS for beginners | Namespace IT
Introduction à ajax
React hooks
Intro to React
Spring Boot
Introduction to React JS for beginners
React js for beginners
[Final] ReactJS presentation
Publicité

Similaire à Alphorm.com Formation React : Les fondamentaux (20)

PDF
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
PPTX
Cours yeoman backbone box2d
PDF
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
PPTX
react-slides.ppx (2) (1).pptx react presentation basic
PDF
2016_js_react.pdf
PDF
Support de Cours JSF2 Première partie Intégration avec Spring
PPT
Présentation de JavaServer Faces
PPT
Prsentation de-javaserver-faces4124
PDF
Backbonejs presentation
PDF
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
PPTX
Tableau de bord Yammer sous SharePoint 2013
PDF
React redux-tutoriel-1
PDF
React redux-tutoriel-1
PPTX
Symfony2 - Un Framework PHP 5 Performant
PDF
Tapestry
PDF
Play Framework - Toulouse JUG - nov 2011
PDF
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
PPT
C5 Javascript
PPT
C5 Javascript French
PDF
Cours 2 les composants
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Cours yeoman backbone box2d
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
react-slides.ppx (2) (1).pptx react presentation basic
2016_js_react.pdf
Support de Cours JSF2 Première partie Intégration avec Spring
Présentation de JavaServer Faces
Prsentation de-javaserver-faces4124
Backbonejs presentation
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Tableau de bord Yammer sous SharePoint 2013
React redux-tutoriel-1
React redux-tutoriel-1
Symfony2 - Un Framework PHP 5 Performant
Tapestry
Play Framework - Toulouse JUG - nov 2011
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
C5 Javascript
C5 Javascript French
Cours 2 les composants
Publicité

Plus de Alphorm (20)

PDF
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
PDF
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
PDF
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
PDF
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
PDF
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
PDF
Alphorm.com Formation Sage : Gestion Commerciale
PDF
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
PDF
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
PDF
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
PDF
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
PDF
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
PDF
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
PDF
Alphorm.com Formation PHP 8 : Les bases de la POO
PDF
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
PDF
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
PDF
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
PDF
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
PDF
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
PDF
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
PDF
Alphorm.com Formation Power BI : Analyse et Visualisation de Données
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Power BI : Analyse et Visualisation de Données

Alphorm.com Formation React : Les fondamentaux