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
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 structuresLa « 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 syntaxiquesUn 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 fonctionLes 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 utilesL’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’écranL’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 ligneUtilisé 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’objetLes 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.
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/fonctionsTravaux Pratiques
« Reconception » objet de l’application précédente.
Élaboration du dictionnaire de données, des traitements, et des flux.
Conception des classesVisibilité 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éthodesTravaux 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 traitementsComplé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 patternsTravaux Pratiques
Amélioration du modèle précédent avec l’utilisation de classes abstraites
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 dynamiquesTravaux 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ésTravaux 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.
Introduction à la programmation réactive et à RxJS
La programmation réactive
ReactiveX et RxJSLa 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 erreursLes 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 utilesConcepts avancés
Unicast / multicast observables
Hot / Cold observables
Subject, BehaviorSubject, ReplaySubject et AsyncSubjectPour aller plus loin
Gestion de souscriptions / désinscriptions
Gestion des erreursTester 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
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-codeCré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 à éviterBases 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 expertsCré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.
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-codeCré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 à éviterBases 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 expertsCartographie des outils no-code par cas d’usage
Appbuilder
Traitement des données
Automatisation
Paiement
Formulaires
ChatbotsMise en application sur le projet des participants
Recommandations de combinaison d’outils no-code sur les projets des participants
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
TutorielsMise 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.
Contexte
La tendance “no-code”
À quoi sert Bubble
Qu’est-ce que Bubble (notion de PaaS)
Bubble face à ses concurrentsDémarrer avec Bubble
Création de compte
Création d’un projetComprendre 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 serveurThé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 productionPratique : 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 analytiquesExercice : ajout d’un module de recherche
Investigation en autonomie d’une solution technique
Mise en place d’une logique de rechercheCorrection : 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éographiqueThé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 BubblePratique : 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 multilingueExercice : administration du contenu partagé
Investigation en autonomie d’une solution technique
Mise en place d’une logique d’administrationCorrection : administration du contenu partagé
Création de comptes ayant des droits spéciaux
Création d’une interface d’administrationThé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 BubblePratique : 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 graphiquesExercice : 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ésDerniè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.
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éveloppementLes 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 OWASPArchitectures 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, FaasDevOps : 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.
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 MavenAtelier
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’IDEAtelier
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érationAtelier
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 testsAtelier
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.
Web Moderne et applications Web
Le web des applications
Le cloud computing
Services SaaS
Qu’est-ce qu’une APIZapier
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 ZapierWorkflow 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ésTravaux 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.
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érauxModé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 / multithreadsThreads
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 windowsLa 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 commentairesLa 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ériellesSynthè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.
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-commerceBloc 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.
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.
Contexte
La tendance “no-code”
À quoi sert Bubble
Qu’est-ce que Bubble (notion de PaaS)
Bubble face à ses concurrentsDémarrer avec Bubble
Création de compte
Création d’un projetComprendre 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 serveurThé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 productionPratique : 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 analytiquesExercice : ajout d’un module de recherche
Investigation en autonomie d’une solution technique
Mise en place d’une logique de rechercheCorrection : 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éographiqueThé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 BubblePratique : 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 multilingueExercice : administration du contenu partagé
Investigation en autonomie d’une solution technique
Mise en place d’une logique d’administrationCorrection : administration du contenu partagé
Création de comptes ayant des droits spéciaux
Création d’une interface d’administrationThé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 BubblePratique : 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 graphiquesExercice : 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ésDerniè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