Eric Sarrion Consulting

Eric Sarrion Consulting

Formations par Eric Sarrion,
expert reconnu

en Ruby on Rails, Node.js, PhoneGap


Eric Sarrion Consulting est une société de formation en informatique spécialisée dans les nouvelles technologies


Ruby on Rails

Node.js

PhoneGap

jQuery

Contact


Toutes nos formations s'effectuent dans vos locaux, et en plusieurs jours non consécutifs (à votre rythme).




Eric Sarrion est le formateur à votre service pour vous assurer le meilleur apprentissage possible.


En dehors des formations qu'il assure lui-même, Eric travaille depuis de nombreuses années sur les nouvelles technologies.

Il consacre beaucoup de temps à l'écriture de livres, dont il vous fait bénéficier lors de ses formations.

Eric est spécialisé dans le langage JavaScript et son écosystème : jQuery, jQuery Mobile, Node.js, PhoneGap.

Il a créé Eric Sarrion Consulting en 2010, après avoir travaillé plus de 25 ans dans diverses sociétés (éditeurs de logiciels, SSII).


Bibliographie


Voici les livres écrits par Eric Sarrion, et publiés aux éditions Eyrolles et O'Reilly.








Découvrez ces livres sur Amazon en cliquant sur le bouton


Contact


Toutes nos formations s'effectuent dans vos locaux, et en plusieurs jours non consécutifs (à votre rythme).





Ruby on Rails

Ruby on Rails est un environnement serveur créé en 2004. Il a séduit de nombreuses entreprises pour sa facilité d'apprentissage et la rapidité avec laquelle on développe des applications web.


Ruby on Rails

Depuis 2006 (date de publication du livre ci-contre), Eric assure de nombreuses formations sur Ruby on Rails.

Il intervient dans des entreprises, mais également dans des écoles d'informatique.

Durée de la formation : 5 jours, dans vos locaux et à votre rythme

Pré-requis : Utilisation d'un langage orienté objet, HTML

Programme : Voir ci-dessous

Cette formation est finançable par le DIF


RUBY

Langage Ruby

Exécution d'un programme Ruby

Écrire un premier programme en Ruby

Ecriture de lignes d'instructions

Création de variables

Valeurs constantes

Tests conditionnels

Boucles de programme

Fonctions

Variables locales et variables globales

Classes et objets

Création de modules

Blocs et itérateurs

Collections d'objets


RAILS

Routage des requêtes

Enrichissement du fichier routes.rb

Ecriture d'un premier contrôleur

Création des fichiers Ruby

Test du contrôleur

Création d'une action dans le contrôleur

Création d'une vue associée à l'action

Classe ActionController::Base

Méthode render()

Afficher du texte

Donner le contrôle à une autre vue du même contrôleur

Utiliser deux fois la méthode render()

Méthode redirect_to()

Donner le contrôle à une URL

Donner le contrôle à une autre action

Table de hachage params

Utilisation de la table de hachage params

Classe HashWithIndifferentAccess

Les cookies

Définition des cookies

Implémentation des cookies dans Rails

Les sessions

Définition des sessions

Implémentation des sessions dans Rails

Les flash

Définition des flash

Implémentation des flash dans Rails

Ecriture d'un premier modèle

Création des fichiers Ruby

Association du modèle à une table

Configuration de l'accès à la base données

Test du modèle créé

Description de la classe ActiveRecord::Base

Création de la structure des tables

Obtention de la description en Ruby des tables de la base de données

Création d'une base de données à partir de code Ruby

Méthodes offertes par Rails permettant de manipuler la structure des tables

Mettre à jour une table

Créer des enregistrements

Modifier des enregistrements

Supprimer des enregistrements

Rechercher dans une table

Utilisation de find()

Utilisation de find_by_sql()

Compter les enregistrements

Utiliser plusieurs tables

Utilisation du mécanisme classique

Utilisation des facilités de Rails

Spécifier les relations dans les modèles

Méthodes de classe utilisées par Rails

Validation des données

Mécanisme de validation par défaut

Utilisation des facilités d'écriture de Rails

Code Ruby dans une vue

Coopération entre contrôleurs et vues

Coopération entre modèles et vues

Ecriture des formulaires dans les vues

Coopération modèle, contrôleur et vue pour les formulaires

Afficher des images

Afficher des liens

Afficher des boutons

Afficher des boutons de validation

Objet errors

Utiliser les feuilles de styles

Fichier de mise en page

Feuilles de styles

Sassy CSS

Utiliser jQuery avec Rails

Insérer du code jQuery dans un programme Rails

Effectuer des appels Ajax

Traiter la réponse du serveur

Transmettre des paramètres au serveur

Utiliser les fichiers helpers

Créer des fichiers helpers pour générer du code HTML dans les vues

Utiliser REST

Pourquoi utiliser REST

Routes nommées

Créer de nouvelles routes

Créer des services web

Gérer le composant:format dans les URLs

Utiliser la méthode respond_to?()

Travaux pratiques

