SlideShare ist ein Scribd-Unternehmen logo
1 von 110
Downloaden Sie, um offline zu lesen
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm
 

Was ist angesagt? (20)

Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
ReactJS
ReactJSReactJS
ReactJS
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHT
 
React lecture
React lectureReact lecture
React lecture
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
 
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
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
React new features and intro to Hooks
React new features and intro to HooksReact new features and intro to Hooks
React new features and intro to Hooks
 

Ähnlich wie Alphorm.com Formation React : Les fondamentaux

Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
hugomallet
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
Mejdeddine Bouzouita
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript French
Vlad Posea
 

Ähnlich wie Alphorm.com Formation React : Les fondamentaux (20)

react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbreact (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
 
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuXebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
 
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
 
2016_js_react.pdf
2016_js_react.pdf2016_js_react.pdf
2016_js_react.pdf
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Backbonejs presentation
Backbonejs presentationBackbonejs presentation
Backbonejs presentation
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
 
Tableau de bord Yammer sous SharePoint 2013
Tableau de bord Yammer sous SharePoint 2013Tableau de bord Yammer sous SharePoint 2013
Tableau de bord Yammer sous SharePoint 2013
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Tapestry
TapestryTapestry
Tapestry
 
Play Framework - Toulouse JUG - nov 2011
Play Framework - Toulouse JUG - nov 2011Play Framework - Toulouse JUG - nov 2011
Play Framework - Toulouse JUG - nov 2011
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
 
C5 Javascript
C5 JavascriptC5 Javascript
C5 Javascript
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript French
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 

Mehr von Alphorm

Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm
 
Alphorm.com Formation Power BI : Analyse et Visualisation de Données
Alphorm.com Formation Power BI : Analyse et Visualisation de DonnéesAlphorm.com Formation Power BI : Analyse et Visualisation de Données
Alphorm.com Formation Power BI : Analyse et Visualisation de Données
Alphorm
 

Mehr von Alphorm (20)

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

Alphorm.com Formation React : Les fondamentaux