-
Notifications
You must be signed in to change notification settings - Fork 3
choixtechno
Dans ce document sont décrits les choix technologiques concernant :
- Gestionnaire de version
- Forge
- Langage de programmation
- Environnement de développement
- Fonctionnement distribué (≠centralisé, ce qui exclut SVN, CVS et autres)
- Permet de travailler même sans connexion Internet
- En cas de fermeture de la forge ou crash d’un disque dur, le contenu est répliqué ailleurs
- Utilisation répandue
- Gratuité pour tous les membres du groupe
- Interaction par interface graphique et par ligne de commande
- Git
- Mercurial
- Bazaar
La solution choisie est Git, cela surtout car il est populaire. Ce faisant, de nombreux tutoriels sont disponibles sur le Web.
- Accès depuis l’école et depuis la maison
- Système de Wiki ou similaire
- « Bug tracker »
- Possibilité de self-administration
- Pas besoin de demander pour créer un dépôt, etc.
- Visualisation du dépôt via une interface Web
- Compatibilité avec Git
- Rubrique d’aide disponible
- Stabilité du service + rapidité
- Github version « Organizations »
- Redmine de l’école
- Sourceforge
Pour ce point, Sourceforge a été rapidement enlevé, cela à cause de son architecture dite « usine à gaz ». En effet, le service est très lent à l’utilisation. De plus, son interface est si complète qu’il est difficile de s’y retrouver. Notre choix s’est finalement porté sur Github, car il nous permet une certaine indépendance, notamment en matière de configuration. Il se trouve également que son interface est très épurée, mais sans implication sur le nombre de fonctionnalités.
- Orienté objet
- Populaire (= Documentation abondante)
- Facile à apprendre et à utiliser
- Possibilité de faire des fenêtres graphiques (GUI) à l’aide d’une bibliothèque externe ou intégrée au langage.
- Compatible avec au moins Windows
- C#
- Java
- C++
Ces trois langages ont été retenus car ils conviennent tous aux critères que nous avons fixés. Cependant, le langage final retenu est Java, car il est facile à apprendre et à utiliser. Ce qui vient le distinguer de C# est la popularité du langage : en effet, peu de ressources - hormis MSDN – sont disponibles sur Internet. Cela rend autrement plus compliqué toutes les phases impliquant une recherche. Ce qui a fait pencher la balance du côté de Java au détriment de C++ est sa facilité. Le système de ramasse-miettes de Java rend nettement plus facile la gestion de la mémoire, et évite de perdre du temps sur des problèmes de pointeurs etc.
- Gratuit pour chaque membre du groupe
- Compatible Windows
- Intégration de notre gestionnaire de version (Git) dans l’IDE
- Concepteur de fenêtres disponible
- Possibilité de coder en Java
- Eclipse
- NetBeans
Concernant l’IDE, le choix s’est fait à la majorité des personnes présentes le 17 octobre 2011 à 14:30. Notre choix s’est porté sur Eclipse, principalement car Git y est bien supporté.
- Accessibles en Java
- Facile à utiliser
- Concepteur de fenêtres disponible (sous Eclipse de préférence)
- Bien documenté
- QT + GLUT
- Swing
- AWT
- JWT
QT n'a pas été retenu, car il n'est pas très adapté à Java, mais plutôt à C++. Les autres librairies sont les 3 totalement conçues pour Java. Swing a été retenu, car il est le plus populaire et le plus stable des trois.
Nos différents choix se portent sur :
- Pour le gestionnaire de version : Git
- Pour la forge : Github
- Pour le langage de programmation : Java
- Pour l'environnement de développement : Eclipse
- Pour la librairie graphique : Swing
Document réalisé par Sébastien Vaucher