En plus de différents exercices permettant de comprendre chacune des notions, on réalisera une application complète à l'aide de Ruby on Rails


Node.js

Node.js est un nouvel environnement permettant de créer son propre serveur web, de A à Z !

Il se programme en JavaScript (côté serveur), ce qui permet d'utiliser le même langage côté client et côté serveur.

Il est de plus extrèmement rapide, et réduit significativement le nombre de serveurs à utiliser en cas de fort traffic.


Node.js

L'année 2014 a vu la parution du livre d'Eric consacré à Node.js.

Le but de la formation Node.js est d'appréhender l'écosystème de Node.js (incluant Express et MongoDB), afin de développer des applications web robustes.

Durée de la formation : 5 jours, dans vos locaux et à votre rythme

Pré-requis : Langage JavaScript, HTML

Programme : Voir ci-dessous

Cette formation est finançable par le DIF


NODE.JS

Installation de Node.js

Un premier programme avec Node.js

Principe de fonctionnement de Node.js

Utiliser REPL

Gestion des modules

Inclusion de modules dans un fichier JavaScript

Utiliser un module standard défini par Node

Télécharger de nouveaux modules avec npm

Ecrire un module proposant de nouvelles fonctionnalités

Cas particulier : un module composé d'une fonction principale

L'objet module défini par Node

Mise en cache des modules

Visibilité des variables

Le fichier package.json

Gestion des événements

Pourquoi utiliser la classe events.EventEmitter

Créer un objet de la classe events.EventEmitter

Gérer des événements sur un objet de classe events.EventEmitter

Créer une classe dérivant de events.EventEmitter

Méthodes définies dans la classe events.EventEmitter

Méthodes utilitaires

Gestion de l'affichage à l'écran : objet console

Fonctions générales : module util

Gestion des URLS : module url

Gestion des requêtes : module querystring

Gestion des chemins : module path

Gestion d'octets : classe Buffer

Gestion des timers

Gestion des fichiers

Gestion synchrone et gestion asynchrone

Ouvrir et fermer un fichier

Lire un fichier

Ecrire un fichier

Dupliquer un fichier

Supprimer un fichier

Renommer un fichier ou un répertoire

Créer ou supprimer un répertoire

Lister tous les fichiers d'un répertoire

Tester l'existence d'un fichier ou d'un répertoire

Obtenir des informations sur un fichier ou un répertoire

Relier les fichiers et les streams

Gestion des connexions HTTP

Créer un serveur HTTP

Créer un client HTTP


EXPRESS

Introduction au module Connect

Installer le module Connect

Créer un serveur HTTP sans utiliser Connect

Créer un serveur HTTP en utilisant Connect

Définir et utiliser un middleware

Chaînage des méthodes dans Connect

Cas d'erreurs dans les middlewares

Utiliser les middlewares définis dans Connect

Middleware logger : afficher les informations dans les logs

Middleware errorHandler : afficher les messages d'erreur

Middleware static : afficher les fichiers statiques

Middleware query : parser les données transmises dans la requête

Middleware bodyParser : parser les données transmises dans l'entête

Middleware favicon : gérer l'icône affichée dans la barre d'adresses

Middleware session : gérer les sessions

Middleware methodOverride : gérer les requêtes REST

Introduction au framework Express

Installer le framework Express

Créer une application web avec Express

Architecture d'une application Express

Le modèle MVC

Routage des requêtes avec Express

Qu'est ce qu'une route ?

Architecture REST

Objet app.routes défini par Express

Définir l'URL dans les routes

Organiser l'écriture des routes en créant des modules séparés

Organiser l'écriture des routes en utilisant REST

Bien utiliser les middlewares

Envoyer la réponse du serveur

Retourner un code HTTP

Retourner une entête au navigateur

Retourner le corps de la réponse

Objets app, req et res utilisés par Express

Objet app : gérer l'application Express

Objet req : gérer la requête reçue

Objet res : gérer la réponse à envoyer

Créer les vues avec EJS

Installer EJS

Une première vue avec EJS

Transmettre des paramètres à la vue

Cas pratique : Utiliser plusieurs vues dans une application

Ajouter des styles dans les vues


MONGODB

Introduction à MongoDB

Installer MongoDB

Documents et collections

Utiliser l'exécutable mongo

Etablir une connexion à la base de données

Créer des documents

Rechercher des documents

Rechercher selon l'existence ou le type d'un champ dans un document

Rechercher à l'aide d'une expression JavaScript avec $where

Rechercher dans des sous-documents

Rechercher dans des tableaux

Trier les documents lors d'une recherche

Indiquer les champs à retourner lors d'une recherche

Compter le nombre de documents trouvés lors d'une recherche

Rechercher le premier document qui satisfait une recherche

Mettre à jour des documents

Supprimer des documents

Actions globales sur une collection

Actions globales sur une base de données

Introduction au module Mongoose

Installer le module Mongoose

Etablir une connexion à la base de données avec Mongoose

Utiliser les schémas et les modèles

Créer des documents

