SQL
NoSQL
DevOps
Agile
Scrum
Java
Front
Back
Base dD
C#
Tests
Serveur
Architecture
Utilitaires
Lexique
Modéles
Liens
Objectifs :
- Apprenez à concevoir l’architecture d’applications complexes en définissant les fonctionnalités, les interactions utilisateurs, et les structures de données, afin de créer des logiciels robustes et évolutifs.
- Maîtrisez les principaux langages de programmation comme Java, C#, Python, ou JavaScript pour coder et implémenter des fonctionnalités dans vos applications, en suivant les meilleures pratiques de développement.
- Apprenez à intégrer des bases de données telles que MySQL, PostgreSQL, ou MongoDB, ainsi que des API pour gérer efficacement les données et permettre la communication entre différentes parties de vos applications.
- Développez des compétences pour optimiser la performance de vos applications et assurer leur sécurité contre les menaces courantes, telles que les attaques de type injection SQL et les vulnérabilités XSS.
Métiers visés
-
développeur d’applications mobiles
-
développeur d’applications informatiques
-
développeur d’applications
-
développeur informatique
-
développeur back-end
-
développeur web, développeur logiciel
-
ingénieur en développement informatique
-
chef de projet technique
Evaluation Validation d’examen
- Evaluation des acquis : tout au long du parcours, tests d’acquisition des savoirs et mesures des savoir-faire lors de situations de mise en application pratique (TPs, projets).
- Fin de formation : attestation de fin de formation avec rappel des objectifs de formation et des modalités de réalisation (dates et durée de formation, lieu de formation)
- Validation : titre professionnel concepteur développeur d’applications du Ministère chargé de l’Emploi (reconnu par l’Etat et inscrit au répertoire national des certifications professionnelles (RNCP) depuis le 18/12/2023), de niveau 6 (Bac+3/4) ; possibilité de validation du titre complet ou de validation partielle (certificat de compétences professionnelles (CCP)
- Modalités d’examen : modalités conformes au référentiel de certification du titre visé; mise en situation professionnelle (ou projet différé), résultats d’évaluation passées en formation, dossier professionnel (et annexes éventuelles) et entretien devant jury professionnel habilité; présentation détaillée des modalités de certification lors de l’entretien de candidature et en cours de parcours de formation.
Programme
Développer une application sécurisée
- Installer et configurer son environnement de travail en fonction du projet
- Développer des interfaces utilisateur
- Développer des composants métier
- Contribuer à la gestion d’un projet informatique
Concevoir et développer une application sécurisée organisée en couches
- Analyser les besoins et maquetter une application
- Définir l’architecture logicielle d’une application
- Concevoir et mettre en place une base de données relationnelle
- Développer des composants d’accès aux données SQL et NoSQL
Préparer le déploiement d’une application sécurisée
- Préparer et exécuter les plans de tests d’une application
- Préparer et documenter le déploiement d’une application
- Contribuer à la mise en production dans une démarche DevOps
Méthodologie
- Méthode Prince2/Agile Scrum
- Bibliothèque Itil
Langages web
- Front : HTML/CSS, JS, Vue.js, React.js
- Back : PHP, JS, Laravel, Node.js
Conception d'applications
- Base de données : SQL Server, PostgreSQL, MongoDB, normes RGPD, injections SQL (SQLmap)
- Java (niveau intermédiaire) : MVC, Spring, FXJava, Kotlin (en option)
- C# : ASP.NET Core, Linq, Entité, Xamarin (optionnel)
Test et déploiement
- Essais JUnit5 / TDD
- Serveur LEMP, AWS EC2, Sans serveur, SSH
Parcours CDA
Culture
C'est quoi un développeur ?
C'est quoi un développeur ?
Le métier de développeur de logiciel
C'est quoi un développeur ?
Développeur Front-end
Développeur Full Stack
Les métiers de la tech
Le développeur front-end
Pour faire simple, il est celui (ou celle) qui participe à la création de l’interface utilisateur d’un site ou d’une application web, et qui intervient sur tous les éléments visibles à l’écran. Son but ? Créer des sites clairs et accessibles, en agissant sur l’ergonomie, la portabilité (soit la faculté d’un site de s’afficher facilement sur l’écran d’un ordinateur ou d’un smartphone, ndlr), mais aussi sur le référencement naturel. Sa mission intègre donc une bonne part de design, mais aussi de développement. En revanche, il ne fait qu’exploiter la donnée fournie par le serveur. En d’autres termes, il n’écrit pas les fonctionnalités côté serveur pour obtenir les données, il est “consommateur”.
Le code, bien sûr (HTML5, CSS3 et Javascript) qu’il doit connaître sur le bout des doigts, mais aussi la créativité pour créer des interfaces liées à un cahier des charges précis. Sans oublier une bonne dose de curiosité pour s’adapter constamment aux technologies et logiciels.
Le développeur back-end
Homme de l’ombre, le développeur back-end œuvre aussi dans la conception de sites et applications, mais travaille principalement sur l’ensemble des fonctionnalités, ainsi que sur tous les éléments qui sont ”invisibles” lorsqu’on navigue sur un site Internet : l’architecture technique. C’est lui qui s’occupe de la configuration, du développement et de la maintenance du serveur. Une fois ce travail effectué, il intervient encore pour trouver des solutions en temps réel, et faire des préconisations réalistes pour que le site fonctionne toujours de façon optimale.
Le développeur back-end aime avant tout jongler avec les langages de programmation et les bases de données : PHP, Ruby, Python et SQL sont, pour ainsi dire, ses meilleurs amis. Outre les compétences techniques qu’il met à jour en permanence, il sait aussi gérer un budget et son temps pour offrir des solutions réalistes à ses clients/son entreprise.
Le développeur fullstack
À l’heure où la spécialisation fait loi, ce développeur a tout du couteau-suisse (ou de l’ovni) : il doit être capable de travailler tant sur le back-office (la partie qui n’est pas accessible aux utilisateurs finaux ou aux clients, ndlr.) d’un site ou d’une application web, que sur le front-end (au contraire, tous les éléments visibles à l’écran, ndlr). De même, il peut se charger de l’architecture du site, de l’expérience utilisateur, et même de l’intégration html.
Ses connaissances, bien sûr, qui se doivent d’être pointues dans les différentes technologies et les différents langages, mais aussi et surtout, sa capacité d’adaptation à toutes épreuves, tant il peut passer d’un problème à un autre. Le développeur fullstack est très recherché !
Les UX/UI designers
Sous ces termes un peu robotiques, se cachent deux facettes du métier de webdesigneur. Le premier (UX pour User eXperience) s’intéresse à l’expérience utilisateur. Le second, (UI pour User Interface) à la conception de l’interface produit. À eux deux, ils construisent les interfaces des sites, de e-commerce par exemple, en tenant compte des formats (ordinateur, tablette, smartphone), de la navigation tactile, de la rotation portrait/paysage sur supports mobiles, de l’interactivité des zones d’action…
Le designer UI s’occupe de tisser du lien entre la machine et l’homme. À cette fin, il s’emploie à manier les éléments graphiques (boutons, onglets, etc.) et textuels pour une navigation claire et intuitive. Le designer UX, lui, intègre du sens : il parle à nos émotions grâce au storytelling. Il favorise l’empathie pour combler les attentes et les besoins de l’utilisateur et créer la confiance entre utilisateur et marque.
Le data analyst
Là où se trouvent les données (les fameuses data) se trouve souvent undata analyst. Du moins, il devrait. Il est responsable de toutes les opérations faites à partir des bases de données. Un problème, une question ? Le data analyst sélectionne, à disposition des différents services, les données adéquates pour apporter des réponses. Bref, il baigne dans nos données personnelles et permet notamment de dégager des tendances quant aux préférences des clients afin de restituer ses analyses aux décisionnaires.
Point de data analyst sans une forte appétence pour les technologies et les outils informatiques. Mais celui-ci doit également s’avérer un expert en techniques d’analyse des données et en méthodologies statistiques mais aussi être à l’aise en organisation et en rédaction, afin d’établir ses précieux rapports bien sûr.
Le data engineer
Lui aussi travaille au plus près des données, mais s’occupe de la maintenance de l’infrastructure analytique, en amont de la création de modèles de données. Sa mission ? Prendre soin des infrastructures qui collectent, cleanent, traitent et stockent les données qui seront analysées ou consommées par la suite par un data scientist ou un data analyst. En bref, il prépare le terrain et s’assure du bon fonctionnement des rouages. Son rôle est primordial puisque de son action dépendent tous les traitements et les analyses de données.
Il dispose d’excellentes connaissances sur les architectures de données (donc à la fois sur le stockage, la gestion et l’utilisation des données) mais aussi d’une bonne compréhension des problématiques et besoins business.
Le data scientist
C’est souvent le “couteau suisse” de la data. Son rôle varie d’une entreprise à l’autre : il peut travailler sur l’élaboration de modèles de traitement de données, travailler des données plus ou moins structurées et coder également en langage de programmation pour manipuler et analyser ces données au mieux. En d’autres termes, certains data scientists vont être de purs statisticiens très matheux et experts en algorithmes, quand d’autres vont simplement utiliser les technologies mises à dispositions et même participer à une réflexion plus globale sur l’utilisation et l’apport business des data.
Polyvalence, patience, passion des chiffres et minutie sont les piliers d’un bon data scientist.
Le product manager (owner)
Le product manager opère lui-aussi dans les entreprises du web. Ce “chargé de projet IT” fait le lien entre le business et la technique. Sa mission ? Établir et concevoir, avec la direction, la vision d’un produit au sens large (un bien ou un service, créé pour satisfaire un besoin). Pour faire naître de la valeur, il imagine et conçoit alors la feuille de route du produit, les prochaines actions de l’entreprise, les différents projets en lien avec la direction marketing, la direction commerciale, et évidemment l’équipe technique.
Il faut savoir qu’il existe de nombreux débats sur la différence entre le product manager et le product owner. Si ces rôles peuvent être confondus, il existe néanmoins quelques nuances. Pour faire simple, le product manager a une vision plus “macro” et stratégique : il met le produit en perspective au sein de l’entreprise et du marché, alors que le product owner a une vision plus “micro” sur le produit. Ce dernier est aussi plus proche de l’équipe technique qu’il accompagne et aide tout au long des sprints (phases répétées de développement, ndlr.) L’idéal reste d’avoir une combinaison entre compréhension globale et approche technique.
Pour être un bon product manager, il faut être débrouillard, réactif et connaître les méthodes de développement qui fonctionnent. Le product manager doit savoir également exposer clairement sa vision et ce qu’il attend aux autres services.
Le traffic manager
Au sein d’une entreprise (e-commerce, e-business) d’une régie publicitaire ou d’une agence de communication, assure le poste de gestionnaire du trafic sur un site web. Sa mission est bien plus importante que la stricte mise en ligne des campagnes publicitaires et des produits. Il est aussi responsable de leur portée : c’est lui qui optimise les leviers d’acquisition de trafic, afin de booster les ventes et/ou d’atteindre de nouveaux prospects.
Tous les leviers du télémarketing, soit le référencement payant, le référencement naturel, l’e-mailing, l’affiliation…. Il s’appuie aussi sur l’étude des supports, de l’audience et de la fréquentation des sites qu’il manie au quotidien. Et il n’a d’yeux que pour le ROI (retour sur investissement).
L’expert en sécurité informatique
Appelé aussi “expert en cybersécurité”, ce vigile du numérique traque à longueur de journée les piratages possibles ou encore l’espionnage de la concurrence pour éviter tout vol de données privées de l’entreprise. Son quotidien se partage entre diagnostic du système d’information, traque des points faibles et mise en place de solutions le cas échéant.
Sa haute connaissance en informatique et ses failles (pare-feu, virus, etc) et surtout sa réactivité, primordiale quand il s’agit de données vulnérables.
Gestion de projet
L' agile qu'est ce que c'est ?
Le déroulement d'un projet en mode agile
La chronologie d'un projet agile
Les rôles clés de l'équipe agile
Utilitaires
Github
GitHub. GitHub est un service web d’hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de versions Git.
Visual Studio Code
Visual Studio Code est un éditeur de code simplifié, qui est gratuit et développé en open source par Microsoft. Il fonctionne sous Windows, mac OS et Linux. Il fournit aux développeurs à la fois un environnement de développement intégré avec des outils permettant de faire avancer les projets techniques, de l’édition, à la construction, jusqu’au débogage.