← Retour au portfolio
Programmer · Niveau 3
Piloter un projet de développement d'une application R&T
Élaborer les spécifications, mettre en place un environnement collaboratif, sécuriser l'application.
Apprentissages Critiques
AC33.01AC33.02AC33.03AC33.04AC33.05AC33.06
AC33.01

Élaborer les spécifications techniques et le cahier des charges d'une application informatique

Ce que j'ai fait
À approfondir
Pourquoi je l'ai fait
À approfondir
Comment je l'ai fait
À approfondir
Mes difficultés
À approfondir
Ce que j'en ai appris
À approfondir
Ce que je ferais autrement
À approfondir
AC33.02

Mettre en place un environnement de travail collaboratif

SAÉ 1.04 · 1.05 · 2.03
Ce que j'ai fait
Dans mes projets de développement (SAÉ 1.04, 1.05, 2.03), j'ai utilisé Git/GitHub comme environnement de travail collaboratif pour versionner et partager le code.
Pourquoi je l'ai fait
L'objectif était de travailler dans un cadre permettant à plusieurs développeurs de contribuer au même projet sans perte de code.
Comment je l'ai fait
J'ai utilisé Git (add/commit/push) et GitHub pour héberger et partager les projets, en binôme ou en équipe.
Mes difficultés
La gestion des contributions simultanées et la résolution des conflits ont été les principaux défis.
Ce que j'en ai appris
J'ai compris l'importance d'un environnement collaboratif structuré pour tout projet de développement à plusieurs.
Ce que je ferais autrement
J'adopterais un vrai workflow Git (branches, pull requests, revue de code) pour professionnaliser la collaboration.
AC33.03

Participer à la formation des utilisateurs

Ce que j'ai fait
À approfondir
Pourquoi je l'ai fait
À approfondir
Comment je l'ai fait
À approfondir
Mes difficultés
À approfondir
Ce que j'en ai appris
À approfondir
Ce que je ferais autrement
À approfondir
AC33.04

Déployer et maintenir une solution informatique

SAÉ 2.03 · 1.04 · Projet personnel
Ce que j'ai fait
Dans la SAÉ 2.03, j'ai déployé une application web complète via Docker Compose ; dans la SAÉ 1.04, j'ai déployé ce portfolio. Surtout, je l'héberge aujourd'hui moi-même sur un VPS Ubuntu que j'administre, derrière un serveur web Nginx, avec mon propre nom de domaine et un certificat HTTPS Let's Encrypt.
Pourquoi je l'ai fait
L'objectif était de rendre une solution accessible en ligne et de la maintenir dans la durée, en maîtrisant toute la chaîne d'hébergement plutôt qu'en m'appuyant sur une plateforme clé en main.
Comment je l'ai fait
J'ai loué et configuré un VPS sous Ubuntu, installé et paramétré Nginx pour servir le site, relié mon nom de domaine via les enregistrements DNS, et sécurisé l'accès en HTTPS avec un certificat Let's Encrypt (renouvellement automatique). En parallèle, j'avais conteneurisé l'application de la SAÉ 2.03 avec Docker pour un déploiement reproductible.
Mes difficultés
Mettre en place toute la chaîne (DNS → serveur web → certificat TLS) de bout en bout, et obtenir un site joignable en HTTPS sans erreur de certificat, a demandé de comprendre chaque maillon et de les faire fonctionner ensemble.
Ce que j'en ai appris
J'ai appris à déployer et maintenir une solution sur une infrastructure que j'administre entièrement, et compris l'intérêt de maîtriser l'hébergement (serveur web, DNS, TLS) plutôt que de dépendre d'un service tiers.
Ce que je ferais autrement
J'automatiserais le déploiement (script ou pipeline CI/CD pour publier les mises à jour du site) et ajouterais une supervision du VPS pour être alerté en cas d'indisponibilité.
AC33.05

S'informer sur les évolutions et les nouveautés technologiques

Ce que j'ai fait
À approfondir
Pourquoi je l'ai fait
À approfondir
Comment je l'ai fait
À approfondir
Mes difficultés
À approfondir
Ce que j'en ai appris
À approfondir
Ce que je ferais autrement
À approfondir
AC33.06

Sécuriser l'environnement numérique d'une application

SAÉ 2.03
Ce que j'ai fait
Dans la SAÉ 2.03, j'ai sécurisé l'application web en hachant les mots de passe (Werkzeug) et en protégeant les routes sensibles par authentification (@login_required).
Pourquoi je l'ai fait
L'objectif était d'intégrer la sécurité dès la conception de l'application, et non comme une étape ajoutée après coup.
Comment je l'ai fait
J'ai utilisé generate_password_hash/check_password_hash pour ne jamais stocker de mot de passe en clair, et Flask-Login pour protéger l'accès aux pages réservées.
Mes difficultés
Bien comprendre le cycle de l'authentification et sécuriser correctement les accès a demandé de la rigueur.
Ce que j'en ai appris
J'ai appris les bases de la sécurité applicative (hachage, contrôle d'accès), directement reliées aux bonnes pratiques vues dans les certifications de la SAÉ 1.01.
Ce que je ferais autrement
J'ajouterais une protection contre les attaques web courantes (injection SQL via requêtes paramétrées, CSRF) pour renforcer davantage la sécurité.