Archives de catégorie : formation

Cours gratuit consacré au framework PHP SILEX

J’ai le plaisir de vous annoncer la disponibilité d’un cours gratuit, téléchargeable librement au format PDF, sur mon compte Github.

Ce cours est consacré au framework PHP SILEX. Je l’ai rédigé dans le courant du mois de septembre 2016, et j’ai eu la chance de pouvoir le « rôder » avec des élèves qui suivaient une formation au développement informatique, dans le cadre d’une reconversion.

SILEX est un micro-framework, c’est à dire un framework « léger », facile à apprendre et à mettre en oeuvre. SILEX est bâti sur les fondations du framework Symfony, dont il utilise la plupart des composants, tout en en simplifiant l’utilisation.

J’ai conçu ce cours de manière à ce que l’apprenant soit le plus autonome possible. Si vous avez de bonnes bases en PHP, vous devriez pouvoir aller au bout du cours sans difficulté et sans aide extérieure. Si vos bases en PHP sont fragiles, rien ne vous empêche d’essayer, même si certaines opérations vous sembleront peut être confuses, ou trop complexes.

Qu’apprendrez-vous dans ce cours consacré à SILEX ? Eh bien, à peu près tout ce qu’il faut savoir quand on souhaite développer des applications webs de niveau professionnel. Vous apprendrez, par exemple, comment créer :

  • des pages dynamiques avec le moteur de templating Twig,
  • des menus déroulants avec le framework CSS Bootstrap,
  • des formulaires avec validation (toujours via Twig),
  • des modules de gestion de type CRUD (càd des modules regroupant les 4 opérations de base que sont la création, l’affichage, la mise à jour et la suppression d’une donnée « métier »)
  • des listes avec barre de pagination et tri dynamique des colonnes,
  • des fonctions d’export de données aux formats PDF, CSV, XML et JSON.
  • des tableaux de bord graphiques, avec le projet Highcharts.

Vous l’aurez sans doute compris, j’ai mis l’accent dans ce support de cours sur le développement d’applications « métier ». Cela m’a conduit à intégrer à ce cours des composants d’éditeurs tiers, comme Bootstrap et Highcharts. Je n’ai pas souhaité rédiger une présentation détaillée de chacun des composants utilisés, ce n’est pas le sujet de ce cours, mais j’ai fourni – quand cela me semblait utile – des liens vers des sites approfondissant certains des sujets traités.

Bonne lecture !!

Grégory

P.-S. : Pour télécharger le support, c’est par ici.

Des questions à poser aux anciens de votre promo

Je donne actuellement des cours au développement web à des élèves en BTS (SIO et SN), dans le cadre de formation continue (en GRETA). J’ai appris que mes élèves du BTS SIO allaient rencontrer d’anciens élèves du GRETA, et cela m’a rappelé la manière dont s’était passée une rencontre similaire, lorsque j’étais moi même étudiant en BTS, il y a environ 25 ans. Je me souviens que les étudiants que nous étions ne savaient pas trop quelles questions poser, et que du coup ces rencontres s’étaient révélées peu instructives.

Ne sachant pas trop comment mes étudiants allaient gérer cette rencontre avec des anciens du GRETA, je leur ai proposé une série de questions à adresser à leurs interlocuteurs, questions que voici :
  • avec quel langage travaille-t-il actuellement ? (PHP, Javascript, autre)
  • avec quel framework (jQuery, Angular, React, NodeJS, autre…)
  • avec quel poste de développement (Windows, Linux, si Linux, lequel ? Debian, Ubuntu, autre?)
  • travaille-t-il avec un gestionnaire de version, si oui lequel (Git, Subversion ?)
  • avec quel IDE (Netbeans, Eclipse, PHPStorm, autre?)
  • quelles sont les compétences qui lui ont fait défaut à son arrivée sur le marché du travail ?
  • les recruteurs lui ont-ils fait passer des tests ? Si oui, de quel type (QCM, autre) ? Etait-ce difficile ?
  • Quelles compétences sont attendues par les recruteurs actuellement, selon lui ?
  • sur quel type de projet travaille-t-il actuellement ? Application métier à usage interne de l’entreprise, ou application destinée à être visible sur le web ?
  • s’agit-il d’application web, d’application mobile, si c’est du mobile, s’agit-il d’une application native, ou hybride ?
  • s’il s’agit d’appli web, doit-il dans ses développements gérer des problèmes de compatibilité entre navigateurs ? Si oui, comment s’y prend-il ?
  • développe-t-il côté back (PHP,  NodeJS, autre..) ou côté front (Javascript, framework tel que jQuery, Angular 1 ou 2, ReactJS, etc…), ou les deux ?
  • dans quelle structure travaille-t-il (société de services, client final ?)
  • est-il indépendant, salarié, en CDD ou en CDI ? 
  • s’il est dans une société de services, travaille-t-il au siège de la société, ou est-il détaché chez un client de la société ?
  • travaille-t-il sur un projet au « forfait » ou est-il en mode « régie » ?
  • quelle est la taille de l’équipe dans laquelle il travaille ?
  • son équipe utilise-t-elle une méthodologie agile (Scrum, autre..) ? Si oui, demandez-lui de vous expliquer comment se déroule un « sprint »
  • s’il travaille en société de services, ou même chez un client final, quels sont les avantages selon lui de ce type de structure ? et les inconvénients ?
  • à quel niveau de salaire pouvez-vous prétendre, selon lui, en arrivant sur le marché du travail ?

Oui je sais, j’ai peut être exagéré, mais il vaut mieux avoir l’embarras du choix, que le choix de l’embarras, pas vrai ? En tout cas, cela m’a bien amusé de préparer cette série de questions. Zut, l’heure tourne et j’ai encore un cours à préparer… bon allez, j’y retourne !