Aller au contenu principal

Formation Développeur Full-Stack Python / Linux / Web

PRÉSENTATION

Cette formation est ouverte à tous et à toutes. À n’importe quel âge, venant de n’importe quelle formation, vous pouvez vous familiariser avec le monde parfois intimidant de la programmation. Aucun pré-requis particulier n’est nécessaire pour suivre ce cours.

Vous découvrirez l'histoire du Web, comprendrez à quoi servent les langages et frameworks, et quel est le rôle des développeurs. Vous pourrez ainsi vous lancer vous-même dans le développement grâce à des outils puissants et utilisés par l’ensemble des professionnels du numérique.

Les missions du développeur full-stack sont très diversifiées, mais elles dépendent aussi beaucoup des besoins de l’entreprise pour laquelle il travaille. Il peut aussi bien travailler sur le back office du site que sur le front end. 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. Un véritable technicien supérieur polyvalent.

Un développeur Full stack est parfaitement autonome et saura à lui tout seul créer, développer, coder et maintenir un site Internet de A à Z. Chez la coopérative Code Commun, on aime beaucoup ce profil !

A terme de cette formation, vous pourrez construire votre propre projet, devenir Free-lance ou vous faire embaucher par une entreprise de développement ou dans les nouvelles technologies.

Inutile de préciser que les start-up sont particulièrement intéressées par ce profil. Lorsqu’elles se lancent, elles ne peuvent pas souvent embaucher plusieurs développeurs. L’embauche d’un développeur full-stack est donc une solution à la fois pratique et économique pour les start-up et les petites entreprises.

On apprend en faisant, et uniquement en faisant. C’est pourquoi ce cours est organisé autour d’un projet que nous développerons au fur et à mesure. Chaque chapitre sera ponctué de petits exercices pratiques que vous pourrez réaliser directement.

OBJECTIF DE LA FORMATION

Débuter facilement. Python est un langage parfait pour débuter. Il fonctionne sur tous les systèmes d’exploitation ( Windows, Mac et Linux) et vous n’avez pas à utiliser un logiciel spécifique pour voir le résultat de votre code. Vous avez juste besoin d’un ordinateur. Et de votre tête.

Apprendre un langage reconnu. Python est l'un des langages les plus populaires selon l’index TIOBE et son usage est resté stable depuis une dizaine d’années. Vous avez la garantie d’utiliser longtemps ce que vous apprendrez lors de cette formation.

Maîtriser les environnements de développement et de serveur en prenant le contrôle de Linux/Ubuntu, du système de virtualisation Docker.

Découvrir les bases en HTML5, CSS3 et Javascript, les trois langages de programmation à la base de tous les sites web.

Enfin, créez et concevez une application web en python avec le Framework nommé Django.

PRÉ-REQUIS

Cette formation est accessible à tous. Voici cependant quelques recommandations:

  • Niveau conseillé: Bac ou équivalent
  • Avoir une connaissance utilisateur de l’informatique en général et être à l’aise sur internet.
  • Accès à un ordinateur (PC ou Mac)
  • Être curieux des nouvelles technologies.
  • Être relativement à l’aise avec l’anglais écrit.
  • Aimer résoudre des problèmes complexes et nouveaux.

Cette expérience, ces connaissances et le bien fondé de la formation seront validés au cours d’un entretien individuel avec le formateur préalable à l’entrée en formation.

PUBLIC CONCERNÉ

Cette formation est destiné a tout public de tout age désirant comprendre les mécanismes de la programmation, du web et d’internet en général et/ou souhaitant se professionnaliser dans les métiers les plus recherché du marché du travail en devenant développeur.

Il est difficile de résumer la personnalités des développeurs, tant ils sont d'horizons variés. Ils peuvent venir d'écoles d'ingénieurs avec un cursus scientifiques, mais aussi de filières littéraires, ou bien se reconvertir quel que soit leur métier d'origine.

Inutile d'être un crack en calcul mental. On demande simplement de connaître l'addition, la soustraction, la multiplication et la division. Bref, rien de très sorcier.

