Eric Sarrion Consulting est une société de formation en informatique spécialisée dans les nouvelles technologies
Ruby on Rails
La "star" des serveurs
Node.js
Le dernier né des serveurs
PhoneGap
Développer pour iPhone + Android
jQuery Mobile
La librairie JavaScript pour le web mobile
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 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.
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 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.
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
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.
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