FORMATION PROGRAMMATION

  • Home
  • FORMATION PROGRAMMATION

Objectifs de la formation 

Comprendre les fondements de la programmation et de l’algorithmique. Le but de cette formation initiation programmation est de vous donner de solide base en programmation pour pouvoir aborder n’importe quel langage de programmation. Tous les aspects essentiels de la programmation seront abordés. De la programmation procédurale à la programmation événementielle, et la programmation objet.

À qui s’adresse cette formation ?

Public :

Cette formation initiation programmation est destinée à toute personne ayant à programmer dans un langage structuré, objet ou de script et désirant acquérir les bases de la programmation indépendamment d’une syntaxe particulière.

Prérequis :

Aucun.

Contenu du cours 

  1. Du besoin utilisateur au programme

    La chaîne globale

    Nécessité de paliers entre la pensée humaine et les séquences binaires 01010001…
    Les différentes phases : sources, compilation, binaire
    Le cas particulier d’un interpréteur
    Ne pas tout réécrire (bibliothèques, éditions de liens, et exécutables)

    Algorithme

    Les « atomes » pour s’exprimer
    Apprendre à formuler un traitement (rien ne s’invente)
    Utilisation d’un pseudo langage
    Exemples d’algorithme bien conçu, « mal » conçu, et … faux !

    Les composants d’un programme

    Variables et types de données

    Pourquoi typer les variables ?
    Exemples de type (entier, réel, caractères, …)
    Exemples de problèmes liés aux types
    Les opérateurs disponibles (+, -, /, */ %, …)
    Le confort des tableaux et des structures

    La « grammaire » d’un langage

    Les blocs de programme (début … fin)
    Le test d’une expression (si … alors … sinon …)
    La boucle (tant que …)
    Les conforts syntaxiques

    Un premier programme

    Présentation de l’environnement de développement
    Un premier programme simple en Java.
    Compilation et exécution.

    Bien écrire ses programmes.

    Structurer son programme

    La nécessité d’utiliser des procédures ou des fonctions
    Différences conceptuelles et syntaxiques entre les deux
    Passer des arguments à une fonction (prototype, code retour)
    Passages par valeur et par adresse dans une fonction

    Les bibliothèques

    Ne pas réécrire ce qui existe déjà (librairies)
    Ecrire ses propres librairies
    Comment les utiliser dans d’autres programmes ?

    L’importance de la présentation

    Les bonnes habitudes pour anticiper les erreurs
    Les commentaires utiles

    L’accès aux données

    Les SGBD (Systèmes de Gestion de Bases de Données)

    Fonctions spécifiques d’un SGBD par rapport au système d’exploitation.
    Quelques acteurs : EXCEL, Access, ORACLE, SQL Server, MySQL, ….
    Les traitements  offerts par le SGBD (stockage, extraction, …)
    Que signifie Client/Serveur ?
    Comment récupérer les données d’une base dans  un programme ?
    Comment écrire les données d’un programme dans une base ?

    Les bases du SQL (Structured Query Language)

    « Parler » avec les bases de données en SQL
    Créer une table
    Stocker des données dans une table (insert)
    Les modifier (update)
    Les supprimer (delete)
    Extraire les données  (requêtes select simples)

    Communiquer avec les fichiers

    Le cycle classique : ouvrir, lire ou écrire ou modifier, puis fermer.
    Le cas particulier du clavier et de l’écran

    L’environnement de développement

    Savoir utiliser son environnement

    Peut-on développer sous un traitement de texte quelconque ?
    Les apports de tel ou tel atelier (Visual Studio, Eclipse, …)
    L’aide en ligne 

    Utilisé un debbugeur.

    Fonctionnement d’un debbugeur.
    Les points d’arrêts (breakpoint)
    Connaître la valeur des variables pendant l’exécution.

    Les différents types de langage

    Les langages de programmation procédurale

    Pourquoi parle-t-on de procédurale ?
    Les exemples du C, Cobol, …
    Leurs limites et l’apport de l’objet

    Les langages de programmation objet

    Que signifie « Programmer objet « ?
    La « discipline» imposée  par la programmation objet
    Liens entre classes, instances, et objets
    Méthodes et propriétés d’une classe
    Exemples de programmes objets en java
    L’approche objet de la programmation par composants (services)

    Les langages de programmation événementielle

    Associer des traitements à des événements (clic, drag and drop, …)
    Problématiques spécifiques (gestion du contexte)

    Les langages de programmation de script.

    Rôle de l’interpréteur
    L’exemple des shellscripts d’exploitation (powershell, bash)
    Le WEB avec  javascript.

    Synthèse

    Quels langages sont utilisés selon les natures des projets  (WEB, scientifique, gestion, multimédia,  ) ?
    Panorama de leurs intérêts/inconvénients respectifs (expressivité, performances, sécurité, …)
    Les langages de demain

Objectifs de la formation 

Cette formation Programmation Objet vous permet de comprendre l’intérêt et toutes les possibilités offertes par le développement objet par rapport à l’approche structurée classique. Les limites de cette dernière sont présentées de façon progressive afin que vous vous rendiez compte par vous-même, grâce à de nombreux ateliers pratiques, qu’il existe une « autre façon » de penser le développement.



À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Capitaliser.
  • Savoir concevoir un modèle de classes et comprendre les différences entre l’approche objet et la programmation structurée.
  • Comprendre les apports de la programmation objet par rapport à la programmation structurée
  • Comprendre les principes et les spécificités de la conception Objet
  • Passer d’une approche fonctionnelle à une approche Objet
  • Savoir concevoir un modèle de classes pour ses applications
  • Savoir modéliser ce modèle à l’aide d’UML (introduction)
  • Comprendre l’apport des Frameworks dans une approche Objet
  • Savoir utiliser les Design Patterns (introduction)
  • Mettre en œuvre les concepts objets à travers un programme simple

