Blog de Norore
Geek en perdition dans un monde qui va trop vite

Projet suivi sous Symfony 4

23 Mar 2018 - Norore
Un carnet, un stylo et une tasse de cappuccino, posés sur un bureau en bois.

Depuis quelques mois je me suis mise à Symfony 3.4. Il s’agit d’un framework PHP assez connu et que je n’avais pas pris la peine de découvrir au moment où je bidouillais dans ce langage. C’est chose faite grâce à mon nouvel emploi.

Depuis le mois de Novembre dernier, la version 4 est sortie. S’agissant d’une version majeure, et le projet que j’ai repris étant déjà assez avancé, il serait probablement complexe de mettre à jour toute l’application dans un premier temps.

J’ai envie de coder et de découvrir ce que Symfony 4 me réserve pour de futurs projets, ou même comment je peux planifier la mise à jour de l’application actuelle, aussi, le meilleur moyen que je connaisse, est de faire un projet. Je vous propose donc, au travers de différents billets qui seront rédigés au fur et à mesure de ma progression et de ma motivation, de découvrir ensemble comment travailler avec le framework :-) !

Présentation du projet

Depuis quelques années, j’ai remarqué que je prends plus de plaisir à lire qu’avant. Du coup, je lis davantage ! Ma bibliothèque commence à se remplir peu à peu et certains de mes livres sont toujours chez mes parents. Sans parler des livres que j’aimerai lire et que j’emprunterai vraisemblablement à la médiathèque de mon quartier.

Seulement voilà :

  • Quels sont les livres que j’ai lu ?
  • Ceux que j’ai et ceux que je n’ai pas ?
  • Combien de fois ai-je lu les mémoires d’Hubert Reeves ?
  • Quelles sont les œuvres que j’aimerai lire mais ne sont pas encore dans ma bibliothèque ?
  • Combien ai-je de BD, de mangas, de livres de vulgarisation, de romans ?
  • Est-ce qu’il y a un auteur en particulier qui est plus représenté que les autres ?
  • Et est-ce que j’ai bien toutes les œuvres écrites par cette auteure ?

Bref, vous l’aurez compris, j’aimerai avoir un suivi de mes différentes lectures, savoir où sont les livres que j’ai lu peut aussi s’avérer utile. Et puis, ça peut aussi me permettre de faire joujou avec les statistiques plus tard. Oui, je suis une grande gosse :-) !

Organisation du bousin

Pour pouvoir concrétiser ce projet il faudra donc que je mette en place différentes choses.

Les tests unitaires

Un des incontournable en programmation. Malgré le fait d’en avoir entendu parler, je ne sais toujours pas comment m’y prendre pour faire ça, honte sur moi. C’est l’occasion d’apprendre et de sortir de ma zone de confort !

La gestion des erreurs

Un des trucs intéressants avec Symfony, c’est qu’il est possible de jouer avec l’affichage des erreurs ainsi qu’avec la création de log personnalisé. J’ai hâte de voir comment ça marche sous la version 4 !

La base de données

Sans doute la partie qui va me demander le plus d’effort. Concevoir une base de données n’est pas forcément immédiat, il faut parfois du temps et des essais pour vérifier que tout coïncide. De plus, c’est souvent en testant que l’on se rend compte qu’il manque, ou va manquer, des informations qui n’ont pas encore été prévues !

L’architecture des pages

Là je vais m’amuser avec le framework et son moteur de template Twig :-) ! La question sera de savoir comment je vais organiser toutes les pages. Est-ce que je vais répartir les différentes pages dans différents modules ? Je verrai ça au fur et à mesure que le projet sera en cours de maturation.

La documentation

Je vais tâcher de documenter mon code et, pourquoi pas, d’avoir des fichiers README dans les différents répertoires. Il se pourrait aussi que monter un wiki dédié au projet pourrait être une meilleure option. Je ne sais pas encore trop comment je vais m’y prendre, mais on devrait s’en sortir !

Et il y a sûrement encore plein de petits détails et autres fioritures que j’ai oublié. Je verrai bien au cours du temps et de la progression du projet, mais également au fil de vos réactions et commentaires :) !

À la question « mais ça n’existe pas déjà ? » ma réponse est « probablement » ! L’objectif pour moi est vraiment d’apprendre et de repousser mes limites et compétences en terme de gestion de projet. C’est comme ça que je progresse et évolue.

Vous êtes prêts ? À nos neurones !


Source de l’image d’accroche : un carnet, un stylo et une tasse de cappuccino, posés sur un bureau en bois. Photographié par Engin Akyurt, sous licence CC0 sur Pixabay