DI/IoC, composer, npm/yarn
SOLID, ACID, DRY
OOP, MVC, DI
HTTP, HTTPS/TLS, REST, OAuth
monolithique, micro-services
EDA, SPA, MPA/SSR
documentation
normes, conventions, tests
conformité, audits, LDAP, SSO
DevOps, CI/CD
monitoring, mise à l’échelle
performances, mise à l’échelle
Gagner du temps sur les tâches communes/basiques/chronophages
Imposer un cadre commun pour l’ensemble des projets
Apporter des garanties en termes de sécurité, qualité et respest des bonnes pratiques
Besoins et contraintes du projet
Écosystème, communauté et antériorité
Choix structurant = choix important
Pas de solution miracle
Ne conditionne pas la qualité d'un projet
😀 Ressources | 😡 Contraintes |
---|---|
Environnement (toolchain/stack, SSO, SCM, CI, dépôts privés, etc.) | Temps + Budget (concurrence, rentabilité, coût, taille des équipes, etc.) |
Connaissances (documentation, normes et conventions, etc.) | Risques (conformité, sécurité, turnover/maladie, etc.) |
Équipes + Expertise (architecte applicatif, dba, PO, etc.) | Engagements (SLA / performances / mise à l’échelle) |
Nom | Langage | Fichier | Dépôt public | |
---|---|---|---|---|
Composer | PHP | composer.jsoncomposer.lock | packagist.org | |
NPM | Javascript | package.jsonpackage-lock.json | npmjs.com | |
Yarn | Javascript | package.jsonyarn.lock | npmjs.com | |
pip | Python | requirements.txt | pypi.org | |
Maven | Java | pom.xml | central.sonatype.org |
L’« Injection de dépendances » est un terme à 25 dollars pour un concept à 5 centimes. [...] L'injection de dépendances consiste à donner à un objet ses variables d'instance. [...].
— James Shore
Action | URL | Route | Nom |
---|---|---|---|
Page d’accueil | blog.fr/ | / | index |
Liste des posts | blog.fr/posts | /posts | posts_list |
Affichage du post #1 | blog.fr/posts/1 | /posts/1 | posts_show |
Malheureusement, peu importe la prudence que nous mettons lors de l'écriture de notre code, les erreurs sont un fait de la vie.
Enregistrer des informations lors de l'utilisation de l'application :
L'application gère le cycle de vie des utilisateurs (inscription/création → modification → suppression).
Adresse email/mdp, jeton par e-mail, WebAuthn, etc.
L’application reçoit des informations de la part du fournisseur d’identité.
Informations de mise à jour de l’utilisateur auprès du fournisseur d’identité (changement d’email, suppression du compte, etc.)
Certains protocoles vont plus loin (ex: déconnexion automatique)
Rôles et/ou permissions et/ou assignation explicite et/ou ...