FALDA Cédric
Formation Développeur d’application - PHP / Symfony

Ce site web recense les différents projets effectués lors de ma formation Openclassrooms du 23 janvier 2017 au 30 mars 2018.

Durant cette formation, j'ai été amené à apprendre à réaliser des sites internet et à utiliser diverses applications. Afin de valider mes aquis, j'ai été amené à réaliser plusieurs projets. Vous trouverez ici un lien vers chacun d'entre eux ainsi qu'une courte description de l'objectif de chaque projet.

Projet 1 : Apprendre à apprendre

L'objectif de ce projet à été d'établir en détail mes objectifs d'apprentissage et de planifier l'ensemble de mes résultats à atteindre pour avancer efficacement dans ma formation.

Pour ce faire, j'ai dû réaliser plusieurs documents :

  • Un fichier présentant mes objectifs d'apprentissage
  • Mon CV
  • Mon profil LinkedIn
  • Mon journal d'apprentissage
Ces documents sont accessibles en cliquant sur les liens çi-dessous

Projet 2 : Intégrez un thème Wordpress pour un client

Ce projet à été l'ocasion pour moi de mettre en pratique mes conaissances apprises sur les languages HTML 5 et CSS 3. J'ai aussi pu faire mes marques sur le CMS Wordpress.

L'objectif principal de ce projet était de créer un site web pour une agence de location de chalets de luxe. J'ai donc dû utiliser un thème Wordpress et l'adapter a mes besoin en modifiant le CSS.

Il fallait rendre le site le plus simple possible pour le client final. J'ai donc recherché des extensions qui m'on permis de faire en sorte que le site soit facile et agréable à mettre à jour. Les pages contenant les liens vers les chalets à vendre et à louer sont de fait générées automatiquement lorsque l'on ajoute un article au site.

J'ai également été amené à créer divers comptes utilisateur pour le futur client et ses employés. Enfin, j'ai rédigé une documentation du site à l'attention du client.

Projet 3 : Analysez les besoins de votre client pour son Festival de films

Pour ce projet, j'ai du effectuer une analyse de la demande d'un client et en rédiger les spécifications techniques et fonctionelles. Ce projet à donc eu pour but d'étoffer mes compétences dans la conception de projets.

J'ai dû lister l'intégralité des fonctionnalités dont le client à exprimé son besoin et lui proposer une solution technique adaptée. J'ai dû justifier et détailler mes choix pour arriver à ce but.

Au vu des demandes exprimées par le client (nécessité de s'inscrire à des projection, blog, maintenance facile du site), l'utilisation du CMS Wordpress était toute indiquée. Dans un premier temps, j'ai produit un prototype en HTML à l'aide du framework "bootstrap" en utilisant les conaissances que j'ai aquises.

J'ai ensuite créé un wireframe du site pour illustrer mes choix. Enfin, j'ai terminé par la rédaction des spécifications techniques et fonctionelles.

Projet 4 : Concevez la solution technique d'une application de restauration en ligne, Express Food

Ce projet a été l'occasion pour moi de découvrir les diagrammes UML et les bases de doonées MySQL. J'ai du définir les besoins auquels mon application devra répondre, en déduire les diagrammes correspondants, et mettre en place une base de données.

Pour ce projet, je n'ai pas réalisé de site web en tant que tel, mais uniquement tous les préparatifs qui doivent être réalisés en amont afin de pouvoir valider tous les besoins du client avant d'entamer le développement.

J'ai commencé par créer le diagramme de classe, qui représente la structure de ma future application. J'ai ensuite créé le modèle physique de donnée, qui permet de comprendre comment la base de donnée de l'application sera structurée. Enfin, j'ai créé la base de donnée elle même via un script sql que j'ai pu importer en utilisant PhpMyAdmin.

Projet 5 : Créez votre premier blog en PHP

C'est parti pour le premier des projets les plus importants de la formation ! Cette fois, j'ai dû faire un petit blog en PHP. Pour y parvenir, j'ai dû apprendre le php, puis la programmation orienté objet. J'ai dû prendre en compte tout ce que j'avais aquis jusque là pour y parvenir.

Comme pour le projet précédent, j'ai dû créer les diagrammes UML : le diagramme de classe, le diagramme de cas d'utilisation et les diagrammes de séquence. J'ai également dû porter le projet sur Github, une plateforme de partage pour les développeurs. Enfin, j'ai entamé la programmation du blog proprement dite.

J'ai donc envisagé tous les cas possibles auquels mon blog devra répondre : liste, ajout, modification, suppression et évidement affichage d'un billet. J'ai ensuite créé une base de données et fait la liaison entre celle çi et le blog via différentes fonctions. En effet, dans un soucis d'organisation et de facilité de développement, j'ai codé le blog en suivant l'architecture MVC (Model, View, Controller). J'ai donc divisé le blog en ces 3 parties :
- Les modèles, qui gèrent toutes les fonctions du blog dont j'ai parlé plus haut.
- Les vues, qui représentent toute la partie graphique et mise en page du blog.
- Les controlleurs, qui font le lien entre les modèles et les vues correspondantes.

Pour aller plus loin, j'ai utilisé un moteur de templating nomé Twig qui me permet de gérer beaucou plus facilement les vues du blog. De plus, il s'avèrera utile de le connaître pour le prochain projet