Formation Dialoguer avec les développeurs sans être informaticien

Durée 2 jours
Niveau Fondamental
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DDEI
Éligible CPF Non

La difficulté de communication entre les informaticiens et les non informaticiens est un constat de fait qui a toujours existé. Il s’est même accentué au fur et à mesure que les technologies venaient enrichir l’existant (Web, Virtualisation, Cloud, Docker, API, intégration continue, etc.) rendant ainsi le paysage encore plus complexe sur certains aspects tout en démocratisant certaines pratiques (moteur de recherche, mail, site Web, dépôt de fichiers, outils distanciels, etc.) connues par la plupart des personnes.

Même entre informaticiens la connaissance de l’univers d’un métier par rapport à un autre n’est pas toujours maîtrisée malgré l’approche DevOps qui tend à resserrer la culture et les outils entre les administrateurs/exploitants systèmes (OPS) et les développeurs (DEV). Il est donc assez logique que les non informaticiens se trouvent éloignés du monde des développeurs.

Cette formation Dialoguer avec les développeurs cherche à vous faire comprendre en quoi consiste le métier d’un développeur logiciel au quotidien, les choix techniques qu’il a à faire ou qu’on lui impose, les outils et langages qu’il utilise au quotidien, les alternatives possibles, et en parallèle de ces explications le vocabulaire associé utilisé par les développeurs. Il ne s’agit donc pas de vous apprendre à développer mais d’évoluer avec aisance dans cet univers quel que soit la nature du projet et des sigles rencontrés (API, production, recette, Jenkins, GitLab, Docker, Kubernetes, Micro Services, WebHook, intégration, frontend, backend, FTP, Java, .Net, PHP, React, etc.).

Objectif opérationnel : 

Apprendre à dialoguer avec aisance avec une équipe de développeurs.

Objectifs pédagogiques : 

À l'issue de cette formation Dialoguer avec les développeurs vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Connaître les phases de développement d’une application
  • Décrire les différents outils utilisés par les développeurs et leur environnement de travail
  • Savoir classer les langages et les technologies par famille (backend, frontend, base de données, etc.)
  • Comprendre comment un développeur gère les données dans une application
  • Connaître les architectures des applications et le vocabulaire associé

Public :

Ce cours Dialoguer avec les développeurs s'adresse à toute personne participant à un projet de développement logiciel (Web, mobile, application métier, etc.).

Prérequis :

Aucun.

De la conception à l’implémentation

Cahier des charges et gestion des exigences (Feature, Requirement, Stakeholder requirement)
Comprendre les cas d’utilisation
Notion de workflow
Approches waterfall vs. Agile / RUP / XP
Les tests et l’intégration continue
Comment se traduisent les principes agile pour le développeur ?
Environnement cible et LTS
Maintenance applicative / corrective / évolutive
La sécurité : comprendre les principaux risques et enjeux.
Atelier dirigéObjectif : comprendre l‘expression du besoin et les étapes vers son implémentation 
Description : présentation d’un mini-projet, description de ses exigences et de leur traduction en cas d’utilisation. Comment le développeur priorise ses actions et définit des stratégies de cycles de développement ?

Vocabulaire de base en programmation

