Projet WEBSITE
Mes Projets / Projet Personnel / Projet WEBSITE
Contexte
Durant ma première année de BTS en 2014, un des projets qu'on nous avait demandé de mettre en place était un site web portfolio.
Objectifs
Le but de ce site web est de mettre en avant les compétences de la personne qui le crée.
Parler un peu de soi, ses diplômes, ses compétences, ses passions, ses projets, mettre un CV à disposition de potentiels recruteurs et une page de contact.
Parler un peu de soi, ses diplômes, ses compétences, ses passions, ses projets, mettre un CV à disposition de potentiels recruteurs et une page de contact.
Contraintes
Les seules contraintes étaient que ce projet était imposé dans mon cursus du BTS.
Nous devions fournir une version fonctionnelle à la fin de l'année et le temps de travail dessus n'est pas inclus dans notre temps de cours.
Étant sur un cursus développeur, je voulais le construire moi-même de zéro mais je me rendais bien compte qu'il ne serait pas tel que je le souhaitais en aussi peu de temps.
Ces contraintes ne valaient que la période de mon BTS.
Quand je l'ai repris, avec mon diplôme en poche, ces contraintes n'existaient plus.
Nous devions fournir une version fonctionnelle à la fin de l'année et le temps de travail dessus n'est pas inclus dans notre temps de cours.
Étant sur un cursus développeur, je voulais le construire moi-même de zéro mais je me rendais bien compte qu'il ne serait pas tel que je le souhaitais en aussi peu de temps.
Ces contraintes ne valaient que la période de mon BTS.
Quand je l'ai repris, avec mon diplôme en poche, ces contraintes n'existaient plus.
Démarches
Au premier abord, j'ai pensé à utiliser un CMS ou un Framework PHP pour faire mon site.
Après plusieurs essais d'entre eux dont Wordpress pour les CMS et Zend pour les Framework, je me suis résilié.
Je n'étais pas satisfait de leur fonctionnement, donc j'ai décidé de le créer de A à Z.
Dans ma deuxième conception, j'ai abordé une structure MVC avec mes classes PHP de base directement dans un dossier core.
À cette époque je ne connaissais pas encore Composer, donc j'ai créé mon autoloader de classes à la main.
Avec mes contraintes en formation, j'ai réalisé le minimum utile dans le but d'achever et de d'héberger mon site rapidement.
Tant le backend que l'interface étaient très primaires, mais je l'ai quand même hébergé.
J'ai utilisé Hostinger comme hébergeur car il proposait une offre gratuite qui correspondait à mes besoins.
Mon site était très simple, pas de routeur qui réécrit les URLs et je ne gèrais pas les notions de Request/Reponse HTTP.
Nous étions toujours à la version 5.6 de PHP, donc encore peu de normes de code existaient.
Avant la fin de mon BTS, j'ai mis en ligne mon site sous le domaine https://guillongermain.fr.
Il n'a pas duré énormément car avec la fin de l'offre gratuite Hostinger, je n'ai pas reconduit mon site sur un autre hébergeur.
N'ayant pas de revenu, il m'était impossible de maintenir mon site, il n'est donc pas réapparu sur le web avant longtemps.
Je ne l'ai quasiment pas touché depuis, mes années 2016/2017 ont été prises par le passage de mon permis, du travail en intérim et de la veille technologique.
Ce n'est que vers 2018 que j'ai commencé à travailler en tant que DevOps, j'étais dans un environnement très motivant.
C'est à ce moment que le projet website re-naît, plusieurs années après mon diplôme, c'est là que j'ai décidé de reprendre le développement de mon site.
En parallèle, je travaille aussi sur mon projet de Framework et j'alterne entre les deux dès que je perds ma motivation sur un.
La découverte de beaucoup de technologies m'a fait refactoriser mon projet plusieurs fois.
Je compte dans ces découvertes, Composer, la conteneurisation avec Docker, les évolutions de PHP version 7 puis 8.
Elles sont trop nombreuses pour toutes les énoncées, mais celles citées ci-dessus sont les plus impactantes.
Des fonctionnalités qui n'existaient pas dans mes deux précédentes versions de site web ont fait leur apparition.
Une classe dédiée au Mail est apparue dans mon projet Framework qui a réduit le code nécessaire côté de mon site.
De même que les classes dédiées à la communication avec les systèmes de base de données, je les ai grandement améliorée pour qu'elles soient plus faciles à utiliser.
Cela réduit encore la quantité de côde nécessaire du côté de mon site, la page d'accueil n'existe pas aussi, je l'ai rajoutée pour me présenter.
L'ajout des classes de Logger m'a aussi permis de trouver plus facilement les problèmes lors du développement.
Une meilleure gestion de la configuration Apache m'a permis de mettre en place des URLs beaucoup plus faciles à lire, cela me permettra d'avoir un meilleur référencement.
Les conteneurs ont rajouté un environnement de tests plus proche de la réalité, ce qui a facilité le développement et la mise en production du site.
Tout ceci a conduit à la version finale de mon site sur lequel tu es actuellement, qui fait son retour sur le web après quasiment 7 ans.
Après plusieurs essais d'entre eux dont Wordpress pour les CMS et Zend pour les Framework, je me suis résilié.
Je n'étais pas satisfait de leur fonctionnement, donc j'ai décidé de le créer de A à Z.
Dans ma deuxième conception, j'ai abordé une structure MVC avec mes classes PHP de base directement dans un dossier core.
À cette époque je ne connaissais pas encore Composer, donc j'ai créé mon autoloader de classes à la main.
Avec mes contraintes en formation, j'ai réalisé le minimum utile dans le but d'achever et de d'héberger mon site rapidement.
Tant le backend que l'interface étaient très primaires, mais je l'ai quand même hébergé.
J'ai utilisé Hostinger comme hébergeur car il proposait une offre gratuite qui correspondait à mes besoins.
Mon site était très simple, pas de routeur qui réécrit les URLs et je ne gèrais pas les notions de Request/Reponse HTTP.
Nous étions toujours à la version 5.6 de PHP, donc encore peu de normes de code existaient.
Avant la fin de mon BTS, j'ai mis en ligne mon site sous le domaine https://guillongermain.fr.
Il n'a pas duré énormément car avec la fin de l'offre gratuite Hostinger, je n'ai pas reconduit mon site sur un autre hébergeur.
N'ayant pas de revenu, il m'était impossible de maintenir mon site, il n'est donc pas réapparu sur le web avant longtemps.
Je ne l'ai quasiment pas touché depuis, mes années 2016/2017 ont été prises par le passage de mon permis, du travail en intérim et de la veille technologique.
Ce n'est que vers 2018 que j'ai commencé à travailler en tant que DevOps, j'étais dans un environnement très motivant.
C'est à ce moment que le projet website re-naît, plusieurs années après mon diplôme, c'est là que j'ai décidé de reprendre le développement de mon site.
En parallèle, je travaille aussi sur mon projet de Framework et j'alterne entre les deux dès que je perds ma motivation sur un.
La découverte de beaucoup de technologies m'a fait refactoriser mon projet plusieurs fois.
Je compte dans ces découvertes, Composer, la conteneurisation avec Docker, les évolutions de PHP version 7 puis 8.
Elles sont trop nombreuses pour toutes les énoncées, mais celles citées ci-dessus sont les plus impactantes.
Des fonctionnalités qui n'existaient pas dans mes deux précédentes versions de site web ont fait leur apparition.
Une classe dédiée au Mail est apparue dans mon projet Framework qui a réduit le code nécessaire côté de mon site.
De même que les classes dédiées à la communication avec les systèmes de base de données, je les ai grandement améliorée pour qu'elles soient plus faciles à utiliser.
Cela réduit encore la quantité de côde nécessaire du côté de mon site, la page d'accueil n'existe pas aussi, je l'ai rajoutée pour me présenter.
L'ajout des classes de Logger m'a aussi permis de trouver plus facilement les problèmes lors du développement.
Une meilleure gestion de la configuration Apache m'a permis de mettre en place des URLs beaucoup plus faciles à lire, cela me permettra d'avoir un meilleur référencement.
Les conteneurs ont rajouté un environnement de tests plus proche de la réalité, ce qui a facilité le développement et la mise en production du site.
Tout ceci a conduit à la version finale de mon site sur lequel tu es actuellement, qui fait son retour sur le web après quasiment 7 ans.
Problèmes
Pendant mes 2 années de BTS, le manque de connaissance et l'inexpérience d'un tel sujet ont été mes plus gros problèmes.
Ensuite comme mon projet de Framework, la perte de motivation, les refactorings incessants l'ont remplacé.
À part ces problèmes, je n'ai pas rencontré d'autre chose, même si mon manque de créativité en termes d'UI/UX n'était pas à mon avantage.
Ensuite comme mon projet de Framework, la perte de motivation, les refactorings incessants l'ont remplacé.
À part ces problèmes, je n'ai pas rencontré d'autre chose, même si mon manque de créativité en termes d'UI/UX n'était pas à mon avantage.
Améliorations
Beaucoup d'améliorations sont possibles au niveau du design ou de l'UX.
L'une des améliorations qui est la plus pertinente est que je ne possède pas de backend pour l'administration.
Ajouter, modifier ou supprimer des données n'est pas possible depuis l'application elle-même.
Pour l'instant j'utiliserai un init container pour initier la base, pour des modifications je passerai par un phpMyAdmin lancé uniquement quand nécessaire.
Ce n'est pas très confortable, mais je n'ai pas besoin d'avoir une interface pour faire des modifications constamment, donc c'est suffisant pour le moment.
L'une des améliorations qui est la plus pertinente est que je ne possède pas de backend pour l'administration.
Ajouter, modifier ou supprimer des données n'est pas possible depuis l'application elle-même.
Pour l'instant j'utiliserai un init container pour initier la base, pour des modifications je passerai par un phpMyAdmin lancé uniquement quand nécessaire.
Ce n'est pas très confortable, mais je n'ai pas besoin d'avoir une interface pour faire des modifications constamment, donc c'est suffisant pour le moment.
Conclusion
Je suis très satisfait de ce que j'ai créé, même si la charte graphique ne plaît pas beaucoup quand je demande autour de moi.
J'ai pu faire appel à beaucoup de connaissances, de concepts et de technologies différentes.
Ce qui pour moi reste le fruit de mon travail et de ma fierté de développeur et de devOps.
J'ai pu faire appel à beaucoup de connaissances, de concepts et de technologies différentes.
Ce qui pour moi reste le fruit de mon travail et de ma fierté de développeur et de devOps.
Compétences
- Analyse du cahier des charges d'un service à produire
- Etude des exigences liées à la qualité attendue d'un service
- Rédaction des spécifications techniques de la solution retenue
- Evaluation des risques liés à l'utilisation d'un service
- Détermination des tests nécessaires à la validation d'un service
- Définition des niveaux d'habilitation associés à un service
- Test d'intégration et d'acceptation d'un service
- Définition des éléments nécessaires à la continuité d'un service
- Déploiement d'un service
- Participation à un projet
- Evaluation et maintien de la qualité d'un service
- Installation et configuration d'éléments d'infrastructure
- Remplacement ou mise à jour d'éléments défectueux ou obsolètes
- Proposition d'une solution applicative
- Conception ou adaptation de l'interface utilisateur d'une solution applicative
- Conception ou adaptation d'une base de données
- Définition des caractéristiques d'une solution applicative
- Prototypage de composants logiciels
- Gestion d'environnements de développement et de test
- Développement, utilisation ou adaptation de composants logiciels
- Réalisation des tests nécessaires à la validation d'éléments adaptés ou développés
- Rédaction d'une documentation technique
- Analyse et correction d'un dysfonctionnement
- Adaptation d'une solution applicative aux évolutions de ses composants
- Réalisation des tests nécessaires à la mise en production d'éléments mis à jour
- Mise à jour d'une documentation technique
- Mise en place d'une gestion de configuration
- Recueil d'informations sur une configuration et ses éléments
- Suivi d'une configuration et de ses éléments
- Evaluation d'un élément de configuration ou d'une configuration
- Evaluation d'un investissement informatique
- Exploitation des référentiels, normes et standards adoptés par le prestataire
- Veille technologique
- Repérage des compléments de formation ou d'auto-formation
- Etude d'une technologie, d'un composant, d'un outil ou d'une méthode
Compétences techniques





















Captures d'écran
Lien Externe
