Présentation

Le.la développeur.se digital effectue la réalisation technique et le développement informatique d'un site web. A l'aide du cahier des charges réalisé par le chef de projet, le développeur web digital programme les fonctionnalités qui correspondent aux besoins du client pour son site web. Le développeur web peut exercer dans une ESN (Entreprise de Services du Numérique), dans une agence de communication, en tant que travailleur indépendant ou directement chez le client.
Le développeur Front End est le spécialiste de la carrosserie des sites internet. Il s’occupe de programmer l’interface des sites Internet en fonction du cahier des charges de son client et des impératifs liés à l’accessibilité et à la compatibilité entre les navigateurs. Le développeur back End est le spécialiste du moteur des sites internet et des applications mobiles. Il s’occupe de programmer l'interface avec la base de données en fonction du cahier des charges de son client et des impératifs liés aux règles de gestion métier et à la navigation.

Missions

Les fonctions principales du futur développeur sont :

Participer à l’analyse détaillée des besoins fonctionnels et techniques
Coder la solution (logiciel, application, système...)
Réaliser la documentation associée
Implémenter la solution avec les technologies retenues
Dérouler les tests et valider son développement
Gérer la maintenance corrective et évolutive de l’application
Former des utilisateurs finaux
Participer à la mise en production
Accompagner la recette et traiter les retours de recette
Assurer le support client

Conception

Comprendre les maquettes / écrans proposés
Maîtriser les méthodes, normes et outils standards de conception
Analyser les données
Maitriser la conception des données
Synthétiser les informations clés dans un format pertinent
Expliquer de façon claire et argumentée une décision ou un point de vue

Storyboard UX UI Conception
Développement Front End
Développement Front End

Connaître HTML 5
Connaître CSS 3
Connaître Javascript
Connaître le Document Object Model
Savoir prendre en compte les contraintes définies par le choix de l’outil de développement Back End (Framework / CMS)
Prendre en compte l’accessibilité
Prendre en compte les recommandations SEO
Savoir découper une maquette photoshop
Connaître le framework TWIG
Notions de theming
Connaître l’adaptation aux différents moteurs de rendu
Connaître les contraintes du responsive design
Connaître les pré processeurs CSS

Développement Back End

Savoir écrire un algorithme à partir d’une spécification fonctionnelle
Savoir modéliser les traitements
Développer une fonction, un module, ou un programme (à partir des outils, méthodes ou langages)
Utiliser des méthodes lean et/ou agiles
Savoir utiliser un IDE (PhpStorm)
Savoir Versionner son code source (Git)
Savoir utiliser Code Sniffer
Savoir programmer en programmation orientée objet
Savoir développer un Webservice REST
Savoir utiliser des API tiers (google, facebook, twitter...)
Factorisation de code

Développement Back End
Base de données

Savoir modéliser un modèle logique et physique en relation avec les spécifications fonctionnelles détaillées
Connaitre et savoir utiliser MySQL / PostGreSQL
Connaître les bases de données NOSQL

big data technology, processing information, analyzing statistics
Tests

Ecrire formellement un dysfonctionnement, incident ou accident
Analyser et comprendre l'origine d'un dysfonctionnement, incident ou accident (processus...)
Réaliser les contrôles / tests unitaires
Proposer une solution permettant de résoudre le problème
Utiliser les outils de gestion des dysfonctionnements en place

tests unitaires, tests d'intégration, recette technique
Mise en production