Créer un document en utilisant la méthode d'instance save()

Créer un document en utilisant la méthode de classe create

Créer des sous-documents

Rechercher des documents

Utiliser la méthode find(conditions, callback)

Utiliser la méthode find(conditions)

Méthodes utilisables dans la classe mongoose.Query

Utiliser la méthode findOne()

Utiliser la méthode findById()

Utiliser la méthode count()

Modifier des documents

Utiliser la méthode de classe update()

Utiliser la méthode save()

Utiliser la méthode findOneAndUpdate()

Utiliser la méthode findByIdAndUpdate()

Supprimer des documents

Utiliser la méthode de classe remove()

Utiliser la méthode d'instance remove()

Utiliser la méthode findOneAndRemove()

Utiliser la méthode findByIdAndRemove()

Valider les données

Valider un premier document

Afficher un message d'erreur si la validation échoue

Validations par défaut de Mongoose

Créer sa propre validation

Validations asynchrones

Utiliser le concept de population

Indiquer les relations dans les schémas

Ajout de documents dans les collections

Recherche de documents dans les collections

Utiliser la méthode populate()

Utiliser les middlewares dans Mongoose

Utiliser les pre middlewares

Utiliser les post middlewares

Construction d'une application client serveur

Application construite en utilisant REST

Application construite sans utiliser REST


AUTRES MODULES

Le module async

Installer le module async

Méthodes agissant sur les tableaux de données

Méthodes agissant sur l'enchaînement des fonctions de callback

Récapitulatif des méthodes du module async

Utiliser les web sockets avec socket.io

Installer le module socket.io

Communication du client vers le serveur

Communication du serveur vers le client

Diffuser des informations à plusieurs clients

Transmission des informations entre le client et le serveur

Associer des données à une socket

Utiliser plusieurs programmes de traitement des sockets


Node.js

PhoneGap est l'outil idéal pour créer des applications natives pour iPhone ou Android.

On l'utilise avec les librairies jQuery et jQuery Mobile, également étudiées dans la formation proposée ici.


PhoneGap

Le but de la formation PhoneGap est de permettre de construire des applications pour iPhone et Android, en utilisant uniquement HTML et JavaScript.

Cette formation nécessite d'étudier jQuery, jQuery Mobile, HTML5, puis PhoneGap.

Durée de la formation : 6 jours, dans vos locaux et à votre rythme

Pré-requis : Langage JavaScript, HTML

Programme : Voir ci-dessous

Cette formation est finançable par le DIF


JQUERY

La philosophie de jQuery

Installation de jQuery

Objet jQuery

$ comme raccourci

Chaînage des méthodes

Méthodes utilitaires

Manipulation d'objets

Manipulation de tableaux

Manipulation de chaines de caractères

Sélecteurs

Sélecteurs simples

Sélecteurs d'attributs

Sélecteurs de classe

Sélecteurs d'id

Pseudo-classes

Accéder au DOM

Document Object Model : rappels JavaScript

Méthodes d'accès au DOM

Manipuler le DOM

Parcours des éléments de la collection

Méthodes gérant les attributs et propriétés

Méthodes d'insertion dans le DOM

Gestion des événements

Gestion des événements : rappels JavaScript

Méthode bind (eventName, callback)

Paramètre event

Méthode unbind () : supprimer un gestionnaire d'événement

Ajax

Principe de base

Mise en place d'un serveur

Méthode $.ajax (options)

Effets visuels

Effets visuels standards définis par jQuery

Enchaînements d'effets standards

Créer ses propres effets visuels avec jQuery

Enchaînement d'effets avec animate ()

Gérer la file d'attente des effets visuels

Travaux pratiques

Réalisation d'une application web avec jQuery et Ajax


JQUERY MOBILE

Afficher les éléments graphiques

Fenêtres

Listes

Boutons

Tableaux

Barres d'outils

Éléments de formulaires

Interrupteurs

Sliders

Utiliser les thèmes CSS

Conventions de jQuery Mobile

Initialisation de jQuery Mobile

Options de configuration

Utilisation des namespaces

Manipuler les éléments avec JavaScript

La méthode $.mobile.changePage ()

Gérer les événements sur les fenêtres

Gérer les éléments graphiques avec JavaScript

Créer un plugin jQuery Mobile

Travaux pratiques

En plus de différents exercices permettant de comprendre chacune des notions, on réalisera une application complète à l'aide de jQuery Mobile (1 jour).


HTML5

Bases de données côté client

Stockage permanent et stockage dans la session

Utilisation d'une base de données en HTML5

Cartes Google Maps

Utiliser le GPS en HTML5

Intégrer une carte Google Maps dans l'application

Multitouch

Utiliser le multitouch dans les applications iPhone


PHONEGAP

Rendre une application web native avec PhoneGap

Paramétrages iPhone et Android

Exécution d'une application en natif sur l'iPhone et Android

Utiliser les fonctions natives du téléphone

Accéléromètre

Vibreur

Sons

Fenêtres d'alerte

Contacts

Appareil Photo