Choix technologiques - Gri097/ProjetDevWeb2TIG15 GitHub Wiki

BackEnd

Python

Python car langage typé dynamiquement, lisible et concis. Ce qui nous permettra d'être plus rapide lors du développement avec celui-ci.
Le faite que ce soit un nouveau langage nous attire aussi fortement, dans le but d'étendre nos compétences.

Django

Avec Django, on pourra faire passer notre application web au lancement plus rapidement. Car Django prend en charge une grande partie des tracas du développement web, on pourra donc plus se concentrer sur le développement.
En comparaison à Flask, Django nous offre beaucoup plus de librairies comme par exemple au niveau des formulaires qui pourront nous être utiles.

FrontEnd

Bootstrap

Le choix de Bootstrap nous a semblé le plus judicieux pour plusieurs raisons. A savoir que notre application s’utilisera principalement sur Smartphone, il nous permettra aisément d’adapter le design pour l’utilisation sur Smartphone.
De plus, il nous propose une très grande collection de composants.
Enfin, possède une très grande communauté sur qui nous pourront compter pour avoir de l’aide ou plus encore réutiliser les composants de la communauté.

Les différents choix possibles

Angular

Angular est un framework Javascript côté client qui permet de réaliser des applications de type "Single Page Application". Il est basé sur le concept de l'architecture MVC (Model View Controller) qui permet de séparer les données, les vues et les différentes actions que l'on peut effectuer.
Le code source d'Angular est écrit en TypeScript. Etant un language typé, il permet de créer des classes, des variables, des signatures de fonction et l'utilisation de modules.

Notre choix

React

Nous utiliserons dans le cadre ce projet React qui s’appuie sur une très importante communauté Open Source, ce qui est primordiale lors du développement de notre application.
Avec cette bibliothèque il est possible de développer en JavaScript classique, ce qui nous laisse une plus grande liberté lors du développement. A savoir que nous maitrisons aisément le Javascript.
Nous utiliserons aussi Flux et Redux afin de compléter au mieux React pour faire de celui-ci un réel framework.
De plus, React est beaucoup plus facile à apprendre qu’Angular, et n’agit que très peu sur le DOM car il utilise une DOM virtuel.
Concernant le développement mobile, le framework React Native sera utilisé.

Base de données

Les différents choix possibles

MariaDB

Lancé par les membres de l'équipe initiale de MySQL, MariaDB travaille activement avec des développeurs externes pour fournir le serveur SQL ouvert le plus complet, le plus stable et le plus sain de l'industrie. MariaDB est conçu comme un remplacement de MySQL(R) avec plus de fonctionnalités, de nouveaux moteurs de stockage, libre de source, moins de bogues et de meilleures performances.

PostegreSQL

PostgreSQL est un système de gestion de base de données relationnelle objet avancé qui prend en charge un sous-ensemble étendu de la norme SQL, y compris les transactions, les clés étrangères, les sous-requêtes, les déclencheurs, les types et les fonctions définis par l'utilisateur.

MySQL

Le logiciel MySQL offre un serveur de base de données SQL (Structured Query Language) très rapide, multithread, multi-utilisateurs et robuste. Le serveur MySQL est destiné aux systèmes de production critiques et à forte charge, ainsi qu'à l'intégration dans des logiciels déployés en masse.

Notre choix

MySQL

Nous utilisons donc MySQL car c'est un langage de requête structuré, gratuit (bien que certaines licences soit payantes), facile à prendre en main et est le plus largement utilisé.
MySQL étant le plus répandu pour les applications web, il nous suffira amplement à pouvoir insérer/retirer des points de biodiversités.