Rédiger la documentation technique (guides utilisateur, guides métier, schémas d'architecture...)
Réaliser le paramétrage et le debugging de période de lancement
GIT, Jenkins, Capistrano

search engine optimization SEO
SEO

Comprendre les enjeux référencement du client
Optimiser la structure du site et de chacune de ses pages afin de favoriser son indexation

Réseaux

Savoir utiliser SSH et connaître les principales fonctions Linux en Terminal de commandes
Comprendre le fonctionnement du réseau LAN / WAN / VPN
Comprendre et maîtriser les réponses réseaux des serveurs
Comprendre les protocoles d’échanges (FTP, Http, https, SSH, etc)
Comprendre et savoir utiliser les méthodes de caching applicatifs et serveurs

Travail en équipe
Equipe

Conseiller et accompagner un équipier sur une tâche / un module / une fonctionnalité
Demander de l’aide à un équipier
Travailler au sein d’une équipe ou plusieurs équipes projet
Autoévaluer ses compétences et les confronter avec l’évaluation du maître professionnel

Projet

Comprendre le mode projet waterfall et / ou agile
Utiliser les outils de gestion de projet
Maîtriser les outils web (gestion de contenus, gestion de flux)
Comprendre et analyser des spécifications techniques
Suivre et respecter un planning
Estimer le temps restant à passer sur une tâche / un module / une fonctionnalité
Découper une fonctionnalité en modules / tâches unitaires
Lire et comprendre un diagramme de gantt
Comprendre et utiliser Kanban
Reporter son avancement au chef de projet
Trouver une solution et/ou une alternative aux demandes des concepteurs

scrum agile flow
Veille et recherche

Réaliser une veille
Maîtriser la recherche documentaire

Architecture SI

Comprendre une architecture technique
Définir /préconiser un socle technique qui réponde aux besoins du projet / client
Analyser l’impact d’un choix technologique (nouvelle solution / nouvelle technologie) au sein de l’entreprise et du Client
Préconiser un choix technique en fonction des besoins du projet / client
Comprendre des cartographies fonctionnelles et applicatives
Modéliser l’architecture fonctionnelle et technique d’une application

SOA service oriented architecture concept technology network
Sécurité du SI

Sécuriser les développements
Comprendre les risques techniques et fonctionnels et estimer leur criticité́
Comprendre des cartographies fonctionnelles et applicatives
Analyser et comprendre l'origine d'un dysfonctionnement, d’un incident
Connaître les méthodes de hack des applicatifs en vigueur dans sa spécialité́ ou son secteur

securité SI hacking
Workflow intégration continue Jenkins Capistrano
Intégration continue

Comprendre le fonctionnement
Connaître JENKINS, Capistrano
Savoir utiliser Vagrant pour le déploiement des machines virtuelles de développement
Maîtriser les logiciels de Gestion de sources GIT

Réseau de connaissances

Savoir utiliser son réseau proche et les réseaux de son réseau
Appendre à garder le contact
Participer activement aux communautés de développeurs

Connexion réseaux sociaux
Français

Ecrire en français des livrables, notes, e-mails sans fautes d’orthographe majeures, avec une ponctuation, un début, un milieu, une fin avec un niveau de langage correcte
Prise de notes en sketch

Anglais

Comprendre un anglais écrit en contexte professionnel
Utiliser un vocabulaire technique en anglais
Comprendre de la documentation technique en anglais
Ecrire en anglais les livrables, notes, e-mails... nécessaires à la réalisation des activités

Options

L’internet de demain
Enseignement sur le BIG DATA
Qu’est-ce que l’IOT ?
Les apports du Blue Ocean
Qu’est-ce que le Growth Hacking ?
Option CMS
Qu’est ce qu’un CMS ?
Connaître Drupal 8
Créer des modules
Notion d'entité/bundle
Notion de theming
Notion des hooks
Utiliser les Views
Utiliser la taxonomy
Qu’est-ce que les API Drupal ?

Quelques exemples de Growth Hacking

1. "Envoyer de mon iphone"
Apple avait placé cette phrase en signature par défaut chaque fois qu'un utilisateur d'iPhone envoyait un mail. Cela faisait donc connaître l'iPhone à tous ses contacts gratuitement.

2. Référer un ami
Dropbox a eu la très bonne idée de proposer à leurs utilisateurs d'obtenir un espace supplémentaire chaque fois qu'ils invitaient un nouvel ami et que celui-ci s'inscrivait.

3. 7 emails pour devenir actif
Facebook a compris, qu'il fallait envoyer 7 invitations de personnes différentes à une même personne pour que celle-ci devienne un utilisateur actif. Pour cela, Facebook a analysé en détail le comportement de ses utilisateurs et des personnes qui recevaient chaque invitation.

4. Poster sur un site concurrent
Chaque fois qu'un utilisateur postait une annonce sur Airbnb, celui-ci postait automatiquement sur un site concurrent extrêmement populaire (Craiglist). Ce qui faisait donc la promotion automatique d'Airbnb. Ils ont eu la brillante idée de regarder comment un site spécifique fonctionnait pour pouvoir hacker son fonctionnement de base.