Choix technologiques - MorganHolsters/Dev-Web-3-2024 GitHub Wiki

Résumé coaching 2c

+ Le langage ou le framework choisi pour le backend, puis pour le frontend est décrit. Il s'agit de technologies "intéressantes" dans le cadre du projet.
+ Les spécificités de la technologie choisie sont mises en avant : avantages / inconvénients et comparaison avec minimum deux technologies concurrentes.  

1. Backend

[Technologies choisies avec justification]

1.1 Justification du choix

[Cette justification (et toutes celles qui suivent) doit être argumentée avec indication des sources utilisées (par ex. lien vers la biblio spécifiant le n° de la ressource). Elle doit mentionner les technologies concurrentes et indiquer en quoi celle choisie se démarque des autres. Le choix effectué ne doit pas être trivial.

Exemples de ce qu'il ne faut pas faire : "Nous avons choisi Django"

  • "parce que nous avons fait du Python en Q1 "
  • "parce que nous avions envie d'apprendre cette technologique "
  • "parce que c'est une technologie très utilisée sur Internet ]

2. Backend : base de données

Nous avons choisi Express et MySql.

2.1 Justification du choix

N'ayant très peu de connaissances en programmation Backend, nous nous sommes tournés vers Express qui est un framework minimaliste et flexible pour Node.js, ce qui le rend facile à apprendre et à utiliser. Il permet de créer rapidement des applications web robustes avec un minimum de code.

De plus, MySQL est une base de données relationnelle largement utilisée qui offre une syntaxe SQL familière.

N'étant pas sur de nous quant aux besoins et à la taille de notre application, nous avons également choisi Express pour son évolutivité. Il offre des fonctionnalités telles que la gestion des routes, la gestion des requêtes HTTP et la prise en charge de middleware, ce qui facilite la mise à l'échelle de l'application en fonction des besoins.

Express et MySQL sont largement utilisés dans l'industrie, ce qui signifie qu'il existe de nombreuses ressources, tutoriels et bibliothèques disponibles pour faciliter le développement

3. Frontend

Nous avons choisi Angular.

3.1 Justification du choix

Angular possède une structure optimale pour le développement d'applications web. Cette structure est facilement compréhensible et permet une organisation facile de son code.

Angular utilise le binding de données bidirectionnel, les modifications apportées à l'interface utilisateur sont automatiquement reflétées dans le modèle de données et vice versa. Cela simplifie la gestion de l'état de l'application et améliore l'expérience de développement.

Ayant aimé le développement en JavaScript, nous avons voulu aller plus loin et Angular étant écrit en TypeScript, cela nous a permis de découvrir les fonctionnalités de typage statiques ajoutés au Javascript.

Nous trouvions cela plus aisé de voir en temps réel les changements apportés à l'application. Angular détecte automatiquement les changements et met à jour les interfaces.

De plus, Angular optimise le chargement initial de l'application grâce à sa fonctionnalité de "lazy loading".

4. Autres choix