PROGRAMMATION ET TECHNIQUES DE DÉVELOPPEMENT : LE FUTUR À VOTRE PORTÉE

Mise en situation

Les technologies occupent une place grandissante dans le milieu des affaires. C’est pourquoi les programmeurs ont la cote ! Vous voulez devenir programmeur ? Vous êtes un programmeur qui souhaite passer à l’étape supérieure ? Notre formation est pour vous !

 

Divisée en deux niveaux (débutant et avancé), notre formation aide les participants à faire progresser leur carrière dans le monde de la programmation. Vous apprendrez les plus grands concepts de programmation et les meilleures manières de maintenir la qualité de vos codes.

Contexte

Dans le milieu actuel des affaires, les compétences liées à  la programmation sont de plus en plus recherchées. La raison est simple : les technologies occupent une place primordiale dans les tâches quotidiennes des entreprises d’aujourd’hui ; qu’il s’agisse d’automatisation, de marketing web, ou encore, de vente en ligue. C’est dans cette optique que nous avons mis sur pied cette formation. Le cours « programmation et techniques de développement » vise à introduire les notions de base pour les débutants et à perfectionner les acquis des participants avancés. Que vous soyez un futur programmeur ou un programmeur d’expérience qui souhaite passer à l’étape supérieure, cette formation s’adresse à vous.

Les objectifs de la formation

La formation dont il est question a pour objectif d’accompagner les participants dans leur cheminement professionnel dans le monde de la programmation ; qu’ils soient débutants ou avancés. Grâce à notre approche basée sur les réalités des entreprises d’aujourd’hui, la formation « Programmation et techniques de développement » représente l’opportunité idéale d’apprendre les bases de la programmation jusqu’aux techniques modernes les plus avancées.

Prérequis

Prérequis recommandé pour le cours adressé aux débutants:

  • Formation développeur : Stratégies de maximisation pour un espace de travail efficace [Pour les débutants]

 

Prérequis pour le cours adressé aux participants avancés:

  • Formation développeur : Programmation et techniques de développement [Pour les débutants]

Durée

Formation et exercices pratiques niveau débutant: 12h

Formation et exercices pratiques niveau avancé: 12h

Somme des formations et exercices: 24h

Approche de formation

Cette formation est composée de trois volets et est offerte pour les participants débutants et avancés. Notre approche de formation vise à outiller les participants afin qu’ils puissent affronter les défis qu’un programmeur peut rencontrer sur le marché d’aujourd’hui.  C’est pourquoi ce cours comprend des notions globales de programmation : vous apprendrez à coder, à maintenir la qualité de vos codes de manière efficiente et verrez divers concepts importants pour la programmation moderne.

1-Coder et comprendre la programmation
Le travail de programmation est minutieux. Il est donc primordial de comprendre les divers concepts qui s’y rattache et comment ceux-ci s’appliquent aux travaux de programmation. Le premier thème de cette formation débutera avec l’étude des bases d’un algorithme. S’en suivra l’apprentissage de la syntaxe des différents langages de programmation et la manière dont ils sont utilisés. Finalement, cette section mettra à l’étude d’autres concepts plus complexes tels que les « Design Patterns ».

2-Agir sur la qualité du code
Le maintien du code et de sa qualité est tout aussi important que l’ensemble des processus acquis au cours du précédent thème. C’est pourquoi toute cette section est dédiée au maintien de la qualité d’un code. Pour ce faire, plusieurs techniques et stratégies seront mis à l’étude. Les participants se familiariseront avec les divers standards de qualité d’un code, le processus de révision et l’analyse de qualité.

3-Comprendre les concepts de programmation importants
Au moment de passer à ce thème, les participants auront acquis d’importantes notions de programmation et de maintien de la qualité d’un code. Il sera désormais temps de mettre à l’étude les principaux concepts utilisés dans les processus modernes de programmation. Nous approfondirons l’étude des « Design Patterns » en abordant les principaux modèles qui s’y rattachent. Aussi à l’étude, le concept de « Events Handling » et ses implications dans le processus de programmation. Finalement, les applications API, ses filtres, ses relations et ses protocoles de sécurité seront aussi abordés au cours du troisième thème.

Plan de cours ( pour débutant )