Programme compilé vs. interprété – machine virtuelle
Principes de nommage et d’espace de noms
Ubiquitous Language : le métier au cœur du code (DDD)
Pourquoi typer les variables ?
Principes d’une fonction en programmation : DRY et factorisation de code
Regrouper des fonctions dans les bibliothèques (librairie)
Écrire ou utiliser des algorithmes existants ?
Principes de la programmation objet : initiation à la modélisation UML
Les éditeurs et environnements de développement (IDE)
Les outils de débuggage : points d’arrêt et exécution pas à pas.
Les bibliothèques et frameworks : apports et risques pour le développeur
Quelques exemples (.Net/C#, Symfony/PHP, Spring/Java, etc.)
Tests unitaires et Tests fonctionnels : principes de base.
Atelier dirigéObjectif : Prendre en main un premier environnement de développement. Comprendre que la programmation consiste à développer des aspects métiers tout en s’appuyant sur des bibliothèques existantes. Sensibilisation aux atomes de base de la programmation (variables, fonctions, types, bibliothèques, …)
Description : On prend en main l’environnement Visual Studio Code pour charger et exécuter un premier programme qui mélange des fonctions existantes (bibliothèques) et une fonction simple écrite par nous-mêmes. On est également sensibilisés au vocabulaire objet de base (classe, instance) et aux problèmes de type de données que l’on cherche à débugger en se mettant « dans la peau » d’un développeur (erreur de type générant des erreurs de calcul par exemple).

Les données dans le développement logiciel

Données binaires vs. texte
Différentes sources et format de données (fichier texte, CSV, XML, JSON, …)
Notion de parseur 
Philosophie des bases SQL 
Exemples de requêtes SQL (simples, jointure, etc.)
Les sécurités pour la cohérence des données (contraintes d’intégrité)
Notion de transaction
Les standards du marché (Oracle, MySQL, PostgreSQL, SQL Server, …)
Les extensions spatiales pour les SIG
Rupture de paradigme proposé par les bases NoSQL
Spécificités du Big Data pour les développeurs
Business Intelligence et outils associés (Talend, Power BI, …)
Structures de données proposées aux développeurs pour « accéder » aux données 
Comment un programme accède aux différents formats de données 
Traitements asynchrones : cohérence à terme et files d’attente
Atelier dirigéObjectif : Comprendre l’intérêt et les limites des bases SQL
Description : On fait évoluer le schéma d’une base de données et son contenu pour comprendre ce qui est bloquant pour le développeur, complexe ou « simple » à gérer. Exemple de problèmes liés à un mauvais jeu de caractères dans une base

Les outils du développeur

Sources et exécutables
Gérer les différentes versions d’un logiciel avec Git 
Principes de Docker
Regrouper les briques d’une application (packages et build)
Livrer une application : exécutable, interprétable et image Docker
Dépôts de fichiers (sftp, DropBox, etc.)
Principes de l’intégration continue (Jenkins, GitLab)
Fournir des informations à d’autres applications en temps réel (API et Webhooks)
Suivre la bonne santé d’une application sur slack
Atelier dirigéObjectif : Comprendre le cycle de vie d’une application (développement, intégration, mise à jour, etc.) déployée en continu
Description : On propose de déployer entièrement une application Web simple (du développement des sources à leur dépôt sur le site WEB tout en automatisant le processus avec le serveur d’intégration continue Gitlab)

Les bases du développement web et mobile

Les atomes de base : HTML et CSS
En quoi consiste l’intégration d’un site WEB ?
Ce qu’apporte Javascript 
Un point de vocabulaire (application Web, site Web, SPA, PWA, portail, etc.)
Quelques éléments techniques autour d’un site WEB (@IP, domaines et sous domaines DNS)
Fonctionnement d’un échange entre navigateur et serveur Web (http, https)
Format d’une URL pour accéder à une page WEB
Problématiques des redirections
Le développement côté serveur : l’exemple de PHP
Synthèse avec une page WEB simple proposant de saisir un formulaire
Vocabulaire et spécificité du développement mobile
Principes du responsive design 
Apports de framework comme Bootstrap
Les frameworks et bibliothèques mobiles (React Native, Ionic, …)
Quelles applications utilisent les langages natifs (Swift pour iOS et Java/Kotlin pour Android)
Atelier dirigéObjectif : Comprendre le fonctionnement global du chargement d’une page WEB 
Description : Exploration et mise en route d’un serveur de développement ; comprendre le format général des URL pour accéder à une page WEB.  Explorer une base SQLite simple avec une seule table et analyser un programme PHP qui extrait les données de cette table afin de générer une page HTML affichée depuis notre navigateur (enrichie par des style CSS et de la programmation Javascript pour bien positionner chaque technologie). Utilisation des outils de prévisualisation adaptatifs.

Vocabulaire et architecture des applications

La partie front end d’une application Web (HTML, CSS, Javascript)
La partie serveur (back end)
Comment gérer l’ouverture fonctionnelle de son application ?
Philosophie des architectures orientées service (SOA) et ressources (ROA)
Principes d’une API (Application Programming Interface)
En quoi consiste le développement d’un Web Service ?
Les bases de la haute disponibilité (nœud, cluster) 
Faire évoluer son application face à la charge (scalabilité : découvrir les outils et les axes d’optimisation)
Quels sont les éléments à la charge du développeur ?
Et ce qui concerne l’administrateur ?
Les services Cloud offerts aux développeurs (stockage, calcul, conteneurs, intégration continue, sécurité, …)
Atelier dirigéObjectif : Maîtriser le vocabulaire de base autour des architectures» 
Description : Sur la base d’une application simple qui découpe clairement les parties frontend, backend, base de données, et API, on explique en quoi consiste l’intégration d’une application Web puis les différents phases du développement jusqu’à la livraison de l’application. Nous faisons évoluer celle-ci en simulant des demandes clients que l’on vous demande de cibler en termes d’impact dans le code du développeur tout en pondérant votre avis d’un coût (compliqué/simple ?). Nous vous invitons également à réfléchir sur la qualité de l’architecture proposée (est-elle évolutive ? l’application est-elle ouverte aux autres (API) ? etc.)
Date de mise à jour du programme : 10/07/2024

Dates et lieux

Du 29 au 30 juillet 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 29 au 30 juillet 2024
Lieu
Paris
Durée
2 jrs
1480 € HT
Du 18 au 19 novembre 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 18 au 19 novembre 2024
Lieu
Paris
Durée
2 jrs
1480 € HT


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB