<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Everything is wrong &#187; git</title>
	<atom:link href="http://everythingiswrong.free.fr/index.php/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://everythingiswrong.free.fr</link>
	<description>Un blog dédié à l&#039;informatique en général</description>
	<lastBuildDate>Wed, 06 Oct 2021 21:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>JSF Charts : graphiques avec JSF</title>
		<link>http://everythingiswrong.free.fr/index.php/2013/01/31/jsf-charts-graphiques-avec-jsf/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2013/01/31/jsf-charts-graphiques-avec-jsf/#comments</comments>
		<pubDate>Thu, 31 Jan 2013 21:32:49 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[GIT]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=2022</guid>
		<description><![CDATA[JSFCharts : des graphiques en JSF basés sur Highcharts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Cela fait longtemps que je souhaite consacrer un article sur les graphiques en JSF. Après avoir essayé plusieurs solutions je n&#8217;ai été convaincu par aucune librairie. Il me semble que la plus intéressante est la solution proposée par <a href="http://www.primefaces.org/">PrimeFaces</a>. Ce que je n&#8217;aime pas dans cette approche c&#8217;est d&#8217;utiliser les classes spécifiques de la librairie JSF pour décrire les séries et non des collections simples. De plus, je ne trouve pas les graphiques très dynamiques. En tout cas pas à la hauteur des librairies Javascripts ou Flex qui existent actuellement.</p>
<p>Deux librairies Javascipts me semblent très performantes d&#8217;un point de vue utilisateur et développeur :</p>
<ul>
<li><a href="http://www.amcharts.com/">amCharts</a> :</li>
<ul>
<li>graphiques dynamiques, diversifiés, professionnels</li>
<li>licence gratuite</li>
</ul>
<li><a href="http://www.highcharts.com/">Highchart</a> :</li>
<ul>
<li>graphiques dynamiques, diversifiés, professionnels</li>
<li>approche déclarative des graphiques</li>
<li>licence nécessaire selon le type d&#8217;utilisation</li>
</ul>
</ul>
<p style="text-align: justify;">C&#8217;est l&#8217;approche déclarative des graphiques qui m&#8217;a convaincue de la fiabilité d&#8217;une librairie JSF basée sur Hightchart. On retrouve le même principe déclaratif dans les interfaces xhtml proposées par JSF. Je me suis donc lancé dans la création de cette librairie qui est un wrapper JSF de Highchart : <a title="jsfcharts" href="https://github.com/yanLanglois/jsfcharts" target="_blank">jsfcharts</a>. La demo ce trouve hébergée ici : <a title="showcase de jsfcharts" href="http://showcase-jsfcharts.rhcloud.com/home.jsf">http://showcase-jsfcharts.rhcloud.com/home.jsf</a>.</p>
<p style="text-align: justify;">Mon objectif : proposer une solution efficace à développer, agréable à utiliser et compatible avec plusieurs systèmes (PC, mobile, multi-navigateurs). C&#8217;est à dire :</p>
<ul>
<li>Rapide : peu de lignes à coder</li>
<li>Simple :</li>
<ul>
<li>objets simples sans préparation</li>
<li>Utilisation transparente de la librairie</li>
</ul>
</ul>
<p style="text-align: justify;">Au final, créer un graphique dynamique en JSF est presque aussi simple que créer un tableau (h:dataTable). Par exemple, pour le graphique ci-dessous, il faut écrire ce fichier xhtml et cette classe java :</p>
<pre class="brush: xhtml; gutter: true; first-line: 1">&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:jsfcharts="http://everythingiswrong.org/jsfcharts"
   template="/WEB-INF/templates/default.xhtml"&gt;
   &lt;ui:define name="content"&gt;
       &lt;jsfcharts:chart id="test" marginRight="130" marginBottom="25"&gt;
          &lt;jsfcharts:title text="Monthly Average Temperature" /&gt;
          &lt;jsfcharts:subtitle text="Source: WorldClimate.com" /&gt;
          &lt;jsfcharts:xAxis categories="#{chartBean.abscisse}" /&gt;
          &lt;jsfcharts:yAxis&gt;
          &lt;jsfcharts:title text="Temperature (˚C)" /&gt;
          &lt;/jsfcharts:yAxis&gt;
          &lt;jsfcharts:legend layout="vertical" align="right" verticalAlign="top" x="-10" y="100" borderWidth="0"/&gt;
          &lt;jsfcharts:tooltip valueSuffix="˚C" /&gt;
          &lt;jsfcharts:series&gt;
              &lt;jsfcharts:serie label="Tokyo" value="#{chartBean.tokyo}" /&gt;
              &lt;jsfcharts:serie label="New York" value="#{chartBean.newYork}" /&gt;
              &lt;jsfcharts:serie label="Berlin" value="#{chartBean.berlin}" /&gt;
              &lt;jsfcharts:serie label="London" value="#{chartBean.london}" /&gt;
          &lt;/jsfcharts:series&gt;
       &lt;/jsfcharts:chart&gt;
...
&lt;/ui:composition&gt;</pre>
<pre class="brush: java; gutter: true; first-line: 1">package org.everythingiswrong.jsf.jsfchartsdemo;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.enterprise.inject.Model;

@Model
public class ChartBean {

   private Double[] tokyo;
   private Double[] newYork;
   private Double[] berlin;
   private Double[] london;
   private List&lt;String&gt; abscisse;

   // Getter, Setter  ...

   @PostConstruct
   public void initialize() {
      tokyo = new Double[] {7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6};
      newYork = new Double[] {-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5};
      berlin = new Double[] {-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0};
      london = new Double[] {3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8};
      abscisse = Arrays.asList(new String[] {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"});
   }
}</pre>
<p style="text-align: center;"><img class="aligncenter" style="border: 1px solid black;" src="http://everythingiswrong.free.fr/wp-content/uploads/jsfcharts.jpg" alt="" width="552" height="411" /></p>
<p style="text-align: justify;">Pour aller plus loin, je vous invite à visiter le projet github de JSFCharts : <a href="https://github.com/yanLanglois/jsfcharts">https://github.com/yanLanglois/jsfcharts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2013/01/31/jsf-charts-graphiques-avec-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hébergement Subversion, Git et Trac gratuit</title>
		<link>http://everythingiswrong.free.fr/index.php/2010/02/13/hebergement-subversion-git-et-trac-gratuit/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2010/02/13/hebergement-subversion-git-et-trac-gratuit/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 21:13:01 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Gestion de configuration]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hébergement]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=72</guid>
		<description><![CDATA[Découverte d'un hébergement gratuit SVN ou Git avec Trac]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/trac-subversion.png" style="margin-right:5px;" border="0" alt="" width="128" height="90" align="left" />Voici un site internet très intéressant pour les développeurs qui souhaitent débuter un projet gratuitement sur internet avec une gestion de contrôle (subversion ou git) et un site incluant entre autre un wiki et un bug tracker. Oui, oui tout cela gratuitement : <a href="http://www.assembla.com" target="_blank">http://w</a><a href="http://www.assembla.com" target="_blank">ww.assembla.com</a></p>
<p style="text-align: justify;">Ce site propose en plus de ces offres d&#8217;hébergement payantes une offre dite &#8220;Free Public Plan&#8221;. Vous avez le choix entre plusieurs types de &#8220;workspace&#8221; :</p>
<ul>
<li style="text-align: justify;">Subversion Hosting with Integrated Tickets : une solution assembla avec un système de ticket et de reporting pour le projet (style de GForge ou Trac &#8220;assembla made&#8221;)</li>
<li style="text-align: justify;">Team collaboration : une solution qui permet de coordonner une équipe</li>
<li style="text-align: justify;">Trac and Subversion Hosting : Trac et subversion</li>
<li style="text-align: justify;">Subversion Repository : seulement Subversion</li>
<li style="text-align: justify;">Git with Integrated Tickets : la même solution que la première en remplaçant Subversion par Git</li>
</ul>
<p align="center">&nbsp;</p>
<p style="text-align: justify;">Après avoir créer un compte il est possible de se créer plusieurs workspaces différents.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2010/02/13/hebergement-subversion-git-et-trac-gratuit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
