Étiquette : ViaXeo

Caption Panel GWT

Les contraintes ergonomiques des IHM d’applications professionnelles sont bien plus souples que celles qui régissent la conception de portails de ventes en ligne.
L’offre Viaxeo proposant un moteur de génération de sites e-business intégrés in extenso dans son CRM multicanal, nous avons du développer les outils nous permettant de répondre efficacement aux canons graphiques actuels afin de nous conformer aux chartes graphiques de nos clients.

Le premier obstacle rencontré était inhérent à la physionomie rudimentaire de nos panels de bases. Point de formes géographiques fantaisistes ni d’habillage recherché sans passer par l’utilisation manuelle, au cas par cas, de groupes de widgets englobant et de feuilles de style.

GWT propose de palier à ces difficultés via le DecoratorPanel, un widget à 9 « conteneurs », 8 panels périphériques destinés à accueillir images et styles, et un SimplePanel central dévolu à l’ajout de contenu.
En voici un exemple d’utilisation. Le but initial étant de créer un Caption Panel à bords arrondis, dont le style du titre soit paramétrable.

public class CaptionPanel extends Composite {private VerticalPanel absolutePanel;
private DecoratorPanel titlePanel;
private DecoratorPanel bodyPanel;
private VerticalPanel verticalPanel;
private HorizontalPanel horizontalPanel;
public CaptionPanel(int width, int height, int titleWidth, int titleHeight, String title){
this(width, height, null, titleWidth, titleHeight, title, null);
}

public CaptionPanel(int width, int height, String style, int titleWidth, int titleHeight, String title, String titleStyle){
absolutePanel = new VerticalPanel();
titlePanel = new DecoratorPanel();
bodyPanel = new DecoratorPanel();
verticalPanel = new VerticalPanel();
horizontalPanel = new HorizontalPanel();
horizontalPanel.
setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
absolutePanel.
setSize(width+"px", (height + titleHeight)+"px");
if (titleStyle != null){
horizontalPanel.setStyleName(titleStyle);
titlePanel.setStyleName(titleStyle);
}
if (style != null){
bodyPanel.setStyleName(style);
}

titlePanel.setSize(titleWidth+"px", titleHeight+"px");
titlePanel.add(new Label(title));
bodyPanel.setSize(width+"px", (height-titleHeight/2)+"px");
bodyPanel.add(verticalPanel);
horizontalPanel.add(titlePanel);
absolutePanel.add(horizontalPanel);
absolutePanel.add(bodyPanel);
initWidget(absolutePanel);
}

public void addTitleStyle(String style){
horizontalPanel.setStyleName(style);
titlePanel.addStyleName(style);
}

public void addBodyStyle(String style){
bodyPanel.addStyleName(style);
}

public void addContent(Widget content){
verticalPanel.add(content);
}

public void clearContent(){
verticalPanel.clear();
}

Voici quelques exemples de rendu :

Caption Panel

Organisation et méthodologie Scrum

Quelques retours sur notre organisation avec la méthode Scrum.

Nous avons mis en place la méthodologie Agile Scrum dès le début du projet de développement de l’offre ViaXeo.

Cette démarche est issue d’un constat sur nos vies antérieures et plus particulièrement sur les méthodologies de projets classiques. Ces dernières, souvent lourdes à mettre en œuvre et consommatrices de temps, ne nous permettaient pas d’obtenir les résultats escomptés.

Les phases de spécifications détaillées sont souvent lourdes, la validation des clients est partielle et le résultat ne correspond pas souvent aux attentes du client… et les problèmes commencent.

Dans un contexte tel que ViaXoft, jeune startup dynamique dans le tourisme, en pleine création d’une nouvelle application, nous avons décidé de mettre en place Scrum pour plus d’agilité.

Le principe de Scrum (mêlée en anglais) est de motiver une équipe autour d’un objectif commun pour réaliser ce dernier sur une courte période appelée Sprint.

Nous avançons donc au rythme de sprints de 2 semaines en nous focalisant sur des objectifs précis à chaque fois.

Après une petite phase de réglage, Scrum nous permet maintenant d’obtenir des résultats rapidement avec des premières fonctionnalités et des écrans clés de l’application.

Au début de chaque sprint, l’équipe s’engage sur la réalisation d’un objectif défini par le product Owner sous la forme d’un product backlog priorisé (liste de fonctionnalités). Le sprint est rythmé tous les jours par le « Scrum Meeting » où chaque personne de l’équipe explique ce qu’il a traité la veille, s’engage sur ce qu’il va faire aujourd’hui et expose les différents problèmes qu’il a pu rencontrer.

A la fin du sprint, le product Owner valide ou non les résultats lors de la présentation faite par l’équipe (Revue de Sprint).

La rétrospective qui suit la revue permet d’identifier ce qui a marché ou non sur le sprint et permet de mettre en place des actions correctives pour le sprint suivant.

Au-delà des aspects organisation interne, Scrum nous offre aussi plus d’agilité au niveau de l’implication client. Nous pouvons les faire participer plus activement à la construction du produit ViaXeo en leur montrant périodiquement les résultats obtenus par rapport à leurs attentes.

Pour conclure, je dirai que pour l’instant nous n’avons que des résultats positifs qui nous encouragent à continuer sur l’agilité et la méthode Scrum ….

A suivre

Loading...
X