LaForge

Un article de Agora2ia.

Version du 20 septembre 2012 à 06:18 par Jack (Discuter | Contributions)
(diff) ← Version précédente | voir la version courante (diff) | Version suivante → (diff)


Cette page est dédiée à la présentation de La Forge 2ia.net dans son ensemble : elle cherche à répondre aux questions « Pourquoi ? » , « Comment ? » et « Quoi ? ».


Voir la page LaForgePLP pour les détails pratiques et techniques... et LaForgeToBurn !


Sommaire

Pourquoi ?

Ayant pas mal de DVD, voire de plus en plus, cela fait quelques temps déjà que je souhaite réaliser une application permettant de gérer cette collection et intégrant quelques plus « perso » tels que un QCM sur les films, les acteurs..., une « borne d’accès » via PocketPc ou encore l'intégration d'un lecteur de code barres via le PocketPc (pour faciliter la gestion : prêts, location, nouvel achat...)...

Autre piste comme support de cette architecture : la Domotique.


Cette envie est donc le prétexte à l'utilisation à la fois d'outils permettant de rôder un processus « industriel » de développement informatique (c'est le « comment »), et à la fois un panel de technologies Java pour répondre aux divers besoin de l'application, voire en créer (c'est le quoi).

La forge est là pour centraliser tous ces efforts, formaliser les acquis et capitaliser le temps passé.


Comment ?

Travaillant depuis plusieurs années dans le monde de l'ExtremeProgramming, autant par chance que par conviction, il est naturel que ses principes et pratiques guident mes choix dans le processus de développement, et donc dans les outils.


L'éditeur intégré : Eclipse 3


La construction de projet :

  • A la fois Maven 1.1
  • ET Maven2
  • Faire un plugin Maven pour travailler sur les 2, voire un sur-plugin Eclipse... ou générer à chaque fois du Maven 2 à partir du Maven 1


L'intégration continue :


Le travail collaboratif :


Le gestionnaire de version : Subversion


La base de données : MySql


Les serveurs :

Le rôle des serveurs est multiple :

  • repository Subversion
  • déploiement Maven
  • repository Maven
  • serveur applicatif (faire fonctionner les applications)


Le firewall : KerioPersonalFirewall


La documentation : OpenOffice, DocBook et PDF.


Les facilitateurs, qui sont ces petits outils qui facilitent le développement en particulier, et l'utilisation de Windows en général :

  • Ecrans virtuels : Altdesk
  • raccourcis dossiers dans exporateur : Dirkey
  • Client FTP : FileZilla
  • Captures d'écran :
  • Raccourcis menu-contextuels :
  • Comparateur de fichiers :
  • Connexion sécurisé : Putty
  • Connexion à distance : UltraVNC
  • Barre de lancement :


Quoi ?

L'ensemble des technologies utilisées, sont toutes relatives au langage de développement Java, et cela pour plusieurs raisons.

Tout d’abord c’est en partie celles que j’utilise dans ma mission actuelle : cela me permet donc de me faire la main.

Je voulais un langage qui puisse me servir dans ma vie professionnelle, donc un langage à la fois utilisé maintenant, et utilisable plus tard.

Venant au départ du monde C++ (Cpp), j’ai grandement été séduit par Java : facilité du développement, de la quantité et de la qualité des outils et des librairies disponibles… C’est donc pour cela que j’ai préféré Java à Cpp par exemple.

La diversité des technologies disponibles dans le monde Java, permettent d’envisager quasiment tous les types d’applications, et donc de besoins.

Enfin, il est maintenant possible d’avoir une plateforme de développement Java entièrement OpenSource, couvrant l’intégralité de la chaîne de développement : le but ici est notamment d’identifier à la fois les meilleurs maillons (le meilleur outil dans chaque catégorie), mais aussi de garantir qu’il sont bien chaînables, que tous ces outils collaborent de manière efficace.


L'architecture logicielle

pdf # Image:LaForge-Architecture.svg # Image:LaForge-Architecture.sxi

LaForge-Architecture.gif


Problématiques

Etre capable de reproduire une plateforme de développement

  • Quels sont :
    • Les fichiers inchangés (ceux de l'installation de l'outil)
    • Et les fichiers modifiés (de configuration de l'outil, de l'application en développement...)
  • Pour être capable de reproduire la plateforme de développement on peut utiliser :
    • Un installeur comme NSIS
    • Une machine virtuelle comme VmWare


Projets simmilaires


Autres themes

DRH Manager

Le HR-XML Consortium :

Avec OpenOffice :

Les bases de données XML :