À qui s’adresse cette formation ?

 Public :

Ce cours Programmation Objet s’adresse aux développeurs ou aux chefs de projet pratiquant la programmation structurée traditionnelle. Le public visé cherche à comprendre l’approche objet et comment mettre en œuvre ses modalités concrètes lors de futurs développements.

Cette formation intéressera également tout développeur (objet ou non) désirant être plus à l’aise dans l’utilisation et/ou la conception des classes dans ses développements.

Prérequis :

Les participants à cette formation Programmation Objet possèdent une première expérience en programmation structurée (non objet).
Quel que soit le langage utilisé (C, Cobol, Fortran, Pascal, Shell…), il est important d’avoir déjà développé et livré une application, même de taille modeste, seul ou en équipe.

Contenu du cours 

  1. 1.

    Travaux Pratiques d’introduction programmation et conception objet

    Un TP évolutif, de la conception du modèle objet à la mise en œuvre (assistée), en passant par la maintenance, permettra de progressivement prendre la mesure de l’intérêt de l’approche objet. Nous nous appuyons sur un système de gestion (simplifiée) des demandes de formation au sein d’un département de ressources humaines.

    De la programmation structurée (fonctionnelle) vers la programmation objet

    Bien comprendre les limites de la programmation structurée
    Les objectifs du monde Objet
    En quoi l’approche objet facilite-t-elle les ateliers de développement logiciels ?
    Que reste-t-il de la programmation structurée dans la programmation objet ?

    Travaux Pratiques

    Sur la base d’un programme simple, l’intervenant commente les grandes lignes du logiciel, les structures de données et les traitements utilisés (volontairement limités). Les participants sont amenés à répondre à certaines questions concernant la lisibilité des traitements, des variables, et sur l’évolution du logiciel. Les limites de la programmation classique sont volontairement amplifiées afin d’être clairement identifiées.

    Apprendre à concevoir des classes d’objet

    Définir un comportement commun au sein d’une classe
    Comment « reconnaître » une classe ?
    Savoir faire un effort d’abstraction et rester conceptuel
    Liens entre classe et objets (instance)
    Exemples de « mauvaises » classes
    Savoir définir un dictionnaire de données
    Et en extraire les attributs d’une classe
    Savoir recenser les états d’un objet
    L’origine et la fin d’un objet (constructeurs, destructeurs)
    Définir les traitements dans des méthodes
    Que deviennent les fonctions traditionnelles ?
    Les risques de « retomber » dans le modèle données/fonctions

    Travaux Pratiques

    « Reconception » objet de l’application précédente.
    Élaboration du dictionnaire de données, des traitements, et des flux.
    Conception des classes

    1.  

    Visibilité entre les objets

    Qu’entend-on par « encapsuler » les données ?
    Pourquoi utiliser des accesseurs ?
    Voir les objets comme « responsables » de leur comportement
    Visibilité des attributs entre les objets (publique, protégé, privé)
    Visibilité des méthodes

    Travaux Pratiques

    Exemples de non encapsulation de données et d’expositions de méthodes amenant à une lisibilité et une maintenance complexe. Reconception « propre »

    Liens entre les classes

    La puissance de l’héritage
    Réflexions sur l’héritage multiple
    Ne pas confondre composition et héritage
    Intérêt du polymorphisme
    La surcharge des opérateurs
    Appels de méthode d’une autre classe (message)

    Travaux Pratiques

    Évolution de la conception vers un modèle de hiérarchie des classes
    Conception de l’encapsulation des traitements

    Compléments sur la conception objet

    Qu’est-ce qu’une méthode virtuelle ?
    Et une classe abstraite ?
    Intérêt des classes abstraites sans implémentation (interface)
    S’appuyer sur une manière de faire éprouver (design patterns)
    Exemples de design patterns

    Travaux Pratiques

    Amélioration du modèle précédent avec l’utilisation de classes abstraites

    1.  

    Introduction à la modélisation objet avec UML

    UML (Unified Modeling Language) ne représente pas une démarche mais un formalisme
    Les deux types de vues (statiques, dynamiques)
    Tour d’horizon des différents diagrammes UML
    Modélisation d’une classe
    La visibilité des attributs (publique, protégé, privé)
    Les diagrammes d’objet (attributs, méthodes, identité)
    Synthèse sur les diagrammes liés aux vues dynamiques

    Travaux Pratiques

    Formalisation avec UML du diagramme de classes de notre application.

    Présentation des Design Patterns

    Principes des solutions de conception cataloguées
    Méthodologie : définition des besoins techniques, des classes “types” du pattern, des collaborations entre classes
    Présentation des patrons de conception : origine, les 3 familles (création, structuration et comportement), autres patrons
    Présentation des principaux patrons de conception de chaque catégorie
    Documentation d’un patron de conception et présentation des différents diagrammes UML utilisés

    Travaux Pratiques

    Quizz : On présente une problématique et il faut choisir le bon patron (Pattern)

    Mise en œuvre des concepts objets (Java ou C#)

    Définir une classe et ses méthodes
    Mettre en œuvre l’’encapsulation des données
    Mise en œuvre de l’héritage
    Présentation rapide des IDE Visual Studio et Eclipse
    L’aide apportée aux développeurs pour manipuler les classes/objets
    Les apports des frameworks pour le développeur objet
    Les différentes familles (web, data, communication, etc.)

Objectifs de la formation 

RxJS est une librairie JavaScript permettant de composer des programmes asynchrones basés sur des évènements en utilisant des séquences observables. Adoptée par des frameworks comme Angular, la programmation réactive est un paradime de programmation orienté flux de données et propagation des changements.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Maîtriser la librairie RxJS.
  • Comprendre les concepts de la programmation réactive
  • Interpréter les Marble Diagrams
  • Mettre en oeuvre la librairie RxJS et ses principaux opérateurs
  • Déboguer et tester du code RxJS

À qui s’adresse cette formation ?

Public :

Ce cours RxJS s’adresse aux chefs de projet, architectes, développeurs et analystes.

Prérequis :

Pour suivre cette formation RxJS, une maîtrise préalable de JavaScript est indispensable. Vous pouvez l’acquérir en suivant la formation Maîtriser JavaScript (IJSO).

Contenu du cours 

  1. 1.

    Introduction à la programmation réactive et à RxJS

    La programmation réactive
    ReactiveX et RxJS

    La programmation Réactive

    Pull vs Push
    Design pattern Observer
    Marble diagram
    Les bases de RxJS
    Le type Observable
    Création d’un observable
    Le type Observer : subscribe
    Gestion des erreurs

    Les opérateurs

    Rappel sur les fonctions pures
    Comment utiliser les opérateurs
    Les opérateurs de filtrage
    Les opérateurs de transformations
    Les opérateurs pour combiner
    Les opérateurs utiles

    Concepts avancés

    Unicast / multicast observables
    Hot / Cold observables
    Subject, BehaviorSubject, ReplaySubject et AsyncSubject

    Pour aller plus loin

    Gestion de souscriptions / désinscriptions
    Gestion des erreurs

    Tester RxJS

Objectifs de la formation 

Nativement pensé pour des profils non techniques, les outils no-code permettent de mettre en ligne une grande variété d’applications mobiles ou web sans une seule ligne de code, uniquement par programmation visuelle

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Pouvoir sortir la première version d’un produit sans attendre des mois de développement à l’aide des outils no-code.
  • S’approprier la démarche no-code et savoir cadrer une idée pour commencer un prototype fonctionnel sans coder
  • Identifier les outils no-code les plus adaptés à associer pour sa solution
  • Prendre en main certains outils no-code tels qu’Airtable, Zapier ou Bubble

À qui s’adresse cette formation ?

Public :

Ce cours No-Code s’adresse aux chefs de projets digitaux, aux chargés d’innovation, aux consultants et plus globalement à tout profil non développeur souhaitant sortir la première version d’un produit sans attendre des mois de développement.

Prérequis :

Aucun pré-requis n’est attendu pour suivre cette formation no-code.

Contenu du cours 

  1. 1

    Introduction au no-code

    Le mouvement no-code et l’apparition d’une nouvelle génération d’outils
    Saisir le lien entre les approches no-code et les approches Lean Startup et Minimum Viable Product
    Exemples d’applications réalisées en no-code

    Créer un site web simple en no-code

    Mise en pratique

    Création d’un site web simple avec SquareSpace

    Panorama des outils (Weebly, Carrd, Strikingly, SquareSpace, Webflow, etc.)
    Pièges à éviter

    Bases de données enrichies en no-code : gérer et visualiser

    Exercice pratique

    Création d’une base avec AirTable

    Fonctionnalités clés : vues, field types, formulaires, etc.
    Les blocks : cartes, design de pages,visualisations, Gantt, reconnaissance d’images, etc.

    Interconnecter des outils no-code

    Mise en pratique

    Automatiser des actions entre les outils no-code avec Zapier

    Exemples de cas d’usages et de “zaps” populaires
    Zapier : fonctionnalités avancées de Zapier
    Les alternatives : IFTTT, Integromat, n8n, etc.
    Les conseils des experts

    Créer une application sur mobile no-code

    Mise en pratique

    Créer une application mobile avec GoogleSheets et Glide

    Glide : fonctionnalités avancées (relations entre table,etc.)
    Les alternatives pour applications mobile
    Les conseils des experts

Objectifs de la formation 

De plus en plus plébiscitée par les chargés d’innovation et product owner, la mise en pratique des outils no-code suppose certaines fondamentaux pour la rendre pleinement efficiente. C’est l’objet de cette formation No-Code Mise en Pratique, dont la vocation première est de vous apprendre à mettre en œuvre les principaux outils no-code tels qu’Airtable, Zapier, ou Bubble, suivant vos besoins.

 

 À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Déterminer une stratégie d’infogérance d’applications
  • Connaître les principaux outils no-code, et savoir déterminer lequel utiliser pour répondre à un besoin précis.
  • Savoir réaliser par vous-même votre première version utilisable (« produit minimum viable ») avec des outils tels que Bubble, Zapier, Airtable ou encore Glide.
  • Vous approprier la démarche no-code et savoir cadrer une idée pour commencer un prototype fonctionnel sans coder (avec Airtable, Zapier, Strikingly…)
  • Identifier les outils no-code les plus adaptés à associer pour sa solution

Prendre en main certains outils no-code tels qu’Airtable, Zapier ou encore Bubble

À qui s’adresse cette formation ?

Public :

Ce cours No-Code Mise en pratique s’adresse aux chefs de projets digitaux, aux chargés d’innovation, aux consultants et plus globalement à tout profil non développeur souhaitant sortir la première version d’un produit sans attendre des mois de développement.

Prérequis :

Aucun

Contenu du cours 

  1. 1.

    Introduction au No-Code

    Le mouvement no-code et l’apparition d’une nouvelle génération d’outils
    Saisir le lien entre l’approche no-code et les approches Lean Startup et Minimum Viable Product
    Exemples d’applications réalisées en no-code

    Créer un site Web simple en No-Code

    Mise en pratique

    Création d’un site web simple avec un website builder
    Panorama des outils (Weebly, Carrd, Strikingly, Squarespace, Webflow…)
    Pièges à éviter

    Bases de données enrichies en no-code : gérer et visualiser

    Exercice pratique

    Création d’une base avec AirTable

    Fonctionnalités clés : vues, field types, formulaires, etc.
    Les blocks : cartes, design de pages,visualisations, Gantt, reconnaissance d’images, etc.

    Interconnecter des outils no-code

    Mise en pratique

    Automatiser des actions entre les outils no-code avec Zapier

    Exemples de cas d’usages et de “zaps” populaires
    Zapier : fonctionnalités avancées de Zapier
    Les alternatives : IFTTT, Integromat, n8n, etc.
    Les conseils des experts

    Cartographie des outils no-code par cas d’usage

    Appbuilder
    Traitement des données
    Automatisation
    Paiement
    Formulaires
    Chatbots

    Mise en application sur le projet des participants

    Recommandations de combinaison d’outils no-code sur les projets des participants

    1.  

    Créer une application avec Bubble

    Prise en main de Bubble

    Mise en pratique

    Réaliser une première application avec Bubble

    Conseils des experts

    Éco-système de Bubble

    Extensions de Bubble : Facebook/Google connect, TinderPile,
    Templates
    Tutoriels

    Mise en application sur le projet des participants

    Atelier

    Comment réaliser votre MVP en no-code ?

    Remplir son backlog
    Coaching : vos prochaines étapes

Objectifs de la formation 

Cette formation Bubble vous propose de découvrir l’outil pas à pas, depuis les notions élémentaires jusqu’à des fonctionnalités avancées, en s’appuyant toujours sur des exemples (connus) du Web.

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Savoir concevoir, publier et gérer une application Web avec Bubble
  • Organiser un projet de développement sous Bubble
  • Concevoir des applications Web avec Bubble
  • Vérifier le niveau de sécurité de votre application Web
  • Optimiser la performance de votre application Bubble
  • Publier et gérer votre application Web créée sous Bubble

Savoir où et comment trouver les réponses à vos questions

À qui s’adresse cette formation ?

Public :

Ce cours Bubble s’adresse aux chefs de projet, chargés d’innovation, auto-entrepreneurs et plus globalement à toute personne souhaitant apprendre à créer une application web sans coder.

Prérequis :

Cette formation Bubble ne nécessite aucun pré-requis particulier, si ce n’est une bonne compréhension de la langue anglaise (l’interface de Bubble n’est disponible qu’en anglais).

Contenu du cours 

  1. 1.

    Contexte

    La tendance “no-code”
    À quoi sert Bubble
    Qu’est-ce que Bubble (notion de PaaS)
    Bubble face à ses concurrents

    Démarrer avec Bubble

    Création de compte
    Création d’un projet

    Comprendre l’interface de Bubble

    L’éditeur d’interface
    Le gestionnaire de flux logiques et de base de données
    L’éditeur de styles
    La bibliothèque de plug-ins
    Les réglages de l’application
    L’activité du serveur

    Théorie : les concepts de base pour utiliser Bubble

    Le concept d’utilisateur et d’utilisateur actuel
    Le concept du type de contenu d’une page ou d’un élément
    Le concept de relation Parent / Enfant entre éléments
    Le concept de groupe et de groupe répétitif
    Le concept d’environnement test et d’environnement de production

    Pratique : création pas à pas d’un site de petites annonces comme Le BonCoin

    Créer une interface utilisateur
    Rendre son site adapté à la navigation depuis un mobile
    Structurer la base de données
    Connecter l’interface et la base de données
    Créer les flux de modification de données
    Publier l’application sur le Web
    Mettre en place une carte géographique
    Paramétrer le module Google Maps
    Connecter des analytiques

    Exercice : ajout d’un module de recherche

    Investigation en autonomie d’une solution technique
    Mise en place d’une logique de recherche

    Correction : ajout d’un module de recherche

    Comprendre la notion d’indexation de contenu
    Comprendre le type de recherches auxquelles répond Bubble
    Utiliser un plug-in de recherche approximative pour des résultats plus pertinents
    Utiliser la recherche par secteur géographique

    1.  

    Théorie : les concepts de niveau intermédiaire pour utiliser Bubble

    État d’un élément
    Serveur vs client
    Concept de liste dans Bubble
    Gestion des mots de passe dans Bubble

    Pratique : création pas à pas d’un site de partage de photos comme Instagram

    Concevoir une application à partir de scénarios utilisateurs
    Créer une maquette avant de commencer le développement
    Structurer une base de données prête pour la mise à échelle
    Attribuer des tags et gérer des listes
    Utiliser un plug-in de gestion de téléchargement
    Améliorer l’expérience utilisateur avec des interactions visuelles
    Créer un système de compte utilisateur
    Créer une page ayant un type défini
    Créer un système de vote
    Rendre une interface multilingue

    Exercice : administration du contenu partagé

    Investigation en autonomie d’une solution technique
    Mise en place d’une logique d’administration

    Correction : administration du contenu partagé

    Création de comptes ayant des droits spéciaux
    Création d’une interface d’administration

    1.  

    Théorie : les concepts avancés pour utiliser Bubble

    Les flux personnalisés et les flux API
    Le concept de flux récursifs vs la modification de liste
    Dialoguer avec d’autres services grâce à l’API Connector
    Comprendre ce qui impacte la performance
    Les 3 niveaux de sécurité d’une application Bubble

    Pratique : création pas à pas d’un CRM comme Salesforce

    Utiliser un template de la place de marché Bubble
    Création des flux logiques et des flux personnalisés
    Créer un système de notifications en utilisant un flux API
    Créer des notifications push avec OneSignal et l’API Connector
    Définir des règles de sécurité côté serveur
    Ajouter des flux de sécurité côté client
    Ajouter des éléments de sécurité à l’interface
    Visualiser les données sous forme de graphiques

    Exercice : modifier le statut d’un prospect

    Investigation en autonomie d’une solution technique
    Mettre à jour le statut d’un prospect automatiquement après un temps donné

    Correction : modifier le statut d’un prospect

    Concept de flux programmé
    Comment annuler un flux programmé
    L’intérêt des flux programmés

    Dernières informations et conclusion

    Documenter la programmation dans Bubble
    Gérer son projet en mode Agile comme un Scrum Master
    La mise à l’échelle (scaling) avec Bubble
    Les différents niveaux de forfait Bubble
    Bubble et la RGPD
    Les ressources pour continuer à progresser
    La communauté des programmeurs Bubble

Objectifs de la formation 

Cette formation au contenu technique dense et de haut niveau propose de nombreux ateliers participatifs. A l’instar des développements agiles, prônant la communication inter-équipes, les stagiaires collaborent pendant les ateliers et donnent un avis critique et constructif sur les différentes implémentations proposées par leurs pairs ou par le formateur

À qui s’adresse cette formation ?

Public :

Ce stage s’adresse aux développeurs ayant 2 à 3 ans d’expérience de programmation objet.

Prérequis :

Pour suivre ce cours de façon optimale, la connaissance d’un langage orienté objet est nécessaire.

Contenu du cours 

  1. 1.

    Introduction

    Activités de développement et méthodologies
    Organisation des équipes et approche DevOps
    Ingénierie logicielle, métriques et qualité de code
    Typologie des langages et frameworks de développement

    Les fondamentaux du développement

    Design patterns,
    Distribution : Apport et contraintes,
    Stateless / Stateful
    Synchrone / Asynchrone
    Modèles concurrentiel
    Scalabilité et Clustering, réparition de charge, discovery, éléction, …
    Sécurité des applications et règles OWASP

    Architectures distribuées

    Architecture N-tiers et SOA
    API REST et Frameworks clients
    Architecture micro-services
    Rôle des Message Brokers
    Architectures BigData, BigData et Machine Learning
    Architecture ServerLess, Faas

    DevOps : Les outils

    Les outils « As Code»
    Gestion des Sources et Workflow de collaboration Responsabilité de l’outil de build, panorama des outils Plateforme de CI/CD
    Virtualisation et gestion de conf. Vagrant et Ansible
    La containerisation et docker
    Les Offre Cloud
    Orchestrateur de conteneur, Kubernetes

Objectifs de la formation 

Cette formation Behavior Driven Development avec Cucumber et Gherkin présente l’approche BDD à l’aide de Cucumber et de Gherkin, en prenant comme fil directeur une application web d’entreprise. Vous verrez comment mettre en place des tests d’acceptance automatisés mais également l’aspect intégration dans pipeline CI/CD.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

 

  • Savoir mettre en place des tests d’acceptance automatisés mais également l’aspect intégration dans pipeline CI/CD.
  • Maîtriser l’approche BDD et la syntaxe Gherkin
  • Avoir une bonne compréhension de l’outil Cucumber
  • Écrire et implémenter des tests d’acceptance
  • Intégrer les tests d’acceptances dans une pipeline de CI/CD

À qui s’adresse cette formation ?

Public :

Ce cours Behavior-Driven Development cible principalement les développeurs et toute personne impliquée dans les tests.

Prérequis :

Cette formation Behavior-Driven Development ne nécessite aucun prérequis particulier. La connaissance d’un langage de programmation est un plus.

Contenu du cours 

  1. 1.

    Introduction au concept agile de « Behavior-Driven Developement » (BDD)

    Définition des tests d’acceptance, finalités et automatisation
    L’approche BDD, comparaison avec le TDD
    Le rôle du métier
    Domain-Driven Design, langage du domaine et syntaxe Gherkin
    L’offre Cucumber, son éco-système (IDE, Langages, Framework de tests et build)
    Pré-requis d’installation
    Intégration dans un build Maven

    Atelier

    Installation Cucumber, présentation Build et application exemple

    Premier pas avec Cucumber

    Le fonctionnement du framework Cucumber, la notion de scénario
    Écrire des features, des scénarios et les StepDefinition
    Le « Glue Code », maintenabilité
    Assistant pour la génération des StepDefinitions
    Intégration dans l’IDE

    Atelier

    Ecriture de scénario

    Pour aller plus loin avec le framework Cucumber

    Utilisation des expressions régulières
    Diversité des données d’entrée, les Tables
    Utilisation de Background
    Utilisation de Rule
    Usage des labels
    Génération de rapport d’exécution de Cucumber
    Configuration de la génération

    Atelier

    Variabilisation des scénarios précédents

    Intégration dans pipeline CI/CD

    Rappels sur le CI/CD et importance de l’automatisation des tests
    Le rôle des tests d’acceptance dans la pipeline de CD
    Intégration Cucumber avec serveur de CI/CD
    Publication des rapports de tests

    Atelier

    Mise en place d’une pipeline CD avec Jenkins

Objectifs de la formation 

Zapier est un service web qui permet d’interconnecter des applications et leurs données afin de créer des workflows optimisés. Avec sa prise en main facile et ses 750 applications compatibles, cette formation Zapier vous permettra de gagner du temps en faisant communiquer vos applications entre elles et en automatisant leurs flux de données.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Savoir maîtriser la création de flux et optimiser son workflow.
  • Découvrir l’importance de créer des flux de données inter applications
  • Maitriser la création de flux et optimiser son workflow
  • Eviter les répétitions de tâches fastidieuses et gagner du temps de travail
  • Diminuer le risque d’erreurs humaines en automatisant des tâches répétitives

À qui s’adresse cette formation ?

Public :

Ce cours cible les personnes et entreprises qui utilisent déjà des web services comme Google Suite, Google Docs, Gmail, Trello, Evernote, et qui ont besoin d’optimiser les workflows de données. La formation est également idéale pour les chefs de projets, ainsi que toute personne qui gèrerait un nombre important d’informations et qui chercherait à gagner du temps en optimisant ses actions.

Prérequis :

Aucun

Contenu du cours 

  1. 1.

    Web Moderne et applications Web

    Le web des applications
    Le cloud computing
    Services SaaS
    Qu’est-ce qu’une API

    Zapier

    Pourquoi Zapier ?
    Concurrents et alternatives (IFTTTT)
    Comment Zapier permet de coordonnées des données entre différentes applications ?
    Principe de fonctionnement des Zaps
    Découvrir des workflows prêt-à l’emploi dans la bibliothèque Zapier

    Workflow inter apps

    Apps compatibles Zapier (750+)
    Créer un Zap simple : configuration d’un workflow de données simple à complexe
    Créer un Zap complexe avec une connexion à plusieurs services simultanés

    Travaux pratiques

    Exemple et travaux pratiques de connexion entre plusieurs applications
    Trello, Twitter, Evernote, Gmail, Google Calendar, Asana, Salesforces, Instagram, Slack, Office 365, email, Buffer…
    Connexion Zapier entre un site web et d’autres services (WordPress, etc..)

    Etudes de cas

    Intégrer Zapier dans de la gestion de support client / gestion clientèle CRM
    Intégrer Zapier dans de la gestion de projet

Objectifs de la formation 

Cette formation programmation multicore vous permettra de comprendre au sein des systèmes et processeurs les architectures Multicore et leurs programmations. Vous découvrirez les techniques de mise en oeuvre d’une approche multithread ou multiprocess et les techniques et langages dédiés à la programmation parallèle. Vous découvrez également Ainsi que les contraintes en matière de synchronisation d’accès aux données et les précautions à prendre pour conserver une performance optimale des applications. Enfin un chapitre avancé sur la programmation massivement parallèle vous permettra de tirer un réel profit opérationnel de cette formation.

À qui s’adresse cette formation ?

Public :

Prérequis :

Connaître un langage objet et être sensibilisé au sujet. Connaître un des trois langages utilisés dans le cours : C#, Java ou C++. La lecture des diagrammes UML est un plus.

Contenu du cours 

  1. 1.

    Les architectures multi core

    Les enjeux de la programmation Multicore dans les années à venir
    Tableau général des technologies utilisables : processus, threads et parallélisme
    Description et rappel du fonctionnement d’un processeur
    Les architectures en « Hyperthreading »
    Les architectures des processeurs INTEL et AMD
    Les architectures NVidia et API
    Les aspects synchronisation à prévoir : cas généraux

    Modélisation des applications multi core

    Importance des aspects modélisation
    Parallélisation des traitements (ex : calcul)
    Utilisation des mécanismes asynchrones : processus, threads …
    Développer une nouvelle application : précautions et modélisation
    Eviter les « singletons »
    Modifier une application existante en Multicore : problèmes rencontrés
    Choix d’architecture : un compromis synchronisation et performance
    Choix multiprocessus / multithreads

    Threads

    Organisation d’un système à base de threads
    Les threads dans les systèmes et les langages (exemple : Java, .NET et C++)
    Apport des threads dans une application industrielle
    Ordonnancement des threads dans les systèmes : technique du « round robin »
    Gestion des stacks et « call stack » dans les threads
    Les  déboggeurs multi-threads : ex Visual Studio et NetBeans
    Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores
    Développer « Thread safe »
    Règles pour développer en approche multithread
    Les APIs de threads avec Windows, Java et DOT Net
    Les APIs de POSIXTravail pratiqueThreads et synchronisation en DOT Net, Java et C++

    Processus

    Espaces d’adressage des processus, organisation
    Critères de choix d’une approche multi-processus
    Ensemble des techniques de communication inter processus (IPC)
    Techniques de Debugging multiprocess, nouveaux outils (ex : Visual  Studio 2005)
    Avantage et inconvénients des techniques multi processus
    Particularité : Les « Domain » DOT NetTravail pratiqueGestion de traitements asynchrones avec l’API windows

    La programmation parallèle

    L’apport et les objectifs de la programmation parallèle
    « Parallel FX » la bibliothèque DOT Net pour paralléliser
    Architecture PFX et philosophie
    Composants TPL et PLINQTravail pratiqueParalléliser des algorithmes avec PFX C#La librairie « OpenMP » C++
    Directives « OpenMP » disponiblesTravail pratiqueParalléliser des algorithmes avec « OpenMP » en C++Utiliser les GPUs des cartes graphiques pour le calcul
    Les kits de NVidia (CUDA) et ATI
    Exemple d’applications utilisant les bibliothèques
    Exemple de code et commentaires

    La programmation massivement parallèle

    L’architecture des unités graphiques GPU
    Les nouvelles architectures CPU de type SSE(Intel®) et NEON(ARM®)
    Les framewoks dédiés CUDA, OpenCL, AMPTRAVAIL PRATIQUEParalléliser des algorithmes avec OpenCLApprendre à utiliser OpenCL sur les GPU et les CPU de dernière génération
    Parallèlisation et vectorisation d’un programme
    Le plugin VisualStudio & Eclipse d’Intel
    Apprendre à programmer et à déboguer en OpenCL
    Les limites matérielles

    Synthèse et conclusion

    Conclusion des techniques étudiées
    L’avenir de C++ avec le multicore
    Synthèse des approches de Design, threads, multiprocessus et programmation parallèle

Objectifs de la formation 

Le développeur web et web mobile développe ou fait évoluer des applications informatiques orientées web, ou web mobile, ou les deux à la fois, en respectant les normes et standards reconnus par la profession et en suivant l’état de l’art de la sécurité informatique à toutes les étapes. Ces applications sont destinées à des internautes ou des salariés d’entreprise.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

 

  • Savoir concevoir, publier et gérer une application Web avec Bubble
  • Développer et réaliser l’intégration ou fait évoluer des applications orientées web, ou web mobile ou les deux à la fois, en respectant les normes et standards reconnus par la profession et en suivant l’état de l’art de la sécurité informatique à toutes les étapes.
  • Développer la partie front-end d’une application web ou web mobile en intégrant les recommandations de sécurité

– Maquetter une application
– Réaliser une interface utilisateur web statique et adaptable
– Développer une interface utilisateur web dynamique
– Réaliser une interface utilisateur avec une solution de gestion de contenu ou e-commerce

  • Développer la partie back-end d’une application web ou web mobile en intégrant les recommandations de sécurité

– Créer une base de données
– Développer les composants d’accès aux données
– Développer la partie back-end d’une application web ou web mobile
– Élaborer et mettre en œuvre des composants dans une application de gestion de contenu ou e-commerce

À qui s’adresse cette formation ?

Public :

Cette formation est accessible aux salariés, demandeurs d’emploi, indépendants et individuels, professionnels de l’informatique désirant compléter et valoriser leur expérience par l’obtention d’un titre reconnu, ou en reconversion professionnelle.

Prérequis :

  • Être à l’aise avec l’environnement Windows et/ou Linux
  • Maîtriser l’anglais technique du domaine
  • Le métier de Développeur web et web mobile requiert des facultés d’analyse, un esprit de synthèse, de la rigueur liée au raisonnement logique, le sens de l’organisation et la capacité à travailler en équipe en mode projet.

Contenu du cours 

  1. 1.

    Bloc de compétences 1 (CCP 1) : Développer la partie front-end d’une application web ou web mobile en intégrant les recommandations de sécurité

    Maquetter une application
    Réaliser une interface utilisateur web statique et adaptable
    Développer une interface utilisateur web dynamique
    Réaliser une interface utilisateur avec une solution de gestion de contenu ou e-commerce

    Bloc de compétences 2 (CCP 2) :  Développer la partie back-end d’une application web ou web mobile en intégrant les recommandations de sécurité

    Créer une base de données
    Développer les composants d’accès aux données
    Développer la partie back-end d’une application web ou web mobile
    Élaborer et mettre en œuvre des composants dans une application de gestion de contenu ou e-commerce

Objectifs de la formation 

Le développeur web et web mobile développe et intègre ou fait évoluer des applications informatiques orientées web, ou web mobile ou les deux à la fois, destinées à des internautes ou des salariés d’entreprise.
L’une des activités du développeur web et web mobile consiste à concevoir la partie visuelle, dite « front-end », de l’application exécutée sur le navigateur côté ordinateur client, autrement dit les éléments d’un site que l’on voit à l’écran et avec lesquels on peut interagir depuis un navigateur.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Maquetter une application
  • Réaliser une interface utilisateur web statique et adaptable
  • Développer une interface utilisateur web dynamique
  • Réaliser une interface utilisateur avec une solution de gestion de contenu ou e-commerce

À qui s’adresse cette formation ?

Public :

Cette formation Développeur front-end est accessible aux salariés, demandeurs d’emploi, indépendants et individuels, professionnels de l’informatique désirant compléter et valoriser leur expérience par l’obtention d’un titre reconnu, ou en reconversion professionnelle.

Prérequis :

  • Être à l’aise avec l’environnement Windows et/ou Linux
  • Maîtriser l’anglais technique du domaine
  • Le métier de Développeur web et web mobile front-end requiert des facultés d’analyse, un esprit de synthèse, de la rigueur liée au raisonnement logique, le sens de l’organisation et la capacité à travailler en équipe en mode projet.

Contenu du cours 

  1. 1.

    L’ordre des modules ci-dessous suit l’ordre de la progression pédagogique

    Introduction à la programmation (3 jours)

    Les composants d’un programme, L’accès aux données, L’environnement de développement, Les différents types de langages

    Ergonomie et UX web et mobile  (3 jours)

    Concevoir une interface Web ou mobile : phases amont, Réalisation, Spécificités du support, Ergonomie tactile, Optimiser une interface existante, Tester une interface

    HTML5 CSS3 Fondamentaux (5 jours)

    Fondamentaux de HTML 5 et CSS 3, Mise en page, Formulaires, Optimisation, Responsive, Fonctionnalités avancées

    Maîtriser HTML5, CSS3, JavaScript et Ajax (5 jours)

    Tirer profit des dernières versions dont CSS Grid, Graphisme avancé, AJAX nouvelle génération, Géolocalisation

    Conception et Programmation objet (3 jours)

    Intiation, Vocabulaire, Conception, UML, Programmation, IDE, Framework, C#, Java

    Scrum Master certifiante, Niveau 1 – PSM1 (2 jours)

    Principes de la méthode Scrum dans le cadre de projets de développement agile, Passer la certification Professional Scrum Master 

    Maîtriser JavaScript (4 jours)

    HTML dynamique, Formulaires, jQuery, DOM, JSON, XML, Ajax, EcmaScript 6

    Maîtriser Adobe Creative Cloud (5 jours)

    Mise en œuvre pratique de Adobe Photoshop CC, Illustrator CC et InDesign CC

    WordPress : Gestion de contenu et administration avec WordPress (2 jours)

    Fonctionnalités du CMS WordPress, Extensions, Gestion des utilisateurs, Optimisation et sécurité du site

    JavaScript avancé (4 jours)

    Objet, Fonctionnalités Avancées, Ajax, Web Services, Bonnes pratiques, performances, tests, industrialisation, EcmaScript, TypeScript

    Gérer un projet informatique (3 jours)

    Les fondamentaux pour organiser, conduire, suivre et évaluer un projet en tant que Maîtrise d’Oeuvre

    Maîtriser Adobe Photoshop (5 jours)

    Approfondissement du cours Maîtriser Adobe Creative Cloud, focalisé sur Photoshop

    Angular : Développer une application Web (3 jours)

    Structure et composants, Injection de dépendances, Formulaires, Accès au réseau et routage

    Angular Avancé (3 jours)

    Concepts avancés d’Angular, Augmenter les performances d’une application Angular, Intégrer des librairies externes

    ReactJS : Développement Web (3 jours)

    Utiliser React JS pour développer des applications web robustes et performantes, Tester les applications

Objectifs de la formation 

Cette formation permet d’apprendre à concevoir et interroger des bases de données, les langages et les outils de programmation reconnus par la profession pour communiquer avec les différentes plateformes, les techniques liées à l’utilisation et l’administration des serveurs web ainsi que les règles de sécurité informatique indispensables.

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Créer une base de données
  • Développer les composants d’accès aux données
  • Développer la partie back-end d’une application web ou web mobile
  • Élaborer et mettre en œuvre des composants dans une application de gestion de contenu ou e-commerce

À qui s’adresse cette formation ?

Public :

Ce cours Bubble s’adresse aux chefs de projet, chargés d’innovation, auto-entrepreneurs et plus globalement à toute personne souhaitant apprendre à créer une application web sans coder.

Prérequis :

Cette formation Bubble ne nécessite aucun pré-requis particulier, si ce n’est une bonne compréhension de la langue anglaise (l’interface de Bubble n’est disponible qu’en anglais).

Contenu du cours 

  1. 1.

    Contexte

    La tendance “no-code”
    À quoi sert Bubble
    Qu’est-ce que Bubble (notion de PaaS)
    Bubble face à ses concurrents

    Démarrer avec Bubble

    Création de compte
    Création d’un projet

    Comprendre l’interface de Bubble

    L’éditeur d’interface
    Le gestionnaire de flux logiques et de base de données
    L’éditeur de styles
    La bibliothèque de plug-ins
    Les réglages de l’application
    L’activité du serveur

    Théorie : les concepts de base pour utiliser Bubble

    Le concept d’utilisateur et d’utilisateur actuel
    Le concept du type de contenu d’une page ou d’un élément
    Le concept de relation Parent / Enfant entre éléments
    Le concept de groupe et de groupe répétitif
    Le concept d’environnement test et d’environnement de production

    Pratique : création pas à pas d’un site de petites annonces comme Le BonCoin

    Créer une interface utilisateur
    Rendre son site adapté à la navigation depuis un mobile
    Structurer la base de données
    Connecter l’interface et la base de données
    Créer les flux de modification de données
    Publier l’application sur le Web
    Mettre en place une carte géographique
    Paramétrer le module Google Maps
    Connecter des analytiques

    Exercice : ajout d’un module de recherche

    Investigation en autonomie d’une solution technique
    Mise en place d’une logique de recherche

    Correction : ajout d’un module de recherche

    Comprendre la notion d’indexation de contenu
    Comprendre le type de recherches auxquelles répond Bubble
    Utiliser un plug-in de recherche approximative pour des résultats plus pertinents
    Utiliser la recherche par secteur géographique

    1.  

    Théorie : les concepts de niveau intermédiaire pour utiliser Bubble

    État d’un élément
    Serveur vs client
    Concept de liste dans Bubble
    Gestion des mots de passe dans Bubble

    Pratique : création pas à pas d’un site de partage de photos comme Instagram

    Concevoir une application à partir de scénarios utilisateurs
    Créer une maquette avant de commencer le développement
    Structurer une base de données prête pour la mise à échelle
    Attribuer des tags et gérer des listes
    Utiliser un plug-in de gestion de téléchargement
    Améliorer l’expérience utilisateur avec des interactions visuelles
    Créer un système de compte utilisateur
    Créer une page ayant un type défini
    Créer un système de vote
    Rendre une interface multilingue

    Exercice : administration du contenu partagé

    Investigation en autonomie d’une solution technique
    Mise en place d’une logique d’administration

    Correction : administration du contenu partagé

    Création de comptes ayant des droits spéciaux
    Création d’une interface d’administration

    1.  

    Théorie : les concepts avancés pour utiliser Bubble

    Les flux personnalisés et les flux API
    Le concept de flux récursifs vs la modification de liste
    Dialoguer avec d’autres services grâce à l’API Connector
    Comprendre ce qui impacte la performance
    Les 3 niveaux de sécurité d’une application Bubble

    Pratique : création pas à pas d’un CRM comme Salesforce

    Utiliser un template de la place de marché Bubble
    Création des flux logiques et des flux personnalisés
    Créer un système de notifications en utilisant un flux API
    Créer des notifications push avec OneSignal et l’API Connector
    Définir des règles de sécurité côté serveur
    Ajouter des flux de sécurité côté client
    Ajouter des éléments de sécurité à l’interface
    Visualiser les données sous forme de graphiques

    Exercice : modifier le statut d’un prospect

    Investigation en autonomie d’une solution technique
    Mettre à jour le statut d’un prospect automatiquement après un temps donné

    Correction : modifier le statut d’un prospect

    Concept de flux programmé
    Comment annuler un flux programmé
    L’intérêt des flux programmés

    Dernières informations et conclusion

    Documenter la programmation dans Bubble
    Gérer son projet en mode Agile comme un Scrum Master
    La mise à l’échelle (scaling) avec Bubble
    Les différents niveaux de forfait Bubble
    Bubble et la RGPD
    Les ressources pour continuer à progresser
    La communauté des programmeurs Bubble