Coder et comprendre la programmation

    • Algorithmique
      • Variables et types de base
      • Tableaux et listes chaînées
      • Structures de contrôle
      • Expressions
      • Fonctions
    • Gestion des données
      • Bases de données
        • Text (ex: CSV)
        • NOSQL
        • JSON
        • SQL
        • XML
        • Serialization
    • Outils de développement
      • Éditeur de texte
        • Notepad
        • Scite
      • IDE
        • PHPStorm
        • Atom
      • Outils de comparaison
        • Meld
      • Utilisation interconnexion API
        • Postman
        • API REST extension Chrome
      • Fast Track : Element / Evaluation comparable
    • Encodages
      • UTF8
      • Latin1 = ISO
    • Code et Langage
      • Interprété / Compilé
      • Type d’application
        • Application Installé sur le poste ou l’appareil
        • Application Web “Web App” accès vis la navigateur
      • Type de code
        • Markup – HTML & CSS
        • Programmation
      • Ou le code s’exécute
        • Backend: sur le serveur
        • Frontend: sur le client (exemple Navigateur Chrome)
      • Comparer les différents langages
      • Les bases et la syntaxe de langage ‘Markup’
        • XML
          HTML

          • Avant HTML5
          • Après HTML5
        • CSS
          • SASS
          • LESS
          • SCSS
      • Les bases et la syntaxe de langage de programmation (historique)
        • PHP
        • JS
        • Python
        • Java
        • C++
        • C#
      • Utiliser des documentation de références fiables et efficaces
    • Approche “Scripting”
    • Étude du principe de « Domain Driven Design » (DDD)
      • Qu’est-ce qu’un objets
      • Classes
      • Héritage
      • Concepts
      • Exercices pratiques
    • Domain Driven Design (DDD)
    • MVC Architecture
      • Model & ORM
      • Vue & template
      • Contrôleur 
    • Using Frameworks
      • PHP Laravel
      • PHP Symfony – Sf
        • Symfony Core
        • Doctrine (ORM)
          • Mapping
          • Extensions
          • Doctrine Filters
        • Communauté FOS Librairies
        • Symfony Flex
      • JS NodeJS
      • JS React
    • Créer des sites et applications web
      • Combiner vos languages markup et de programmation
      • Utiliser des CMS
        • WordPress
        • Magento2 – Zend2

Agir sur la qualité et maintenance

      • Qualité

 

  • “Coding Standards” 

 

      • Standardization
      • Réutilisation DRY
      • Refactorisation
      • Documentation & Comments
        • Documentation dans le code
          • Docblocks et annotation de documentation
          • Commentaires informatifs
          • Fichiers readme
        • Documentation de références (wiki)
          • Utilisation pour développeur 
            • “How to”
            • Exemple de cas
            • Analyse et diagramme
          • Formation pour utilisateur
    • Pair programming “Extreme programming”
      • Physique
      • Virtuel
    • Prioritisation 
      • Plus rapide -> Évite d’être submergé par le travail
      • Plus simple -> Pour les cas familiers
      • Refactorisation -> Impact / Évite les régressions
      • Plus difficile -> Risque de confusion / Peut être subdivisé en plus petites tâches de travail

 

Études d’importants concepts de programmation moderne

      • Sécurité des données
        • HTTP(S) pour SSL Man in the Middle
        • Brute force Attaque
        • Paramètres externe
        • Fonctions dangereuses / bannies

 

  • Events Handling

 

      • Synchrone
      • Asynchrone
        • Multi-tread
      • Event cycle
      • Webhook simple
    • API Applications
      • API CRUD Endpoints
      • Utilisation de librairies

Exercices

    • Quizz théorique: associer les bons concepts aux bons languages
    • Conception de site web fictif
      • Créer le site soit même
        • Créer un template de site en HTML et CSS
        • Ajouter un diaporama en javascript
        • Créer un CMS simple pour gérer le contenue
      • Utiliser un CMS  existant pour créer le site web
        • Choisir et configurer son thème
        • Créer ses pages
          • Visual Composer
          • Modifier le code
          • Ajouter des ‘widgets’ et ‘plugins’
    • Créer une application compilée simple
    • Créer un “event listener” pour l’application web fournie

 

Questions et réponses

 

Conclusion

Plan de cours ( Pour les avancés )

Coder et comprendre la programmation

  • Code et Langage
    • PHP
      • La certification ZEND PHP
    • JS
    • JQuery
      • Pointers
      • Ajax
  • Mastering Frameworks
    • Symfony – Sf
      • Trucs et astuces avancés
      • Sécurité avancée
      • Utiliser les librairies pour aller plus loins
      • Créer une librairie 

Savoir agir sur la qualité et maintenance du code

 

  • Analyse de métriques
    • Outils
  • Débogage avancé
    • Drill down
      • Outils
        • XDebug

Connaître des concepts de programmation importants

 

  • Comprendre les “Design Patterns”
    • Qu’est-ce qu’un “design pattern”
    • Patterns principaux
      • Factory Pattern
      • Abstract Factory Pattern
      • Singleton Pattern
      • Prototype Pattern
      • Builder Pattern
      • Adapter Pattern
      • Bridge Pattern
      • Composite Pattern
      • Decorator Pattern
      • Facade Pattern
      • Flyweight Pattern
      • Proxy Pattern
      • Chain Of Responsibility Pattern
      • Command Pattern
      • Interpreter Pattern
      • Iterator Pattern
      • Mediator Pattern
      • Memento Pattern
      • Observer Pattern
      • State Pattern
      • Strategy Pattern
      • Template Pattern
      • Visitor Pattern

Sécurité

  • File
  • Injection SQL
  • Attaque de type “Cross-site scripting”
  • Session CSRF
  • Tool scan test
  • Events Handling
    • Event hooks
    • Signed Callback (encodage security)
  • API Applications
    • RESTFUL api
    • URI relations
    • Filters
    • Custom endpoints
    • Security authorisation
      • Symfony User Providers
      • JWT
      • OAuth

Exercices

  • Identifier les failles de sécurité
  • Créer un écosystème d’applications simples communiquant les unes aux autres
  • Simulation de test pour la Certification Zend PHP 7

Question et réponses

Conclusion

Pour vous inscrire ou demandez plus d’information !

Votre nom*

Votre courriel*

Nom de l'entreprise*

Votre téléphone*

Vos objectifs