VALIDATION

Réalisation en fin de stage d’une application Python orienté Web complète. Attestation de stage et bilan de compétence détaillé via des QCM. Possibilité de passer les certificats de réussites diplômantes reconnus par Pôle Emploi.

DURÉE

La durée du stage complet est fixée à 105 heures sur 3 semaines pour acquérir les compétences nécessaires pour découvrir le métier du développeur Full Stack Python.

DEBOUCHES DE LA FORMATION

Ce parcours ouvre des accès aux métiers suivants :

  • Développeur/se Full Stack
  • Développeur Python
  • Développeur/se Web Django
  • Lead développeur/se
  • Développeur/se Frontend HTML/CSS/Javascript
  • Développeur/se Backend Debian / Docker
  • Chef de Projet Technique
  • Data Analyst
  • Administrateur Système Debian / Ubuntu / Docker

MÉTHODOLOGIE ET MOYENS GÉNÉRAUX

Moyens techniques a la disposition des stagiaires:

  • Ordinateurs et environnements de développement ( Linux/Ubuntu, Docker, Python... )
  • Support de cours polycopiés
  • Serveur hébergement de fichier et de code ( Git, OwnCloud )
  • Connexion internet haut débit

Chaque jour: cours théoriques et travaux dirigés accompagnés dans les salles de formation. Encouragement à l’entraide entre stagiaire et l’auto-résolution de problèmes via les communautés de développeur sur internet. ( Openclassrooms, Stackoverflow, Forum Ubuntu… )

PROGRAMME ET CONTENU DÉTAILLÉ DES MODULES:

  • Module 1 : Maîtrisez votre environnement de travail sous Linux
  • Module 2: Le langage Python, Bases et utilisation avancé
  • Module 3: Les bases HTMLS/CSS/Javascript pour le web
  • Module 4 : Créez des applications web en Python avec le Framework Django

Module 1 : Maîtrisez votre environnement de travail sous Linux

Module 1A: Le merveilleux monde de Linux, Ubuntu et Debian

Partie 1 - Découvrir et installer Linux

  1. Présentation de Linux
  2. Tester et installer Ubuntu
  3. Découverte du bureau Unity

Partie 2 – Manipuler la console et les fichiers

  1. Présentation de la console
  2. Structure des dossiers et fichiers
  3. Manipuler les fichiers
  4. Les utilisateurs et les droits
  5. Nano, l’éditeur de texte basique
  6. Installer des programmes avec apt-get
  7. La recherche de fichier

Partie 3 – Gérez les processus

  1. Extraire, trier et filtrer les données
  2. Surveiller le système
  3. Byobu & tmux ! Magie du multiscreen

Partie 4 – Transférer des données à travers le réseau

  1. La connexion sécurisée à distance avec SSH
  2. Archiver, compresser et fransférer des fichiers
  3. Analyser le réseau et filtrer le trafic avec un pare-feu

Partie 5 – Les petits secrets du Bash et de Linux

  1. introduction aux scripts shell
  2. Afficher et manipuler des variables
  3. Sauvegarder son code sous Git.

Module 1B: Comprendre le Web

1 Jour

Partie 1 – Qu’esce que le Web ?

  1. Internet, Web, services et Cloud
  2. Petit historique

Partie 2 – Les langages du Web

  1. Les langages client
  2. Les langages serveur
  3. Les bases de données
  4. Les sites responsive et mobile

Partie 3 – Les réseaux du Web

  1. Les serveurs
  2. IP et noms d’hôtes
  3. Les protocoles

Partie 4 – Vous avez dit développeur-se ?

  1. Qu’esce qu’un-e développeur-se ?
  2. Comment devenir développeur Web ?

Module 1C: Les outils du développeur moderne

Partie 1 – Un bon éditeur de texte pour gagner du temps.

  1. Présentation, différence entre un IDE et un éditeur de texte.
  2. Sublime Text – Installation & raccourcis claviers
  3. Cloud9. Un IDE dans le cloud ?
  4. Création et présentation de l’espace de travail
  5. Tout savoir pour coder a la vitesse de l’éclair avec Cloud9

