public class HelloAction extends Action { public ActionForward execute(ActionMapping mapping, …)
throws Exception { … return mapping.findForward("Hello EveryBody !!"); }}

lundi 23 janvier 2017

Git - C'est quoi ?

Git ?


Git est un logiciel de gestion de versions décentralisé. Il est conçu pour être efficace tant avec les petits projets, que les plus importants. Git a spécialement été créé pour le développement du noyau linux. Ce projet a débuté en 2005, Linus Torvalds voulait créer une alternative au logiciel propriétaire BitKeeper. Depuis, Git a beaucoup évolué et est utilisé par de nombreux projets. Contrairement à des outils comme svn ou cvs, Git fonctionne de façon décentralisée, c'est-à-dire que le développement ne se fait pas sur un serveur centralisé, mais chaque personne peut développer sur son propre dépôt. Git facilite ensuite la fusion (merge) des différents dépôts.

Quelles sont les particularités de Git ?
Par rapport aux autres gestionnaires de version, Git :
  • est très rapide ;
  • sait travailler par branches (versions parallèles d’un même projet) de façon très flexible ;
  • est assez complexe, il faut un certain temps d’adaptation pour bien le comprendre et le manipuler, mais c’est également valable pour les autres outils ;
  • est à l’origine prévu pour Linux. Il existe des versions pour Windows mais pas vraiment d’interface graphique simplifiée. Il est donc à réserver aux développeurs ayant un minimum d’expérience et… travaillant de préférence sous Linux.

Une des particularités de Git, c’est l’existence de sites web collaboratifs basés sur Git comme GitHub.
GitHub, par exemple, est très connu et utilisé par de nombreux projets : jQuery, Symfony, Ruby on Rails…
C’est une sorte de réseau social pour développeurs : vous pouvez regarder tous les projets évoluer et décider de participer à l’un d’entre eux si cela vous intéresse. Vous pouvez aussi y créer votre propre projet : c’est gratuit pour les projets open source et il existe une version payante pour ceux qui l’utilisent pour des projets propriétaires.

GitHub fournit le serveur où les développeurs qui utilisent Git se rencontrent. C’est un excellent moyen de participer à des projets open source et de publier votre projet !



Processus de développement en Y (Processus 2TUP)

Les processus unifiés :
Un processus unifié est un processus construit sur UML (Unified Modeling Language). Plus exactement ce sont les meilleures pratiques du développement objet suivies pour la réalisation d’un système.Un processus unifié se distingue par les caractéristiques suivantes (ROQUES, 2008) :
  • Itératif : Le logiciel nécessite une compréhension progressive du problème à travers desraffinements successifs et développer une solution effective de façon incrémentale par desitérations multiples.
  • Piloté par les risques : les causes majeures d’échec d’un projet logiciel doivent être écartéesen priorité.
  • Centré sur l’architecture : le choix de l’architecture logicielle est effectué lors des premières phases de développement du logiciel. La conception des composants du système est basée sur ce choix.
  • Conduit par les cas d’utilisation : le processus est orienté par les besoins utilisateurs présentés par des cas d’utilisation.
Dans la communauté objet et nouvelles technologies ils existent plusieurs processus unifiés envogue comme eXtreme Programming (XP) et Rational Unified Process (RUP). Dans notre étudeon a choisi
de travailler avec le processus 2TUP parce qu’il cible des projets de toute taille, et il apu faire une large place dans le domaine de la technologie et les risques des projets.

Le processus 2TUP :

Le processus 2TUP (Two Track Unified Process) est un processus unifié. Il gère la complexité technologique en donnant part à la technologie dans son processus de développement (Franck,2004)
.Le 2TUP propose un cycle de développement qui sépare les aspects techniques des aspects fonctionnels et propose une étude parallèle des deux branches : fonctionnelle (étude de l’application) et la technique (étude de l’implémentation). Illustré dans (Figure 1), le processus 2TUP s’articule autour de trois branches :
  • Une branche technique
  • Une branche fonctionnelle
  • Une branche de conception et réalisation.
La figure suivante détaille les étapes de développement des trois branches du processus 2TUP.

Figure 1 : L'approche 2TUP

La branche gauche (fonctionnelle) : capitalise la connaissance du métier de l’entreprise. Elle constitue généralement un investissement pour le moyen et le long terme.
Les fonctions du système d’information sont en effet indépendantes des technologies utilisées.
Cette branche comporte les étapes suivantes :
·        La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le métier des utilisateurs.
·        L’analyse.


La branche droite (architecture technique) : capitalise un savoir-faire technique. Elle constitue un investissement pour le court et moyen terme. Les techniques développées pour le système peuvent l’être en effet indépendamment des fonctions à réaliser.
Cette branche comporte les étapes suivantes :
·        La capture des besoins techniques.
·        La conception générique.


La branche du milieu : à l’issue des évolutions du modèle fonctionnel et de l’architecture technique, la réalisation du système consiste à fusionner les résultats des 2 branches. Cette fusion conduit à l’obtention d’un processus en forme de Y.
Cette branche comporte les étapes suivantes :
·        La conception préliminaire.
·        La conception détaillée.
·        Le codage.
·        L’intégration.