Partie 2 – Docker. Un porte conteneur dans votre Linux!

  1. Présentation de Docker
  2. Docker, isoler un environnement, comme une VM ?
  3. Cas d’utilisation avec un Dockerfile
  4. Monter des volumes partagés
  5. Déploiement d’application avec docker-compose

Module 2: Python, les bases et utilisation avancé

Partie 1 - Introduction à Python

  1. Qu'est-ce que Python ?
  2. Outils de commande Python.
  3. Les variables
  4. Les conditions
  5. Les boucles
  6. Les exceptions

Partie 2 - La Programmation Orientée Objet

  1. Les chaînes de caractères
  2. Les listes et tuples
  3. Les dictionnaires
  4. Les fichiers
  5. Variables et références

Partie 3 - La Programmation Orientée Objet côté développeur

  1. Les classes
  2. Les propriétés
  3. Les méthodes spéciales
  4. Comment trier
  5. L'héritage
  6. Derrière la boucle for
  7. Les décorateurs

Partie 4 - Les bibliothèques basiques

  1. Les expressions régulières
  2. Le temps
  3. Programmation système
  4. Gestion des mots de passe
  5. Le réseau
  6. Les tests unitaires
  7. La programmation parallèle
  8. Des interfaces graphiques

Module 3: Découverte du HTML5/CSS/Javascript

Module 3A: Découverte du HTML5 et CSS3

Partie 1 – Les bases du HTML5

  1. Créer un site web ? Introduction
  2. Ma première page web en HTML
  3. Organiser son texte
  4. Exercices pratiques
  5. Les liens
  6. Les Images

Partie 4 – Fonctionnalités évoluées

  1. Les tableaux
  2. Les formulaires
  3. La vidéo et l’audio

Module 3B: Decouvrez le CSS avec Bootstrap4

Partie 1 – Premier pas

  1. Activer Boostrap
  2. La grille
  3. Travaux pratique

Partie 2 – Organiser les éléments

  1. Éléments de base
  2. Les composants intégrés

Partie 3 – Mise en forme et dynamique

  1. Les plugins JQuery
  2. La configuration de Bootstrap4
  3. Travaux Dirigés

Module 3C: Introduction à javascript avec JQuery

Partie 1 – Javascript et JQuery

  1. Javascript, Jquery, c’est quoi la différence ?
  2. Votre boîte à outils JQuery
  3. Le vocabulaire Javascript de base
  4. les variables et les fonctions

Partie 2 – Plongez dans l’univers de JQuery

  1. Ajoutez JQuery à votre projet
  2. Sélectionnez des éléments
  3. Utilisez des méthodes JQuery
  4. Intégrez des événements
  5. Combinez tout ce que vous avez appris

Module 4: Le Framework Django

Partie 1 – Faites connaissance avec Django

  1. Introduction
  2. Créez un nouveau projet
  3. Créez une nouvelle application
  4. L’architecture MVT
  5. Ajoutez une vue
  6. Passez des arguments à une vue

Partie 2 – Ajoutez des informations

  1. l’ORM
  2. Les modèles relationnels
  3. Sstructure d’une base de données
  4. Travaillez avec la console Django
  5. Trouvez des données

Partie 3 – Stylisez votre applications

  1. Ajoutez des fichiers statiques
  2. Organisez les gabarits (Templates)
  3. Ajoutez les gabarits manquants
  4. Configurez un champ de recherche et une page 404
  5. Affichez une liste de résultats sur plusieurs pages

Partie 4 – Traitez des données via un formulaire

  1. Ajoutez un formulaire de réservation
  2. Améliorez la gestion du formulaire
  3. Découvrez les transactions

Partie 5 – Ajoutez une interface d’administration

  1. Créez une interface d’administration privée
  2. Déterminez les informations pertinentes à afficher
  3. Personnalisez l’affichage des champs.

Partie 6 – Vers la production

  1. Testez votre application
  2. Déployez en production