qsos-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qsos-commits] qsos/sheet/ORM-java Hibernate/Hibernate-3.6.5_f...


From: Raphaël Semeteys
Subject: [Qsos-commits] qsos/sheet/ORM-java Hibernate/Hibernate-3.6.5_f...
Date: Tue, 29 May 2012 12:54:27 +0000

CVSROOT:        /sources/qsos
Module name:    qsos
Changes by:     Raphaël Semeteys <rsemeteys>    12/05/29 12:54:27

Added files:
        sheet/ORM-java/Hibernate: Hibernate-3.6.5_fr.qsos 
        sheet/ORM-java/myBatis: mybatis-3.0_fr.qsos 
        sheet/ORM-java/template: ORM-Java_fr.qsos 
        sheet/ORM-java/Torque: Torque-3.3_fr.qsos 

Log message:
        ORM for Java

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/Hibernate/Hibernate-3.6.5_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/myBatis/mybatis-3.0_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/template/ORM-Java_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/Torque/Torque-3.3_fr.qsos?cvsroot=qsos&rev=1.1

Patches:
Index: Hibernate/Hibernate-3.6.5_fr.qsos
===================================================================
RCS file: Hibernate/Hibernate-3.6.5_fr.qsos
diff -N Hibernate/Hibernate-3.6.5_fr.qsos
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ Hibernate/Hibernate-3.6.5_fr.qsos   29 May 2012 12:54:25 -0000      1.1
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+   <header>
+      <authors></authors>
+      <dates>
+         <creation></creation>
+         <validation></validation>
+      </dates>
+      <appname>Hibernate</appname>
+      <desc></desc>
+      <release>3.6.5</release>
+      <licenseid>32</licenseid>
+      <licensedesc>GNU LGPL</licensedesc>
+      <url>http://www.hibernate.org/</url>
+      <demourl></demourl>
+      <language>fr</language>
+      <qsosappname></qsosappname>
+      <qsosformat>1.0</qsosformat>
+      <qsosspecificformat></qsosspecificformat>
+      <qsosappfamily>ORM Java</qsosappfamily>
+   </header>
+   <section name="generic" title="Maturité">
+      <element name="maturity" title="Patrimoine">
+         <desc>Historique et patrimoine du projet</desc>
+         <element name="age" title="Age du projet">
+            <desc0>Inférieur à trois mois</desc0>
+            <desc1>Entre trois mois et trois ans</desc1>
+            <desc2>Supérieur à trois ans</desc2>
+            <comment>2001 : http://www.hibernate.org/about/history</comment>
+            <score>2</score>
+         </element>
+         <element name="historyknowproblems" title="Historique">
+            <desc0>Le logiciel connaît de nombreux problèmes qui peuvent 
être rédhibitoires</desc0>
+            <desc1>Pas de problèmes majeurs, ni de crise ou historique 
inconnu</desc1>
+            <desc2>Bon historique de gestion de projet et de crise</desc2>
+            <comment>http://fr.wikipedia.org/wiki/Hibernate#Historique :
+Groupe de développeur dirigé par Gavin King puis JBoss puis red hat avec 
embauche des principaux développeurs initiaux.
+
+http://www.hibernate.org/about/history : 
+Hibernate was started in 2001 by Gavin King as an alternative to using 
EJB2-style entity beans.  Its mission back then was to simply offer better 
persistence capabilities than offered by EJB2 by simplifying the complexities 
and allowing for missing features.
+
+Early in 2003, the Hibernate development team began Hibernate2 releases which 
offered many significant improvements over the first release and would go on to 
catapult HIbernate as the &quot;de facto&quot; standard for persistence in 
Java...
+
+Hibernate3, JPA, etc...
+</comment>
+            <score>2</score>
+         </element>
+         <element name="developersidentificationturnover" title="Equipe de 
développement">
+            <desc0>Très peu de développeurs identifiés ou développeur 
unique</desc0>
+            <desc1>Quelques développeurs actifs</desc1>
+            <desc2>Equipe de développement importante et identifiée</desc2>
+            <comment>http://www.ohloh.net/p/hibernate/contributors?page=1
+Plus d&apos;une centaine de développeurs (une quinzaine très actif (+ de 100 
commits depuis 5 an), les autres commits occasionnels).
+Leader identifié
+
+http://www.ohloh.net/p/hibernate/factoids/6268875</comment>
+            <score>2</score>
+         </element>
+         <element name="popularity" title="Popularité">
+            <desc0>Très peu d&apos;utilisateurs identifiés</desc0>
+            <desc1>Usage décelable</desc1>
+            <desc2>Nombreux utilisateurs et références</desc2>
+            <comment>http://www.ohloh.net/p/hibernate : 893 users
+http://community.jboss.org/wiki/WhoUsesHibernate : liste non exhaustive 
d&apos;une cinquantaine de projets qui utilisent hibernate</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="activity" title="Activité">
+         <desc>Activité du et autour du projet</desc>
+         <element name="contributingcommunity" title="Communauté des 
contributeurs">
+            <desc0>Pas de communauté ou de réelle activité (forum, liste de 
diffusion…)</desc0>
+            <desc1>Communauté existante avec une activité notable</desc1>
+            <desc2>Communauté forte : grosse activité sur les forums, de 
nombreux contributeurs et défenseurs</desc2>
+            <comment>Grosse équipe de développement (même si pas tous très 
actif, cf. équipe de développement).
+
+De nombreuses présentation, citations, turoriaux 
(http://www.slideshare.net/search/slideshow?q=hibernate,http://it.toolbox.com/blogs/lim/3-reasons-for-why-should-you-use-hibernate-3863,
 http://gfx.developpez.com/tutoriel/java/hibernate/)
+
+Nombreux livres aussi (http://www.hibernate.org/docs/books.html, 
http://www.amazon.fr/s/ref=nb_sb_noss?__mk_fr_FR=%C5M%C5Z%D5%D1&amp;url=search-alias%3Dstripbooks&amp;field-keywords=hibernate&amp;x=0&amp;y=0)
+
+Bonne activité :
+forum (https://forum.hibernate.org/)
+chat(http://www.hibernate.org/community/irc)
+twitter(http://twitter.com/#!/hibernate), mailling 
lists(http://www.hibernate.org/community/mailinglists)
+blog(http://in.relation.to/)
+wiki(http://community.jboss.org/en/hibernate)</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonbugs" title="Activité autour des bugs">
+            <desc0>Réactivité faible sur le forum ou sur la liste de 
diffusion, ou rien au sujet des corrections de bugs dans les notes de 
versions</desc0>
+            <desc1>Activité détectable mais sans processus clairement 
exposé, temps de résolution long</desc1>
+            <desc2>Forte réactivité, basée sur des rôles et des 
assignations de tâches</desc2>
+            
<comment>http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel
+
+Mais attention : 56% bugs fermés (3465) et 40% de bugs encore ouvert (2503) 
et 2769 tickets non résolus
+
+processus qualité de déclaration des bugs (testCase, patch...) : 
http://www.hibernate.org/issuetracker</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonfunctionalities" title="Activité autour des 
fonctionnalités">
+            <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+            <desc1>Évolution du produit conduite par une équipe dédiée ou 
par des utilisateurs, mais sans processus clairement exposé</desc1>
+            <desc2>Les requêtes pour les nouvelles fonctionnalités sont 
clairement outillées, feuille de route disponible</desc2>
+            <comment>roadmap générale : 
http://community.jboss.org/wiki/HibernateRoadmap
+
+roadmap liée au gestionnaire de bug JIRA : 
http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel
+
+</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonreleases" title="Activité sur les 
releases/versions">
+            <desc0>Très faible activité que ce soit sur les versions de 
production ou de développement (alpha, beta)</desc0>
+            <desc1>Activité que ce soit sur les versions de production ou de 
développement (alpha, beta), avec des versions correctives mineures 
fréquentes</desc1>
+            <desc2>Activité importante avec des versions correctives 
fréquentes et des versions majeures planifiées liées aux prévisions de la 
feuille de route</desc2>
+            <comment>Plusieurs versions développées en parallèles, releases 
fréquentes et définies dans le temps :
+
+http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel
+
+http://opensource.atlassian.com/projects/hibernate/secure/Dashboard.jspa</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="strategy" title="Gouvernance">
+         <desc>Stratégie du projet</desc>
+         <element name="copyrightowners" title="Détenteur des droits">
+            <desc0>Les droits sont détenus par quelques individus ou entités 
commerciales</desc0>
+            <desc1>Les droits sont détenus par de nombreux individus de 
façon homogène</desc1>
+            <desc2>Les droits sont détenus par une entité légale, une 
fondation dans laquelle la communauté a confiance (ex: FSF, Apache, 
ObjectWeb)</desc2>
+            <comment>Droit détenu Red Hat (Copyright (c) 2010, Red Hat Inc) : 
https://github.com/hibernate/hibernate-core/blob/master/hibernate-core/src/main/java/org/hibernate/action/internal/BulkOperationCleanupAction.java</comment>
+            <score>0</score>
+         </element>
+         <element name="roadmap" title="Feuille de route">
+            <desc0>Pas de feuille de route publiée</desc0>
+            <desc1>Feuille de route sans planning</desc1>
+            <desc2>Feuille de route versionnée, avec planning et mesures de 
retard</desc2>
+            <comment>cf Activité sur les releases.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_740641571" title="Pilotage du projet">
+            <desc0>Pas de pilotage clair du projet</desc0>
+            <desc1>Pilotage dicté par un seul individu ou une entité 
commerciale</desc1>
+            <desc2>Indépendance forte de l&apos;équipe de développement, 
droits détenus par une entité reconnue</desc2>
+            <comment>Pilotage par Red Hat mais difficile de savoir quel est le 
degrés de liberté de l&apos;équipe de développement.</comment>
+            <score>1</score>
+         </element>
+         <element name="ID_548761152" title="Mode de distribution">
+            <desc0>Existence d&apos;une distribution commerciale ou 
propriétaire ou distribution libre limitée fonctionnellement</desc0>
+            <desc1>Sous-partie du logiciel disponible sous licence 
propriétaire (Coeur / Greffons...)</desc1>
+            <desc2>Distribution totalement ouverte et libre</desc2>
+            <comment>&quot;The use of the unmodified Hibernate binary of 
course never affects the license of your application or distribution. You will 
never have to pay money to any commercial entity for using or integrating 
Hibernate.&quot; (http://www.hibernate.org/license)
+
+http://www.hibernate.org/downloads</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="industrializedsolution" title="Industrialisation">
+         <desc>Niveau d&apos;industrialisation du projet</desc>
+         <element name="services" title="Services">
+            <desc>Offres de services (Support, Formation, Audit...)</desc>
+            <desc0>Pas d&apos;offre de service identifiée</desc0>
+            <desc1>Offre existante mais restreinte géographiquement ou en une 
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+            <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de 
résultats</desc2>
+            <comment>Nombreuses formations (Red Hat, Valtech, Zenicka...)
+
+Compétences souvent retrouvé chez les développeurs Java donc 
potentiellement les SSII (Atos, Cap, Xebia...). Par conséquent les parties 
support (SLL OSC) et audit se trouvent aisément.
+Red Hat peut aussi effectuer ces services.  </comment>
+            <score>2</score>
+         </element>
+         <element name="documentation" title="Documentation">
+            <desc0>Pas de documentation utilisateur</desc0>
+            <desc1>La documentation existe mais est en partie obsolète ou 
restreinte à une seule langue ou peu détaillée</desc1>
+            <desc2>Documentation à jour, traduite et éventuellement adaptée 
à différentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+            <comment>Différentes documentations pour les 2 dernières 
versions de Hibernate dans plusieurs format. Certains documents existent en 
plusieurs langues (http://www.hibernate.org/docs.html) </comment>
+            <score>2</score>
+         </element>
+         <element name="qualityassurance" title="Méthode qualité">
+            <desc>Processus et méthode qualité</desc>
+            <desc0>Pas de processus qualité identifié</desc0>
+            <desc1>Processus qualité existant, mais non formalisé ou non 
outillé</desc1>
+            <desc2>Processus qualité basé sur l&apos;utilisation 
d&apos;outils et de méthodologies standards</desc2>
+            <comment>Gestionnaire de versions, de bogues, intégration 
continue</comment>
+            <score>2</score>
+         </element>
+         <element name="modificationofsourcecode" title="Modification du code">
+            <desc0>Pas de moyen pratique de proposer des modifications de 
code</desc0>
+            <desc1>Des outils sont fournis pour accéder et modifier le code 
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le 
produit</desc1>
+            <desc2>Le processus de modification de code est bien défini, 
exposé et respecté, basé sur des rôles bien définis</desc2>
+            <comment>Processus qualité de déclaration des bugs (testCase, 
patch...) : http://www.hibernate.org/issuetracker</comment>
+            <score>2</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_338434665" title="Utilisabilité">
+      <element name="ID_1773897131" title="Intégration IDE">
+         <element name="ID_1199895028" title="Outil graphique">
+            <desc>Outil graphique accompagnateur pour configurer le 
mapping</desc>
+            <desc0>Pas d&apos;outil graphique pour le mapping</desc0>
+            <desc1>Outil graphique de mapping limité</desc1>
+            <desc2>Outil graphique de mapping riche</desc2>
+            <comment>Mapping Editor: An editor for Hibernate XML mapping 
files, supporting auto-completion and syntax highlighting. The editor even 
supports semantic auto-completion for class names, property/field names, table 
names and column names.
+(http://www.hibernate.org/subprojects/tools.html)
+
+Wizard de création des fichiers de mapping : 
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e370
+
+Diagramme de mapping : 
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e1702</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_114293744" title="Génération de classes ">
+            <desc>Génération des classes d&apos;objets de données</desc>
+            <desc0>Pas de génération de classes</desc0>
+            <desc1>Génération automatique des classes</desc1>
+            <desc2>Génération personnalisable</desc2>
+            <comment>La génération des classes correspondantes pour chaque 
fichier .hbm peut être demandée de deux façons :
+    * en sauvegardant un fichier .hbm modifié dans l&apos;éditeur
+    * en utilisant l&apos;option « Hibernate Synchronizer / Synchronize Files 
» du menu contextuel d&apos;un fichier .hbm dans la vue  « Vue packages »
+
+Possible de générer des classes depuis un schéma de base, avec de 
nombreuses options (reverse ingeenering) :
+http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e890
+
+&quot;The most powerful feature of Hibernate Tools is a database reverse 
engineering tool that can generate domain model classes and Hibernate mapping 
files, annotated EJB3 entity beans, HTML documentation or even an entire JBoss 
Seam application in seconds!&quot; 
(http://www.hibernate.org/subprojects/tools.html)
+
+http://docs.jboss.org/tools/movies/demos/Reverse_engineering_and_code_generation/Reverse_engineering_and_code_generation.htm</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1430039139" title="Génération de schéma de base 
de données">
+            <desc0>Requièrt son propre modèle</desc0>
+            <desc1>Génération possible mais non personnalisable</desc1>
+            <desc2>Génération personnalisable (base de données déjà 
existante ou non)</desc2>
+            <comment>Ant task: The Hibernate3 tools include a unified Ant task 
that allows you to run schema generation, mapping generation, or Java code 
generation as part of your build.
+</comment>
+            <score>2</score>
+         </element>
+         <comment>hibernateTools : 
http://www.hibernate.org/subprojects/tools.html
+
+Hibernate Tools is a toolset for Hibernate3implemented as an integrated suite 
of Eclipse plugins, together with a unified Ant task for integration into the 
build cycle. Hibernate Tools is a core component of JBoss Tools and hence also 
part of JBoss Developer Studio.</comment>
+      </element>
+      <element name="ID_1616300461" title="Génération de la documentation">
+         <desc0>Pas de documentation générée</desc0>
+         <desc1>Génération possible mais non personnalisable</desc1>
+         <desc2>Génération personnalisable de la documentation</desc2>
+         <comment>&quot;Generates a set of html pages that documents the 
database schema and some of the mappings.&quot; : 
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e1129
+
+Quelques configurations possibles (cf. lien ci-dessus, Table 3.6. Exporter 
Properties)</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_309751365" title="Portabilité">
+         <element name="ID_1389041924" title="Portabilité du code">
+            <desc>Portabilité du code lors du changement de SGBD</desc>
+            <desc0>Code spécifique au SGBD à réimplémenter à la 
main</desc0>
+            <desc1>Code spécifique au SGBD partiellement généré par la 
framework</desc1>
+            <desc2>Code spécifique au SGBD complétement généré par la 
framework</desc2>
+            <comment>http://www.lifl.fr/~durif/bdd/coursBD/html/hibernate.html
+&quot;Une application Hibernate est paramétrable par des propriétés, par 
exemple sur le choix du SGBD utilisé, sans que le changement de ces 
paramètres nécessite une modification ou une recompilation du source Java. En 
fait ces paramètres sont utilisés uniquement à l’exécution de 
l’application ce qui fait qu’une erreur dans leur syntaxe ou sémantique ne 
sera détectée qu’à l’exécution. Ces paramètres sont principalement 
indiqués dans les deux fichiers hibernate.properties et 
hibernate.cfg.xml&quot;</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_517153792" title="Base de données supportées">
+            <desc>Quelles sont les bases de données supportées par la 
solution ?</desc>
+            <desc0>Nombre très limité</desc0>
+            <desc1>Nombre limité</desc1>
+            <desc2>Grand nombre de bases de données supportées</desc2>
+            
<comment>http://community.jboss.org/wiki/SupportedDatabases</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1060935903" title="Respects des standards">
+            <element name="ID_1520050744" title="SQL">
+               <desc>Versions de SQL supportées</desc>
+               <desc0>Le framework ne respecte pas SQL</desc0>
+               <desc1>Le framework ne respecte qu&apos;une version de 
SQL</desc1>
+               <desc2>Le framework supporte plusieurs versions de SQL et en 
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+               <comment>Un exemple avec les fonctions stockées disponibles 
sous Oracle :
+http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html#sp_query</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_80299401" title="JPA">
+               <desc>Compatibilité du framework avec Java Persistence 
API</desc>
+               <desc0>Framework non compatible avec JPA</desc0>
+               <desc1>Framework non compatible la dernière version de JPA, 
JPA2</desc1>
+               <desc2>Framework compatible avec JPA2</desc2>
+               <comment>&quot;Hibernate a sorti récemment sa release 3.2. 
Inutile de présenter hibernate alors passons directement aux choses sérieuses 
: dans cette mouture, l’outil d’ORM montre une nouvelle fois qu’il sait 
être en avance sur tout le monde en étant d’ores et déjà compatible JPA 
(Java Persistence Architecture)&quot; (http://blog.pragmaconsult.lu/?p=35)
+(a vérifier, doc officielle?)
+
+&quot;For JPA 2.0, you need Hibernate EM 3.5.1-Final&quot;
+http://stackoverflow.com/questions/2695000/cant-get-jpa2-running-with-hibernate-and-maven</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1807694901" title="JDO">
+               <desc>Compatibilité du framework avec Java Data Objects</desc>
+               <desc0>Framework non compatible avec JDO</desc0>
+               <desc1>Framework partiellement compatible avec JDO</desc1>
+               <desc2>Framework complètement compatible avec JDO</desc2>
+               <comment>JDO est une spécification qui est implémentée par 
Hibernate, pour peu que l&apos;on se restreigne lors de l&apos;écriture du 
code à l&apos;utilisation du standard JDO uniquement.
+
+http://fr.wikipedia.org/wiki/Hibernate#Comparatif_entre_Hibernate_et_Java_Data_Object</comment>
+               <score>0</score>
+            </element>
+            <comment>implémente :
+- JSR 220
+- JSR 317
+
+http://www.hibernate.org/</comment>
+         </element>
+         <comment>&quot;Comprehensive Query Facilities: Including support for 
Hibernate Query Language (HQL), Java Persistence Query Language (JPAQL), 
Criteria queries, and &quot;native SQL&quot; queries; all of which can be 
scrolled and paginated to suit your exact performance needs.&quot;
+(http://www.hibernate.org/about/why-hibernate)</comment>
+      </element>
+      <comment></comment>
+   </section>
+   <section name="ID_424401691" title="Fonctionnalités ORM">
+      <element name="ID_1215384889" title="Gestion des requêtes">
+         <element name="ID_441206190" title="Transactions">
+            <desc>Support des transactions</desc>
+            <desc0>Pas de support des transactions</desc0>
+            <desc1>Support partiel des transactions</desc1>
+            <desc2>Support complet des transactions</desc2>
+            <comment>Support complet sous forme d&apos;interface(s) à 
implémenter.
+Cf. 
http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/Transaction.html</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1344369848" title="Langage de requête">
+            <desc>Langage de requêtes puissant afin de pouvoir faire des 
requêtes dynamiques</desc>
+            <desc0>Langage de requête faible</desc0>
+            <desc1>Langage de requête assez puissant (ne supporte pas les 
fonctions avancées de SQL)</desc1>
+            <desc2>Langage de requête puissant</desc2>
+            <comment>Language de requête orienté objet (HQL) supportant les 
fonctions avancées de la norme SQL. Le HQL a ensuite inspiré le JPQL (Java 
Persistence Query Language) du standard JPA.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_900690955" title="Personnalisation des requêtes">
+            <desc>Possibilité de personnaliser les requêtes SQL pour aller 
plus loin que ce qui est permis par le langage de requête</desc>
+            <desc0>Pas de possibilité de faire des requêtes 
personnalisées</desc0>
+            <desc1>La personnalisation des requêtes est possible mais 
limitée</desc1>
+            <desc2>La solution est adaptable et permet de supporter tout type 
de données</desc2>
+            <comment>Il est possible d&apos;utiliser du SQL nativement avec 
Hibernate, permettant de faire appel à des fonctions propres au SGBD utilisé. 
D&apos;où une solution adaptable et permettant de supporter tout type de 
données.
+Cf. 
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_463148311" title="Gestion de concurrence">
+            <desc>Gestion de la concurrence (support des approches optimiste 
et pessimiste)</desc>
+            <desc0>Pas de gestion de concurrence</desc0>
+            <desc1>Gestion pessimiste de concurrence</desc1>
+            <desc2>Gestion optimiste de concurrence</desc2>
+            <comment>Hibernate n&apos;intègre pas de mécanisme de lock 
supplémentaire, mais se base sur les couches bases (JTA et JDBC). Mais cela ne 
l&apos;empêche pas de pouvoir gérer les accès concurrents de manière 
optimiste (ou pessismiste si la configuration est précisée).
+http://docs.jboss.org/hibernate/core/3.3/reference/en/html/transactions.html#transactions-optimistic</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+         <element name="ID_652002875" title="Heritage, polymorphisme">
+            <desc>Tirer parti de l&apos;héritage, pouvoir créer des 
hiérarchies entre les entités et utiliser le polymorphisme</desc>
+            <desc0>Pas de support d&apos;héritage ou du polymorphisme</desc0>
+            <desc1>Support d&apos;héritage limité (gestion limitée à une 
seule façon : Simple /  Concret / Par agrégation)</desc1>
+            <desc2>Support des différentes combinaisons de tables et de 
classes</desc2>
+            <comment>Les principales stratégies d&apos;héritage sont 
implémentées avec Hibernate. Cependant, il peut exister certaines limitations 
avec le &quot;polymorphisme&quot; implicite qui n&apos;est pas totalement 
supporté par Hibernate.
+Cf. partie 9.2. Limitations
+http://docs.jboss.org/hibernate/core/3.5/reference/fr-FR/html/inheritance.html#inheritance-limitations</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1690384726" title="Liberté dans les classes">
+            <desc>Pas de classe de base pour les entités; pas 
d&apos;interface obligatoire; pas de classe spécifique pour les 
collections</desc>
+            <desc0>Les classes dépendent d&apos;une classe de base ou 
d&apos;une interface </desc0>
+            <desc1>Certaines classes spécifiques sont imposées par le 
framwork (exemple : collections)</desc1>
+            <desc2>Les classes sont libres (pas de classes de base, pas 
d&apos;interface obligatoire, pas de classes spécifiques pour les 
collections)</desc2>
+            <comment>Les classes sont libres, mais toute classe que l&apos;on 
veut rendre persistente doit être un POJO (Plain Old Java Object) avec ses 
setters/getters et implémenter le constructeur par défaut. De plus, 
l&apos;utilisation des annotations Java et/ou d&apos;un fichier de 
configuration rajoute aux contraintes de configuration de Hibernate.
+
+Utilisation de la sessionFactory pour gérer les transactions.</comment>
+            <score>1</score>
+         </element>
+         <element name="ID_1276541290" title="Systèmes d&apos;intercepteurs 
et mécanismes de délégation">
+            <desc>Système d&apos;intercepteurs et mécanismes de délégation 
pour avoir la main au moment où la gestion de la persistance intervient</desc>
+            <desc0>Pas de support</desc0>
+            <desc1>Support partiel</desc1>
+            <desc2>Support complet</desc2>
+            <comment>Support complet du mécanisme d&apos;interception 
permettant l&apos;implémentation de fonctionnalités génériques et 
l&apos;extension de fonctionnalités Hibernate (sécurité, etc.).</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_701838668" title="Filtrage d&apos;objet en 
mémoire">
+            <desc0>Pas de filtrage </desc0>
+            <desc1>Filtrage d&apos;objets partiel ou complexe</desc1>
+            <desc2>Filtrage d&apos;objets souple</desc2>
+            <comment>Hibernate propose d&apos;utiliser des filtres en mémoire 
sur les collections ainsi que des fonctionnalités de pagination.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_706579590" title="Gestion des associations">
+         <element name="ID_742121362" title="Association objets &lt;-&gt; 
tables">
+            <element name="ID_312267195" title="Association classe/plusieurs 
tables">
+               <desc>Possibilité d&apos;associer à une classe des données 
provenant de plusieurs tables (jointures, vues)</desc>
+               <desc0>Fonctionnalité non offerte (mapping direct d&apos;une 
table sur une classe)</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment></comment>
+               <score>2</score>
+            </element>
+            <element name="ID_38998304" title="Eclatement table -&gt; 
plusieurs classes">
+               <desc>Possibilité de pouvoir éclater en plusieurs classes les 
données d&apos;une table</desc>
+               <desc0>Fonctionnalité non offerte</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment></comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1039584203" title="Types de relation">
+               <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+               <desc0>Pas de support</desc0>
+               <desc1>Support limité (pas de relations n-n)</desc1>
+               <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+               <comment>Tous les types de relation sont supportés par 
Hibernate.
+Cf. 
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/example-mappings.html</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_1024175273" title="Définition des associations">
+            <element name="ID_201588288" title="Externe ">
+               <desc0>Pas de fichier de mapping externe</desc0>
+               <desc1>Fichier de mapping obligatoire</desc1>
+               <desc2>Fichier de mapping optionnel</desc2>
+               <comment>Avec l&apos;utilisation des annotations java dans le 
code, le fichier de mapping est optionnel. L&apos;utilisation de JPA (Java 
Persistence Annotations) permet de créer des POJOs exploitables directement 
par Hibernate.
+Cf. 
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1316391039" title="Attributs dans le code">
+               <desc0>Pas d&apos;attributs dans le code</desc0>
+               <desc1>Attributs dans le code obligatoires</desc1>
+               <desc2>Attributs dans le code optionnels</desc2>
+               <comment>Si l&apos;on souhaite se contenter d&apos;un fichier 
de mapping pour l&apos;utilisation de Hibernate, les annotations dans le code 
ne sont pas obligatoires, pour peu que la classe Java réponde aux critères 
suivants : setter &amp; getter pour chaque attribut ; implémentation du 
constructeur par défaut ; identifiant de classe de type primitif, wrapper, 
String ou java.util.Date
+Cf. 
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_1914850042" title="Génération des associations">
+            <desc>Les déclarations d&apos;associations peuvent être 
générées par le framework par reverse engineering</desc>
+            <desc0>Fonctionnalité non offerte</desc0>
+            <desc1>Fonctionnalité disponible mais limitée</desc1>
+            <desc2>Fonctionnalité complètement couverte</desc2>
+            <comment>Il est possible de générer automatiquement les POJOs à 
partir des fichiers de mapping :
+http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/codegen.html
+
+De + il existe une tâche ant dans les utilitaires hibernate qui permet de 
générer le mapping des annotations à partir d&apos;une base de donnée 
existante :
+http://docs.jboss.org/tools/3.2.0.GA/en/hibernatetools/html/reverseengineering.html</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_1249899865" title="Fonctionnalités liées aux 
données">
+         <element name="ID_1439836939" title="Types supportés">
+            <element name="ID_697051761" title="Types de données 
spécifiques">
+               <desc>Support des types de données spécifiques au moteur de 
base de données (champs de type compteur - identity/autoincrémenté, 
GUID)</desc>
+               <desc0>Pas de support </desc0>
+               <desc1>Seulement quelques types sont supportés pour certains 
SGBD</desc1>
+               <desc2>Support complet (types compteur, 
identity/autoincrémenté, GUID)</desc2>
+               <comment>Pour la génération des Id Hibernate supporte les 
méthodes natives des SGBDR, un compteur global unique ou la fourniture par 
l&apos;application. Cela peut également être réalisé par un point 
d&apos;extension.
+Par exemple les champs de type AUTO_INCREMENT sous MySQL ne sont pas gérés 
de manière 100% efficace. Mais des alternatives (avec les stratégies 
d&apos;incrémentation auto dans la classe) existent.
+Cf. 
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1247023248" title="Gestion des types de données 
évolués (images...)">
+               <desc0>Pas de support des types de données évolués</desc0>
+               <desc1>Quelques types évolués sont supportés</desc1>
+               <desc2>La solution est adaptable et permet de supporter tout 
type de données</desc2>
+               <comment>Le framework supporte nativement un grand nommbre de 
types et permet de déclarer des types composés (par exemple à persister dans 
plusieurs champs de la base de donnéres).</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_1809466455" title="Fonctionnalités SQL 
supportées">
+            <element name="ID_491863742" title="Agrégats">
+               <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN, 
MAX, COUNT du SQL)</desc>
+               <desc0>Pas de support des fonctions d&apos;agrégat</desc0>
+               <desc1>Support uniquement de quelques fonctions 
d&apos;agrégat</desc1>
+               <desc2>Support de toutes les fonctions d&apos;agrégat</desc2>
+               <comment>Les fonctions supportées sont : avg(...), sum(...), 
min(...), max(...), count(*), count(...), count(distinct ...) et count(all...).
+</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1829057516" title="Groupes">
+               <desc>Support des groupes (GROUP BY du SQL)</desc>
+               <desc0>Pas de support de groupes</desc0>
+               <desc1>Support partiel des groupes</desc1>
+               <desc2>Support complet des groupes</desc2>
+               <comment></comment>
+               <score>2</score>
+            </element>
+            <element name="ID_15374559" title="Procédures stockées">
+               <desc>Support des procédures stockées</desc>
+               <desc0>Pas de support des procédures stockées</desc0>
+               <desc1>Support partiel ou limité</desc1>
+               <desc2>Support complet des procédures stockées</desc2>
+               <comment>Hibernate permet d&apos;appeller des procédures 
stockées et d&apos;associer les résultats retournées (via un fichier de 
mapping à déclarer).</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1493124660" title="Jointures SQL ">
+               <desc>Support de tout type de jointures SQL (inner join, outer 
join)</desc>
+               <desc0>Pas de support de jointures SQL</desc0>
+               <desc1>Support limité des jointures SQL</desc1>
+               <desc2>Support de jointures SQL souple et efficace</desc2>
+               <comment>Les différents types de jointures de SQL sont 
supportés : inner join, left outer join, right outer join et full join.
+</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_803290388" title="Liaison avec la base de données">
+            <element name="ID_650827994" title="Génération du schéma de BD">
+               <desc>Le framework permet-il de générer le schéma de la base 
de données ?</desc>
+               <desc0>Le schéma n&apos;est pas généré</desc0>
+               <desc1>La génération est possible mais pas 
personnalisable</desc1>
+               <desc2>Génération du schéma automatique et 
personnalisable</desc2>
+               <comment>Hibernate peut générer le schéma de la base de 
données (hbm2ddl). L&apos;interface org.hibernate.cfg.NamingStrategy permet de 
personaliser les noms des objets en base de données.</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1160163318" title="Différer les MAJ de la BD">
+               <desc>Pouvoir différer les mises à jour de la base de 
données, et les déclencher à un instant donné par un appel de méthode 
spécifique</desc>
+               <desc0>Fonctionnalité non supportée</desc0>
+               <desc1>La maîtrise des mises à jour est possible mais 
limitée ou complexe</desc1>
+               <desc2>Le framework offre la complète maîtrise des mises à 
jour</desc2>
+               <comment>Les mises à jour des objets modifiés lors d&apos;une 
session Hibernate sont effectuées lors de l&apos;appel de la méthode flush() 
de la session. Cette méthode est cependant automatiquement appelée par le 
framework avant des requêtes ou à la validation d&apos;une 
transaction.</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1787877607" title="Mode déconnecté">
+               <desc>Support du mode déconnecté (alimenter des objets depuis 
la base de données, fermer la connexion, la session, créer/modifier/supprimer 
des objets, et appliquer ces modifications sur la base de données plus 
tard)</desc>
+               <desc0>Pas de support du mode déconnecté</desc0>
+               <desc1>Support partiel du mode déconnecté</desc1>
+               <desc2>Support complet du mode déconnecté</desc2>
+               <comment>Il est envisageable de gérer un mode déconnecté en 
travaillant sur des objets en mode detached (Session.update() ou 
Session.merge() )</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_346348844" title="Chiffrement des données">
+            <desc0>Pas de chiffrement des données</desc0>
+            <desc1>Support limité (par exemple, un seul algorithme de 
chiffrement est supporté)</desc1>
+            <desc2>Support complet (l&apos;utilisateur a la possibilité de 
choisir l&apos;algorithme de chiffrement )</desc2>
+            <comment>Il est possible d&apos;appeler des fonctions de 
chiffrement/déchiffrement du SGBD à la lecture ou à l&apos;écriture des 
données via la notion de ColumnTransformer.
+</comment>
+            <score>1</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_1587767826" title="Optimisation et performance">
+      <element name="ID_193053566" title="Chargement différé">
+         <desc>Lazy loading</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>Via la notion de Proxy.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1471006078" title="Requêtes optimisées">
+         <desc>mise à jour uniquement des champs modifiés, ..</desc>
+         <desc0>Pas de requêtes optimisées</desc0>
+         <desc1>Support des requêtes optimisées</desc1>
+         <desc2>Support completl des requêtes optimisées</desc2>
+         <comment>Hibernate prend en charge les mises à jour de la base de 
données en fonction des modifications apportées sur les objets qu&apos;ils 
gère en session.
+Il supporte également les prepared statements.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1653886314" title="MAJ en cascade">
+         <desc>Gestion des mises à jour en cascade</desc>
+         <desc0>Non gérée </desc0>
+         <desc1>Mises à jour en cascade partiellement supportées</desc1>
+         <desc2>Mises à jour en cascade complètement supportées</desc2>
+         <comment>Tout ou partie des opérations réalisées sur les relations 
peuvent être cascadées (option cascade, positionnée à none par 
défaut).</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1245205026" title="MAJ / Suppressions massives">
+         <desc>Gestion des modifications, des suppressions des milliers 
d&apos;enregistrements d&apos;un coup sans avoir à charger tous les objets en 
mémoire.</desc>
+         <desc0>Non supportées</desc0>
+         <desc1>Partiellement supportées</desc1>
+         <desc2>Complètement supportées</desc2>
+         <comment>HQL supporte une syntaxe pour le bulk update and delete.
+Egalement possible en utilisant une requête SQL directement via 
Session.createQuery() mais on n&apos;est plus dans la philosophie du 
framework.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_423607022" title="Pools de connexions">
+         <desc>Gestion de pools de connexions par le framework</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>Un gestionnaire de connexions est fourni en standard mais 
est déclaré comme inadapté à la production. Hibernate supporte des 
gestionnaires externes comme C3PO ou Proxool</comment>
+         <score>1</score>
+      </element>
+      <element name="ID_1707317083" title="Caches">
+         <element name="ID_667733390" title="Cache des requêtes">
+            <desc0>Pas de cache des requêtes</desc0>
+            <desc1>Cache de requêtes à gérer à la main</desc1>
+            <desc2>Cache des requêtes généré dynamiquement</desc2>
+            <comment>Le cache de requêtes est paramétrable et peut être 
étendu.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1612841399" title="Cache de certaines données">
+            <desc0>Pas de cache de données</desc0>
+            <desc1>Cache de données existant mais limité</desc1>
+            <desc2>Existence d&apos;un cache des données</desc2>
+            <comment>Un cache de second niveau est activé par défaut. Il 
s&apos;agit d&apos;uen hashtable et il peut être désactivé (il n&apos;est 
pas conseillé en production).
+Hibernate est capables d&apos;utiliser des caches externes :  EHCache, 
OSCache, SwarmCache ou JBoss Cache.</comment>
+            <score>1</score>
+         </element>
+      </element>
+      <comment>&quot;High Performance: Hibernate supports lazy initialization, 
many fetching strategies, and optimistic locking with automatic versioning and 
time stamping. Hibernate requires no special database tables or fields and 
generates much of the SQL at system initialization time instead of runtime. 
Hibernate consistently offers superior performance over straight JDBC 
coding.&quot; (http://www.hibernate.org/about/why-hibernate)</comment>
+   </section>
+</document>
\ No newline at end of file

Index: myBatis/mybatis-3.0_fr.qsos
===================================================================
RCS file: myBatis/mybatis-3.0_fr.qsos
diff -N myBatis/mybatis-3.0_fr.qsos
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ myBatis/mybatis-3.0_fr.qsos 29 May 2012 12:54:26 -0000      1.1
@@ -0,0 +1,500 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+   <header>
+      <authors></authors>
+      <dates>
+         <creation></creation>
+         <validation></validation>
+      </dates>
+      <appname>MyBatis</appname>
+      <desc></desc>
+      <release>3.0</release>
+      <licenseid>23</licenseid>
+      <licensedesc>The Apache License 2.0</licensedesc>
+      <url>http://code.google.com/p/mybatis/</url>
+      <demourl></demourl>
+      <language>fr</language>
+      <qsosappname></qsosappname>
+      <qsosformat>1.0</qsosformat>
+      <qsosspecificformat></qsosspecificformat>
+      <qsosappfamily>ORM Java</qsosappfamily>
+   </header>
+   <section name="generic" title="Maturité">
+      <element name="maturity" title="Patrimoine">
+         <desc>Historique et patrimoine du projet</desc>
+         <element name="age" title="Age du projet">
+            <desc0>Inférieur à trois mois</desc0>
+            <desc1>Entre trois mois et trois ans</desc1>
+            <desc2>Supérieur à trois ans</desc2>
+            <comment>Projet iBATIS démarré en 2001 a permis l'émergence de 
iBATIS Database Layer en 2002. Hébergé par la fondation Apache de 2004 à 
2010, le projet est désormais hébergé sur la forge de Google sous le nom de 
MyBatis.</comment>
+            <score>2</score>
+         </element>
+         <element name="historyknowproblems" title="Historique">
+            <desc0>Le logiciel connaît de nombreux problèmes qui peuvent 
être rédhibitoires</desc0>
+            <desc1>Pas de problèmes majeurs, ni de crise ou historique 
inconnu</desc1>
+            <desc2>Bon historique de gestion de projet et de crise</desc2>
+            <comment>Démarré par un développeur unique, iBATIS a été 
hébergé pendant 6 ans par la fondation Apache. En 2010, les développeurs 
principaux ont décidé d'un commun accord de changer d'hébergement afin 
notamment de bénéficier de procédure de contribution plus simples.</comment>
+            <score>2</score>
+         </element>
+         <element name="developersidentificationturnover" title="Equipe de 
développement">
+            <desc0>Très peu de développeurs identifiés ou développeur 
unique</desc0>
+            <desc1>Quelques développeurs actifs</desc1>
+            <desc2>Equipe de développement importante et identifiée</desc2>
+            <comment>L'équipe est composées de 11 développeurs principaux 
arrivés au fil des années auprès du créateur du projet Clinton 
Begin.</comment>
+            <score>2</score>
+         </element>
+         <element name="popularity" title="Popularité">
+            <desc0>Très peu d'utilisateurs identifiés</desc0>
+            <desc1>Usage décelable</desc1>
+            <desc2>Nombreux utilisateurs et références</desc2>
+            <comment>iBATIS (et désormais MyBAtis) est un framework de 
persistance reconnu et disposant de nombreuses références.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="activity" title="Activité">
+         <desc>Activité du et autour du projet</desc>
+         <element name="contributingcommunity" title="Communauté des 
contributeurs">
+            <desc0>Pas de communauté ou de réelle activité (forum, liste de 
diffusion…)</desc0>
+            <desc1>Communauté existante avec une activité notable</desc1>
+            <desc2>Communauté forte : grosse activité sur les forums, de 
nombreux contributeurs et défenseurs</desc2>
+            <comment>5 contributeurs au wiki, plus de 800 inscrits à la liste 
de discussion du projet.</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonbugs" title="Activité autour des bugs">
+            <desc0>Réactivité faible sur le forum ou sur la liste de 
diffusion, ou rien au sujet des corrections de bugs dans les notes de 
versions</desc0>
+            <desc1>Activité détectable mais sans processus clairement 
exposé, temps de résolution long</desc1>
+            <desc2>Forte réactivité, basée sur des rôles et des 
assignations de tâches</desc2>
+            <comment>Le projet utilise les fonctionnalités offertes par la 
forge de Google pour gérer l'activité autours des bogues 
(http://code.google.com/p/mybatis/wiki/Issues).</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonfunctionalities" title="Activité autour des 
fonctionnalités">
+            <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+            <desc1>Évolution du produit conduite par une équipe dédiée ou 
par des utilisateurs, mais sans processus clairement exposé</desc1>
+            <desc2>Les requêtes pour les nouvelles fonctionnalités sont 
clairement outillées, feuille de route disponible</desc2>
+            <comment>Le projet utilise les fonctionnalités offertes par la 
forge de Google pour gérer l'activité autours des nouvelles fonctionnalités 
(http://code.google.com/p/mybatis/wiki/Issues).</comment>
+            <score>2</score>
+         </element>
+         <element name="activityonreleases" title="Activité sur les 
releases/versions">
+            <desc0>Très faible activité que ce soit sur les versions de 
production ou de développement (alpha, beta)</desc0>
+            <desc1>Activité que ce soit sur les versions de production ou de 
développement (alpha, beta), avec des versions correctives mineures 
fréquentes</desc1>
+            <desc2>Activité importante avec des versions correctives 
fréquentes et des versions majeures planifiées liées aux prévisions de la 
feuille de route</desc2>
+            <comment>De versions mineures sont régulièrement publiées sur 
la branche 3.0, ainsi que des versions beta.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="strategy" title="Gouvernance">
+         <desc>Stratégie du projet</desc>
+         <element name="copyrightowners" title="Détenteur des droits">
+            <desc0>Les droits sont détenus par quelques individus ou entités 
commerciales</desc0>
+            <desc1>Les droits sont détenus par de nombreux individus de 
façon homogène</desc1>
+            <desc2>Les droits sont détenus par une entité légale, une 
fondation dans laquelle la communauté a confiance (ex: FSF, Apache, 
ObjectWeb)</desc2>
+            <comment>Les droits sur le code géré au sein du projet iBATIS 
sont détenus par la fondations Apache.</comment>
+            <score>2</score>
+         </element>
+         <element name="roadmap" title="Feuille de route">
+            <desc0>Pas de feuille de route publiée</desc0>
+            <desc1>Feuille de route sans planning</desc1>
+            <desc2>Feuille de route versionnée, avec planning et mesures de 
retard</desc2>
+            <comment>L'outil de gestion des nouvelles fonctionnalités permet 
d'identifier celles qui sont acceptées et pour quelles versions de 
MyBatis.</comment>
+            <score>1</score>
+         </element>
+         <element name="ID_740641571" title="Pilotage du projet">
+            <desc0>Pas de pilotage clair du projet</desc0>
+            <desc1>Pilotage dicté par un seul individu ou une entité 
commerciale</desc1>
+            <desc2>Indépendance forte de l'équipe de développement, droits 
détenus par une entité reconnue</desc2>
+            <comment>Les développeurs principaux sont indépendants et 
travaillent pour des entreprises différentes.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_548761152" title="Mode de distribution">
+            <desc0>Existence d'une distribution commerciale ou propriétaire 
ou distribution libre limitée fonctionnellement</desc0>
+            <desc1>Sous-partie du logiciel disponible sous licence 
propriétaire (Coeur / Greffons...)</desc1>
+            <desc2>Distribution totalement ouverte et libre</desc2>
+            <comment>sous licence Apache version 2.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="industrializedsolution" title="Industrialisation">
+         <desc>Niveau d'industrialisation du projet</desc>
+         <element name="services" title="Services">
+            <desc>Offres de services (Support, Formation, Audit...)</desc>
+            <desc0>Pas d'offre de service identifiée</desc0>
+            <desc1>Offre existante mais restreinte géographiquement ou en une 
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+            <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de 
résultats</desc2>
+            <comment>iBATIS (et désormais MyBatis) est une solution reconnue 
autour de laquelle de nombreuses offres de services (formation, expertise, 
support) existent.</comment>
+            <score>2</score>
+         </element>
+         <element name="documentation" title="Documentation">
+            <desc0>Pas de documentation utilisateur</desc0>
+            <desc1>La documentation existe mais est en partie obsolète ou 
restreinte à une seule langue ou peu détaillée</desc1>
+            <desc2>Documentation à jour, traduite et éventuellement adaptée 
à différentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+            <comment>La documentation officielle existe en anglais et en 
chinois simplifié (http://code.google.com/p/mybatis/wiki/UserGuides)</comment>
+            <score>2</score>
+         </element>
+         <element name="qualityassurance" title="Méthode qualité">
+            <desc>Processus et méthode qualité</desc>
+            <desc0>Pas de processus qualité identifié</desc0>
+            <desc1>Processus qualité existant, mais non formalisé ou non 
outillé</desc1>
+            <desc2>Processus qualité basé sur l'utilisation d'outils et de 
méthodologies standards</desc2>
+            <comment>Le projet a bénéficié pendant 6 ans des méthodes 
qualités de la fondation Apache. Désormais hébergé sur Google Code, le 
projet reste orienté qualité avec l'utilisation de Maven/Nexus et de tests 
unitaires.</comment>
+            <score>2</score>
+         </element>
+         <element name="modificationofsourcecode" title="Modification du code">
+            <desc0>Pas de moyen pratique de proposer des modifications de 
code</desc0>
+            <desc1>Des outils sont fournis pour accéder et modifier le code 
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le 
produit</desc1>
+            <desc2>Le processus de modification de code est bien défini, 
exposé et respecté, basé sur des rôles bien définis</desc2>
+            <comment>Le processus de release est détaillé : 
http://code.google.com/p/mybatis/wiki/ProcessRelease, le code source est 
disponible sur Google Code</comment>
+            <score>2</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_338434665" title="Utilisabilité">
+      <element name="ID_1773897131" title="Intégration IDE">
+         <element name="ID_1199895028" title="Outil graphique">
+            <desc>Outil graphique accompagnateur pour configurer le 
mapping</desc>
+            <desc0>Pas d'outil graphique pour le mapping</desc0>
+            <desc1>Outil graphique de mapping limité</desc1>
+            <desc2>Outil graphique de mapping riche</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+         <element name="ID_114293744" title="Génération de classes ">
+            <desc>Génération des classes d'objets de données</desc>
+            <desc0>Pas de génération de classes</desc0>
+            <desc1>Génération automatique des classes</desc1>
+            <desc2>Génération personnalisable</desc2>
+            <comment>MyBatis Generator permet de générer du code à partir 
de la base de données : classes associées aux tables, fichiers XML 
d'association pour les opérations CRUD, classes Java clientes des classes 
MyBatis (DAO), classes d'exemples qui permettent de réaliser des requêtes via 
l'utilisation d'API.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1430039139" title="Génération de schéma de base 
de données">
+            <desc0>Requièrt son propre modèle</desc0>
+            <desc1>Génération possible mais non personnalisable</desc1>
+            <desc2>Génération personnalisable (base de données déjà 
existante ou non)</desc2>
+            <comment>MyBatis propose un outil pour gérer la gestion du 
changement des schémas de bases de données (MyBatis Migration) qui permet 
d'automatiser les mises à jour et les retours arrière.</comment>
+            <score>1</score>
+         </element>
+      </element>
+      <element name="ID_1616300461" title="Génération de la documentation">
+         <desc0>Pas de documentation générée</desc0>
+         <desc1>Génération possible mais non personnalisable</desc1>
+         <desc2>Génération personnalisable de la documentation</desc2>
+         <comment></comment>
+         <score>0</score>
+      </element>
+      <element name="ID_309751365" title="Portabilité">
+         <element name="ID_1389041924" title="Portabilité du code">
+            <desc>Portabilité du code lors du changement de SGBD</desc>
+            <desc0>Code spécifique au SGBD à réimplémenter à la 
main</desc0>
+            <desc1>Code spécifique au SGBD partiellement généré par la 
framework</desc1>
+            <desc2>Code spécifique au SGBD complétement généré par la 
framework</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+         <element name="ID_517153792" title="Base de données supportées">
+            <desc>Quelles sont les bases de données supportées par la 
solution ?</desc>
+            <desc0>Nombre très limité</desc0>
+            <desc1>Nombre limité</desc1>
+            <desc2>Grand nombre de bases de données supportées</desc2>
+            <comment>Le framework n'est pas lié à une base de données en 
particulier ce sont les drivers JDBC et les requêtes écrites par les 
développeurs qui le sont.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1060935903" title="Respects des standards">
+            <element name="ID_1520050744" title="SQL">
+               <desc>Versions de SQL supportées</desc>
+               <desc0>Le framework ne respecte pas SQL</desc0>
+               <desc1>Le framework ne respecte qu'une version de SQL</desc1>
+               <desc2>Le framework supporte plusieurs versions de SQL et en 
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+               <comment>Tout dépend des requêtes écrites par les 
développeurs, qui ne sont pas contrôlées par les utilisateurs.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_80299401" title="JPA">
+               <desc>Compatibilité du framework avec Java Persistence 
API</desc>
+               <desc0>Framework non compatible avec JPA</desc0>
+               <desc1>Framework non compatible la dernière version de JPA, 
JPA2</desc1>
+               <desc2>Framework compatible avec JPA2</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+            <element name="ID_1807694901" title="JDO">
+               <desc>Compatibilité du framework avec Java Data Objects</desc>
+               <desc0>Framework non compatible avec JDO</desc0>
+               <desc1>Framework partiellement compatible avec JDO</desc1>
+               <desc2>Framework complètement compatible avec JDO</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+         </element>
+      </element>
+   </section>
+   <section name="ID_424401691" title="Fonctionnalités ORM">
+      <element name="ID_1215384889" title="Gestion des requêtes">
+         <element name="ID_441206190" title="Transactions">
+            <desc>Support des transactions</desc>
+            <desc0>Pas de support des transactions</desc0>
+            <desc1>Support partiel des transactions</desc1>
+            <desc2>Support complet des transactions</desc2>
+            <comment>Il est possible d'utiliser le gestionnaire de transaction 
fourni par la couche JDBC ou par le conteneur de l'application (serveur JEE par 
exemple).</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1344369848" title="Langage de requête">
+            <desc>Langage de requêtes puissant afin de pouvoir faire des 
requêtes dynamiques</desc>
+            <desc0>Langage de requête faible</desc0>
+            <desc1>Langage de requête assez puissant (ne supporte pas les 
fonctions avancées de SQL)</desc1>
+            <desc2>Langage de requête puissant</desc2>
+            <comment>Le la,gage de requête est SQL plus des possiblités 
d'ajouter des conditions à l'utilisation de critères suppélmentaires (if, 
choose, foreach).</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_900690955" title="Personnalisation des requêtes">
+            <desc>Possibilité de personnaliser les requêtes SQL pour aller 
plus loin que ce qui est permis par le langage de requête</desc>
+            <desc0>Pas de possibilité de faire des requêtes 
personnalisées</desc0>
+            <desc1>La personnalisation des requêtes est possible mais 
limitée</desc1>
+            <desc2>La solution est adaptable et permet de supporter tout type 
de données</desc2>
+            <comment>Le framework impose l'écriture des requêtes.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_463148311" title="Gestion de concurrence">
+            <desc>Gestion de la concurrence (support des approches optimiste 
et pessimiste)</desc>
+            <desc0>Pas de gestion de concurrence</desc0>
+            <desc1>Gestion pessimiste de concurrence</desc1>
+            <desc2>Gestion optimiste de concurrence</desc2>
+            <comment>MyBatis supporte les 5 niveaux d'osilation de JDBC :NONE, 
READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ et SERIALIZABLE).     
+  
+</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+         <element name="ID_652002875" title="Heritage, polymorphisme">
+            <desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies 
entre les entités et utiliser le polymorphisme</desc>
+            <desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+            <desc1>Support d'héritage limité (gestion limitée à une seule 
façon : Simple /  Concret / Par agrégation)</desc1>
+            <desc2>Support des différentes combinaisons de tables et de 
classes</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+         <element name="ID_1690384726" title="Liberté dans les classes">
+            <desc>Pas de classe de base pour les entités; pas d'interface 
obligatoire; pas de classe spécifique pour les collections</desc>
+            <desc0>Les classes dépendent d'une classe de base ou d'une 
interface </desc0>
+            <desc1>Certaines classes spécifiques sont imposées par le 
framwork (exemple : collections)</desc1>
+            <desc2>Les classes sont libres (pas de classes de base, pas 
d'interface obligatoire, pas de classes spécifiques pour les 
collections)</desc2>
+            <comment>Le framework impose uniquement des classes simples de 
types JavaBeans et propose également dl'intégration avec les frameworks 
Spring et Guice.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1276541290" title="Systèmes d'intercepteurs et 
mécanismes de délégation">
+            <desc>Système d'intercepteurs et mécanismes de délégation pour 
avoir la main au moment où la gestion de la persistance intervient</desc>
+            <desc0>Pas de support</desc0>
+            <desc1>Support partiel</desc1>
+            <desc2>Support complet</desc2>
+            <comment>Un certain nombres de mécanismes de MyBatis peuvent 
être étendus en surchargeant des classes du frameworks. Cela concerne par 
exemple : le gestion des types, le récupération d'objets via Factory.
+Des intercepteurs existent également à l'exécution des requêtes, la 
gestion de leurs paramètres et de leurs résultats.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_701838668" title="Filtrage d'objet en mémoire">
+            <desc0>Pas de filtrage </desc0>
+            <desc1>Filtrage d'objets partiel ou complexe</desc1>
+            <desc2>Filtrage d'objets souple</desc2>
+            <comment>Il est possible ddde réaliser de la pagination sur les 
requêtes retournant plusieurs lignes (paramètre RowBounds)</comment>
+            <score>1</score>
+         </element>
+      </element>
+      <element name="ID_706579590" title="Gestion des associations">
+         <element name="ID_742121362" title="Association objets &lt;-&gt; 
tables">
+            <element name="ID_312267195" title="Association classe/plusieurs 
tables">
+               <desc>Possibilité d'associer à une classe des données 
provenant de plusieurs tables (jointures, vues)</desc>
+               <desc0>Fonctionnalité non offerte (mapping direct d'une table 
sur une classe)</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_38998304" title="Eclatement table -&gt; 
plusieurs classes">
+               <desc>Possibilité de pouvoir éclater en plusieurs classes les 
données d'une table</desc>
+               <desc0>Fonctionnalité non offerte</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1039584203" title="Types de relation">
+               <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+               <desc0>Pas de support</desc0>
+               <desc1>Support limité (pas de relations n-n)</desc1>
+               <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_1024175273" title="Définition des associations">
+            <element name="ID_201588288" title="Externe ">
+               <desc0>Pas de fichier de mapping externe</desc0>
+               <desc1>Fichier de mapping obligatoire</desc1>
+               <desc2>Fichier de mapping optionnel</desc2>
+               <comment>Il est possible de passer par des classes spécifiques 
(Mapper) et des annotations Java.</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1316391039" title="Attributs dans le code">
+               <desc0>Pas d'attributs dans le code</desc0>
+               <desc1>Attributs dans le code obligatoires</desc1>
+               <desc2>Attributs dans le code optionnels</desc2>
+               <comment>Il est possible de passer par des fichiers de 
paramétrage XML externes.</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_1914850042" title="Génération des associations">
+            <desc>Les déclarations d'associations peuvent être générées 
par le framework par reverse engineering</desc>
+            <desc0>Fonctionnalité non offerte</desc0>
+            <desc1>Fonctionnalité disponible mais limitée</desc1>
+            <desc2>Fonctionnalité complètement couverte</desc2>
+            <comment>MyBatis Generator permet de générer les associations 
simples (CRUD) via reverse engineering du schéma de la base de 
données.</comment>
+            <score>1</score>
+         </element>
+      </element>
+      <element name="ID_1249899865" title="Fonctionnalités liées aux 
données">
+         <element name="ID_1439836939" title="Types supportés">
+            <element name="ID_697051761" title="Types de données 
spécifiques">
+               <desc>Support des types de données spécifiques au moteur de 
base de données (champs de type compteur - identity/autoincrémenté, 
GUID)</desc>
+               <desc0>Pas de support </desc0>
+               <desc1>Seulement quelques types sont supportés pour certains 
SGBD</desc1>
+               <desc2>Support complet (types compteur, 
identity/autoincrémenté, GUID)</desc2>
+               <comment>MyBatis permet d'utiliser la méthode useGeneratedKeys 
de JDBC ou d'implémenter soi même la génération de clé unique.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1247023248" title="Gestion des types de données 
évolués (images...)">
+               <desc0>Pas de support des types de données évolués</desc0>
+               <desc1>Quelques types évolués sont supportés</desc1>
+               <desc2>La solution est adaptable et permet de supporter tout 
type de données</desc2>
+               <comment>Il suffit d'implémenter le TypeHandler et de 
configurer MyBatis en conséquence. Les TypesHandlers existants peuvent 
également être surchargés.</comment>
+               <score>2</score>
+            </element>
+         </element>
+         <element name="ID_1809466455" title="Fonctionnalités SQL 
supportées">
+            <element name="ID_491863742" title="Agrégats">
+               <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN, 
MAX, COUNT du SQL)</desc>
+               <desc0>Pas de support des fonctions d'agrégat</desc0>
+               <desc1>Support uniquement de quelques fonctions 
d'agrégat</desc1>
+               <desc2>Support de toutes les fonctions d'agrégat</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1829057516" title="Groupes">
+               <desc>Support des groupes (GROUP BY du SQL)</desc>
+               <desc0>Pas de support de groupes</desc0>
+               <desc1>Support partiel des groupes</desc1>
+               <desc2>Support complet des groupes</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_15374559" title="Procédures stockées">
+               <desc>Support des procédures stockées</desc>
+               <desc0>Pas de support des procédures stockées</desc0>
+               <desc1>Support partiel ou limité</desc1>
+               <desc2>Support complet des procédures stockées</desc2>
+               <comment>Il s'agit de requêtes de type select paramétrées 
avec statementType à la valeur CALLABLE.</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1493124660" title="Jointures SQL ">
+               <desc>Support de tout type de jointures SQL (inner join, outer 
join)</desc>
+               <desc0>Pas de support de jointures SQL</desc0>
+               <desc1>Support limité des jointures SQL</desc1>
+               <desc2>Support de jointures SQL souple et efficace</desc2>
+               <comment>Fait par le développeur via des requêtes 
paramétrées et des associations entre objets et résultats 
retournés.</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_803290388" title="Liaison avec la base de données">
+            <element name="ID_650827994" title="Génération du schéma de BD">
+               <desc>Le framework permet-il de générer le schéma de la base 
de données ?</desc>
+               <desc0>Le schéma n'est pas généré</desc0>
+               <desc1>La génération est possible mais pas 
personnalisable</desc1>
+               <desc2>Génération du schéma automatique et 
personnalisable</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+            <element name="ID_1160163318" title="Différer les MAJ de la BD">
+               <desc>Pouvoir différer les mises à jour de la base de 
données, et les déclencher à un instant donné par un appel de méthode 
spécifique</desc>
+               <desc0>Fonctionnalité non supportée</desc0>
+               <desc1>La maîtrise des mises à jour est possible mais 
limitée ou complexe</desc1>
+               <desc2>Le framework offre la complète maîtrise des mises à 
jour</desc2>
+               <comment>En positionnant le paramètre flushCache à false dans 
les déclarations de requêtes.
+Le cache de niveau 2, s'il est activé, est paramétrable (fréquence de 
flush, politique d'éviction, taile...).</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1787877607" title="Mode déconnecté">
+               <desc>Support du mode déconnecté (alimenter des objets depuis 
la base de données, fermer la connexion, la session, créer/modifier/supprimer 
des objets, et appliquer ces modifications sur la base de données plus 
tard)</desc>
+               <desc0>Pas de support du mode déconnecté</desc0>
+               <desc1>Support partiel du mode déconnecté</desc1>
+               <desc2>Support complet du mode déconnecté</desc2>
+               <comment>Il est envisageable de stocker les données en cache 
et de forcer plus tard la MAJ des la base de données, cette fonctionnalités 
n'est pas offerte en standard.</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_346348844" title="Chiffrement des données">
+            <desc0>Pas de chiffrement des données</desc0>
+            <desc1>Support limité (par exemple, un seul algorithme de 
chiffrement est supporté)</desc1>
+            <desc2>Support complet (l'utilisateur a la possibilité de choisir 
l'algorithme de chiffrement )</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_1587767826" title="Optimisation et performance">
+      <element name="ID_193053566" title="Chargement différé">
+         <desc>Lazy loading</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>Les chargements paresseux ou aggresifs peuvent être forcés 
par paramétrage.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1471006078" title="Requêtes optimisées">
+         <desc>mise à jour uniquement des champs modifiés, ..</desc>
+         <desc0>Pas de requêtes optimisées</desc0>
+         <desc1>Support des requêtes optimisées</desc1>
+         <desc2>Support completl des requêtes optimisées</desc2>
+         <comment>Par défaut MyBatis utilise des prepared satements pour 
l'exécution de ses requêtes paramétrées.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1653886314" title="MAJ en cascade">
+         <desc>Gestion des mises à jour en cascade</desc>
+         <desc0>Non gérée </desc0>
+         <desc1>Mises à jour en cascade partiellement supportées</desc1>
+         <desc2>Mises à jour en cascade complètement supportées</desc2>
+         <comment></comment>
+         <score>0</score>
+      </element>
+      <element name="ID_1245205026" title="MAJ / Suppressions massives">
+         <desc>Gestion des modifications, des suppressions des milliers 
d'enregistrements d'un coup sans avoir à charger tous les objets en 
mémoire.</desc>
+         <desc0>Non supportées</desc0>
+         <desc1>Partiellement supportées</desc1>
+         <desc2>Complètement supportées</desc2>
+         <comment>Fait par le développeur via des requêtes paramétrées.
+MyBatis gère également des sessions de types Batch qui sont exécutées ne 
une fois à la fin de la transaction.</comment>
+         <score>1</score>
+      </element>
+      <element name="ID_423607022" title="Pools de connexions">
+         <desc>Gestion de pools de connexions par le framework</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>MyBatis propose le choix entre utiliser un pool de connexion 
interne, aucun pool ou un pool externe récupéréé via JNDI.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1707317083" title="Caches">
+         <element name="ID_667733390" title="Cache des requêtes">
+            <desc0>Pas de cache des requêtes</desc0>
+            <desc1>Cache de requêtes à gérer à la main</desc1>
+            <desc2>Cache des requêtes généré dynamiquement</desc2>
+            <comment>MyBatis propose par défaut un cache de niveau 1 au 
niveau de la saession.
+Le cache de niveau 2, s'il est activé, est paramétrable (fréquence de 
flush, politique d'éviction, taille...).
+Il est également possible d'utiliser un cache externe : les intégrations de 
oscache, ehcache et hazelcast sont codumentées.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1612841399" title="Cache de certaines données">
+            <desc0>Pas de cache de données</desc0>
+            <desc1>Cache de données existant mais limité</desc1>
+            <desc2>Existence d'un cache des données</desc2>
+            <comment>MyBatis est un Data Mapper et non un ORM, ainsi deux 
appels à la même requête retourneront deux objets différents.</comment>
+            <score>0</score>
+         </element>
+      </element>
+   </section>
+</document>
\ No newline at end of file

Index: template/ORM-Java_fr.qsos
===================================================================
RCS file: template/ORM-Java_fr.qsos
diff -N template/ORM-Java_fr.qsos
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ template/ORM-Java_fr.qsos   29 May 2012 12:54:26 -0000      1.1
@@ -0,0 +1,493 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+<header>
+<authors/>
+<dates>
+<creation/>
+<validation/>
+</dates>
+<appname/>
+<desc/>
+<release/>
+<licenseid/>
+<licensedesc/>
+<url/>
+<demourl/>
+<language>fr</language>
+<qsosappname/>
+<qsosformat>1.0</qsosformat>
+<qsosspecificformat/>
+<qsosappfamily>ORM Java</qsosappfamily>
+</header>
+<section name="generic" title="Maturité">
+<element name="maturity" title="Patrimoine">
+<desc>Historique et patrimoine du projet</desc>
+<element name="age" title="Age du projet">
+<desc0>Inférieur à trois mois</desc0>
+<desc1>Entre trois mois et trois ans</desc1>
+<desc2>Supérieur à trois ans</desc2>
+<comment/>
+<score/>
+</element>
+<element name="historyknowproblems" title="Historique">
+<desc0>Le logiciel connaît de nombreux problèmes qui peuvent être 
rédhibitoires</desc0>
+<desc1>Pas de problèmes majeurs, ni de crise ou historique inconnu</desc1>
+<desc2>Bon historique de gestion de projet et de crise</desc2>
+<comment/>
+<score/>
+</element>
+<element name="developersidentificationturnover" title="Equipe de 
développement">
+<desc0>Très peu de développeurs identifiés ou développeur unique</desc0>
+<desc1>Quelques développeurs actifs</desc1>
+<desc2>Equipe de développement importante et identifiée</desc2>
+<comment/>
+<score/>
+</element>
+<element name="popularity" title="Popularité">
+<desc0>Très peu d'utilisateurs identifiés</desc0>
+<desc1>Usage décelable</desc1>
+<desc2>Nombreux utilisateurs et références</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="activity" title="Activité">
+<desc>Activité du et autour du projet</desc>
+<element name="contributingcommunity" title="Communauté des contributeurs">
+<desc0>Pas de communauté ou de réelle activité (forum, liste de 
diffusion…)</desc0>
+<desc1>Communauté existante avec une activité notable</desc1>
+<desc2>Communauté forte : grosse activité sur les forums, de nombreux 
contributeurs et défenseurs</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonbugs" title="Activité autour des bugs">
+<desc0>Réactivité faible sur le forum ou sur la liste de diffusion, ou rien 
au sujet des corrections de bugs dans les notes de versions</desc0>
+<desc1>Activité détectable mais sans processus clairement exposé, temps de 
résolution long</desc1>
+<desc2>Forte réactivité, basée sur des rôles et des assignations de 
tâches</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonfunctionalities" title="Activité autour des 
fonctionnalités">
+<desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+<desc1>Évolution du produit conduite par une équipe dédiée ou par des 
utilisateurs, mais sans processus clairement exposé</desc1>
+<desc2>Les requêtes pour les nouvelles fonctionnalités sont clairement 
outillées, feuille de route disponible</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonreleases" title="Activité sur les releases/versions">
+<desc0>Très faible activité que ce soit sur les versions de production ou de 
développement (alpha, beta)</desc0>
+<desc1>Activité que ce soit sur les versions de production ou de 
développement (alpha, beta), avec des versions correctives mineures 
fréquentes</desc1>
+<desc2>Activité importante avec des versions correctives fréquentes et des 
versions majeures planifiées liées aux prévisions de la feuille de 
route</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="strategy" title="Gouvernance">
+<desc>Stratégie du projet</desc>
+<element name="copyrightowners" title="Détenteur des droits">
+<desc0>Les droits sont détenus par quelques individus ou entités 
commerciales</desc0>
+<desc1>Les droits sont détenus par de nombreux individus de façon 
homogène</desc1>
+<desc2>Les droits sont détenus par une entité légale, une fondation dans 
laquelle la communauté a confiance (ex: FSF, Apache, ObjectWeb)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="roadmap" title="Feuille de route">
+<desc0>Pas de feuille de route publiée</desc0>
+<desc1>Feuille de route sans planning</desc1>
+<desc2>Feuille de route versionnée, avec planning et mesures de retard</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_740641571" title="Pilotage du projet">
+<desc0>Pas de pilotage clair du projet</desc0>
+<desc1>Pilotage dicté par un seul individu ou une entité commerciale</desc1>
+<desc2>Indépendance forte de l'équipe de développement, droits détenus par 
une entité reconnue</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_548761152" title="Mode de distribution">
+<desc0>Existence d'une distribution commerciale ou propriétaire ou 
distribution libre limitée fonctionnellement</desc0>
+<desc1>Sous-partie du logiciel disponible sous licence propriétaire (Coeur / 
Greffons...)</desc1>
+<desc2>Distribution totalement ouverte et libre</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="industrializedsolution" title="Industrialisation">
+<desc>Niveau d'industrialisation du projet</desc>
+<element name="services" title="Services">
+<desc>Offres de services (Support, Formation, Audit...)</desc>
+<desc0>Pas d'offre de service identifiée</desc0>
+<desc1>Offre existante mais restreinte géographiquement ou en une seule 
langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+<desc2>Offre riche, plusieurs fournisseurs, avec des garanties de 
résultats</desc2>
+<comment/>
+<score/>
+</element>
+<element name="documentation" title="Documentation">
+<desc0>Pas de documentation utilisateur</desc0>
+<desc1>La documentation existe mais est en partie obsolète ou restreinte à 
une seule langue ou peu détaillée</desc1>
+<desc2>Documentation à jour, traduite et éventuellement adaptée à 
différentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="qualityassurance" title="Méthode qualité">
+<desc>Processus et méthode qualité</desc>
+<desc0>Pas de processus qualité identifié</desc0>
+<desc1>Processus qualité existant, mais non formalisé ou non outillé</desc1>
+<desc2>Processus qualité basé sur l'utilisation d'outils et de 
méthodologies standards</desc2>
+<comment/>
+<score/>
+</element>
+<element name="modificationofsourcecode" title="Modification du code">
+<desc0>Pas de moyen pratique de proposer des modifications de code</desc0>
+<desc1>Des outils sont fournis pour accéder et modifier le code (ex : CVS, 
SVN) mais ne sont pas vraiment utilisés pour développer le produit</desc1>
+<desc2>Le processus de modification de code est bien défini, exposé et 
respecté, basé sur des rôles bien définis</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+<section name="ID_338434665" title="Utilisabilité">
+<element name="ID_1773897131" title="Intégration IDE">
+<element name="ID_1199895028" title="Outil graphique">
+<desc>Outil graphique accompagnateur pour configurer le mapping</desc>
+<desc0>Pas d'outil graphique pour le mapping</desc0>
+<desc1>Outil graphique de mapping limité</desc1>
+<desc2>Outil graphique de mapping riche</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_114293744" title="Génération de classes ">
+<desc>Génération des classes d'objets de données</desc>
+<desc0>Pas de génération de classes</desc0>
+<desc1>Génération automatique des classes</desc1>
+<desc2>Génération personnalisable</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1430039139" title="Génération de schéma de base de 
données">
+<desc0>Requièrt son propre modèle</desc0>
+<desc1>Génération possible mais non personnalisable</desc1>
+<desc2>Génération personnalisable (base de données déjà existante ou 
non)</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1616300461" title="Génération de la documentation">
+<desc0>Pas de documentation générée</desc0>
+<desc1>Génération possible mais non personnalisable</desc1>
+<desc2>Génération personnalisable de la documentation</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_309751365" title="Portabilité">
+<element name="ID_1389041924" title="Portabilité du code">
+<desc>Portabilité du code lors du changement de SGBD</desc>
+<desc0>Code spécifique au SGBD à réimplémenter à la main</desc0>
+<desc1>Code spécifique au SGBD partiellement généré par la 
framework</desc1>
+<desc2>Code spécifique au SGBD complétement généré par la 
framework</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_517153792" title="Base de données supportées">
+<desc>Quelles sont les bases de données supportées par la solution ?</desc>
+<desc0>Nombre très limité</desc0>
+<desc1>Nombre limité</desc1>
+<desc2>Grand nombre de bases de données supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1060935903" title="Respects des standards">
+<element name="ID_1520050744" title="SQL">
+<desc>Versions de SQL supportées</desc>
+<desc0>Le framework ne respecte pas SQL</desc0>
+<desc1>Le framework ne respecte qu'une version de SQL</desc1>
+<desc2>Le framework supporte plusieurs versions de SQL et en fonction du SGBD 
permet de préciser laquelle utiliser</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_80299401" title="JPA">
+<desc>Compatibilité du framework avec Java Persistence API</desc>
+<desc0>Framework non compatible avec JPA</desc0>
+<desc1>Framework non compatible la dernière version de JPA, JPA2</desc1>
+<desc2>Framework compatible avec JPA2</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1807694901" title="JDO">
+<desc>Compatibilité du framework avec Java Data Objects</desc>
+<desc0>Framework non compatible avec JDO</desc0>
+<desc1>Framework partiellement compatible avec JDO</desc1>
+<desc2>Framework complètement compatible avec JDO</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</element>
+</section>
+<section name="ID_424401691" title="Fonctionnalités ORM">
+<element name="ID_1215384889" title="Gestion des requêtes">
+<element name="ID_441206190" title="Transactions">
+<desc>Support des transactions</desc>
+<desc0>Pas de support des transactions</desc0>
+<desc1>Support partiel des transactions</desc1>
+<desc2>Support complet des transactions</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1344369848" title="Langage de requête">
+<desc>Langage de requêtes puissant afin de pouvoir faire des requêtes 
dynamiques</desc>
+<desc0>Langage de requête faible</desc0>
+<desc1>Langage de requête assez puissant (ne supporte pas les fonctions 
avancées de SQL)</desc1>
+<desc2>Langage de requête puissant</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_900690955" title="Personnalisation des requêtes">
+<desc>Possibilité de personnaliser les requêtes SQL pour aller plus loin que 
ce qui est permis par le langage de requête</desc>
+<desc0>Pas de possibilité de faire des requêtes personnalisées</desc0>
+<desc1>La personnalisation des requêtes est possible mais limitée</desc1>
+<desc2>La solution est adaptable et permet de supporter tout type de 
données</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_463148311" title="Gestion de concurrence">
+<desc>Gestion de la concurrence (support des approches optimiste et 
pessimiste)</desc>
+<desc0>Pas de gestion de concurrence</desc0>
+<desc1>Gestion pessimiste de concurrence</desc1>
+<desc2>Gestion optimiste de concurrence</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+<element name="ID_652002875" title="Heritage, polymorphisme">
+<desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies entre les 
entités et utiliser le polymorphisme</desc>
+<desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+<desc1>Support d'héritage limité (gestion limitée à une seule façon : 
Simple /  Concret / Par agrégation)</desc1>
+<desc2>Support des différentes combinaisons de tables et de classes</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1690384726" title="Liberté dans les classes">
+<desc>Pas de classe de base pour les entités; pas d'interface obligatoire; 
pas de classe spécifique pour les collections</desc>
+<desc0>Les classes dépendent d'une classe de base ou d'une interface </desc0>
+<desc1>Certaines classes spécifiques sont imposées par le framwork (exemple 
: collections)</desc1>
+<desc2>Les classes sont libres (pas de classes de base, pas d'interface 
obligatoire, pas de classes spécifiques pour les collections)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1276541290" title="Systèmes d'intercepteurs et mécanismes 
de délégation">
+<desc>Système d'intercepteurs et mécanismes de délégation pour avoir la 
main au moment où la gestion de la persistance intervient</desc>
+<desc0>Pas de support</desc0>
+<desc1>Support partiel</desc1>
+<desc2>Support complet</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_701838668" title="Filtrage d'objet en mémoire">
+<desc0>Pas de filtrage </desc0>
+<desc1>Filtrage d'objets partiel ou complexe</desc1>
+<desc2>Filtrage d'objets souple</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_706579590" title="Gestion des associations">
+<element name="ID_742121362" title="Association objets &lt;-&gt; tables">
+<element name="ID_312267195" title="Association classe/plusieurs tables">
+<desc>Possibilité d'associer à une classe des données provenant de 
plusieurs tables (jointures, vues)</desc>
+<desc0>Fonctionnalité non offerte (mapping direct d'une table sur une 
classe)</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_38998304" title="Eclatement table -&gt; plusieurs classes">
+<desc>Possibilité de pouvoir éclater en plusieurs classes les données d'une 
table</desc>
+<desc0>Fonctionnalité non offerte</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1039584203" title="Types de relation">
+<desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+<desc0>Pas de support</desc0>
+<desc1>Support limité (pas de relations n-n)</desc1>
+<desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1024175273" title="Définition des associations">
+<element name="ID_201588288" title="Externe ">
+<desc0>Pas de fichier de mapping externe</desc0>
+<desc1>Fichier de mapping obligatoire</desc1>
+<desc2>Fichier de mapping optionnel</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1316391039" title="Attributs dans le code">
+<desc0>Pas d'attributs dans le code</desc0>
+<desc1>Attributs dans le code obligatoires</desc1>
+<desc2>Attributs dans le code optionnels</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1914850042" title="Génération des associations">
+<desc>Les déclarations d'associations peuvent être générées par le 
framework par reverse engineering</desc>
+<desc0>Fonctionnalité non offerte</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1249899865" title="Fonctionnalités liées aux données">
+<element name="ID_1439836939" title="Types supportés">
+<element name="ID_697051761" title="Types de données spécifiques">
+<desc>Support des types de données spécifiques au moteur de base de données 
(champs de type compteur - identity/autoincrémenté, GUID)</desc>
+<desc0>Pas de support </desc0>
+<desc1>Seulement quelques types sont supportés pour certains SGBD</desc1>
+<desc2>Support complet (types compteur, identity/autoincrémenté, 
GUID)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1247023248" title="Gestion des types de données évolués 
(images...)">
+<desc0>Pas de support des types de données évolués</desc0>
+<desc1>Quelques types évolués sont supportés</desc1>
+<desc2>La solution est adaptable et permet de supporter tout type de 
données</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1809466455" title="Fonctionnalités SQL supportées">
+<element name="ID_491863742" title="Agrégats">
+<desc>Gestion des agrégats (équivalent des SUM, AVG, MIN, MAX, COUNT du 
SQL)</desc>
+<desc0>Pas de support des fonctions d'agrégat</desc0>
+<desc1>Support uniquement de quelques fonctions d'agrégat</desc1>
+<desc2>Support de toutes les fonctions d'agrégat</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1829057516" title="Groupes">
+<desc>Support des groupes (GROUP BY du SQL)</desc>
+<desc0>Pas de support de groupes</desc0>
+<desc1>Support partiel des groupes</desc1>
+<desc2>Support complet des groupes</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_15374559" title="Procédures stockées">
+<desc>Support des procédures stockées</desc>
+<desc0>Pas de support des procédures stockées</desc0>
+<desc1>Support partiel ou limité</desc1>
+<desc2>Support complet des procédures stockées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1493124660" title="Jointures SQL ">
+<desc>Support de tout type de jointures SQL (inner join, outer join)</desc>
+<desc0>Pas de support de jointures SQL</desc0>
+<desc1>Support limité des jointures SQL</desc1>
+<desc2>Support de jointures SQL souple et efficace</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_803290388" title="Liaison avec la base de données">
+<element name="ID_650827994" title="Génération du schéma de BD">
+<desc>Le framework permet-il de générer le schéma de la base de données 
?</desc>
+<desc0>Le schéma n'est pas généré</desc0>
+<desc1>La génération est possible mais pas personnalisable</desc1>
+<desc2>Génération du schéma automatique et personnalisable</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1160163318" title="Différer les MAJ de la BD">
+<desc>Pouvoir différer les mises à jour de la base de données, et les 
déclencher à un instant donné par un appel de méthode spécifique</desc>
+<desc0>Fonctionnalité non supportée</desc0>
+<desc1>La maîtrise des mises à jour est possible mais limitée ou 
complexe</desc1>
+<desc2>Le framework offre la complète maîtrise des mises à jour</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1787877607" title="Mode déconnecté">
+<desc>Support du mode déconnecté (alimenter des objets depuis la base de 
données, fermer la connexion, la session, créer/modifier/supprimer des 
objets, et appliquer ces modifications sur la base de données plus tard)</desc>
+<desc0>Pas de support du mode déconnecté</desc0>
+<desc1>Support partiel du mode déconnecté</desc1>
+<desc2>Support complet du mode déconnecté</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_346348844" title="Chiffrement des données">
+<desc0>Pas de chiffrement des données</desc0>
+<desc1>Support limité (par exemple, un seul algorithme de chiffrement est 
supporté)</desc1>
+<desc2>Support complet (l'utilisateur a la possibilité de choisir 
l'algorithme de chiffrement )</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+<section name="ID_1587767826" title="Optimisation et performance">
+<element name="ID_193053566" title="Chargement différé">
+<desc>Lazy loading</desc>
+<desc0>Non supporté</desc0>
+<desc1>Supporté de manière partielle</desc1>
+<desc2>Complètement supporté</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1471006078" title="Requêtes optimisées">
+<desc>mise à jour uniquement des champs modifiés, ..</desc>
+<desc0>Pas de requêtes optimisées</desc0>
+<desc1>Support des requêtes optimisées</desc1>
+<desc2>Support completl des requêtes optimisées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1653886314" title="MAJ en cascade">
+<desc>Gestion des mises à jour en cascade</desc>
+<desc0>Non gérée </desc0>
+<desc1>Mises à jour en cascade partiellement supportées</desc1>
+<desc2>Mises à jour en cascade complètement supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1245205026" title="MAJ / Suppressions massives">
+<desc>Gestion des modifications, des suppressions des milliers 
d'enregistrements d'un coup sans avoir à charger tous les objets en 
mémoire.</desc>
+<desc0>Non supportées</desc0>
+<desc1>Partiellement supportées</desc1>
+<desc2>Complètement supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_423607022" title="Pools de connexions">
+<desc>Gestion de pools de connexions par le framework</desc>
+<desc0>Non supporté</desc0>
+<desc1>Supporté de manière partielle</desc1>
+<desc2>Complètement supporté</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1707317083" title="Caches">
+<element name="ID_667733390" title="Cache des requêtes">
+<desc0>Pas de cache des requêtes</desc0>
+<desc1>Cache de requêtes à gérer à la main</desc1>
+<desc2>Cache des requêtes généré dynamiquement</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1612841399" title="Cache de certaines données">
+<desc0>Pas de cache de données</desc0>
+<desc1>Cache de données existant mais limité</desc1>
+<desc2>Existence d'un cache des données</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+</document>

Index: Torque/Torque-3.3_fr.qsos
===================================================================
RCS file: Torque/Torque-3.3_fr.qsos
diff -N Torque/Torque-3.3_fr.qsos
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ Torque/Torque-3.3_fr.qsos   29 May 2012 12:54:26 -0000      1.1
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+   <header>
+      <authors>
+         <author>
+            <name>Raphael Semeteys</name>
+            <email>address@hidden</email>
+         </author>
+      </authors>
+      <dates>
+         <creation></creation>
+         <validation></validation>
+      </dates>
+      <appname>Torque</appname>
+      <desc></desc>
+      <release>3.3</release>
+      <licenseid>23</licenseid>
+      <licensedesc>The Apache License 2.0</licensedesc>
+      <url>http://db.apache.org/torque/</url>
+      <demourl></demourl>
+      <language>fr</language>
+      <qsosappname></qsosappname>
+      <qsosformat>1.0</qsosformat>
+      <qsosspecificformat></qsosspecificformat>
+      <qsosappfamily>ORM Java</qsosappfamily>
+   </header>
+   <section name="generic" title="Maturité">
+      <element name="maturity" title="Patrimoine">
+         <desc>Historique et patrimoine du projet</desc>
+         <element name="age" title="Age du projet">
+            <desc0>Inférieur à trois mois</desc0>
+            <desc1>Entre trois mois et trois ans</desc1>
+            <desc2>Supérieur à trois ans</desc2>
+            <comment>Le projet date de 2000.</comment>
+            <score>2</score>
+         </element>
+         <element name="historyknowproblems" title="Historique">
+            <desc0>Le logiciel connaît de nombreux problèmes qui peuvent 
être rédhibitoires</desc0>
+            <desc1>Pas de problèmes majeurs, ni de crise ou historique 
inconnu</desc1>
+            <desc2>Bon historique de gestion de projet et de crise</desc2>
+            <comment></comment>
+            <score>1</score>
+         </element>
+         <element name="developersidentificationturnover" title="Equipe de 
développement">
+            <desc0>Très peu de développeurs identifiés ou développeur 
unique</desc0>
+            <desc1>Quelques développeurs actifs</desc1>
+            <desc2>Equipe de développement importante et identifiée</desc2>
+            <comment>3 développeur actifs, 5 au total 
(http://www.ohloh.net/p/freshmeat_torque/factoids/5781184)</comment>
+            <score>1</score>
+         </element>
+         <element name="popularity" title="Popularité">
+            <desc0>Très peu d'utilisateurs identifiés</desc0>
+            <desc1>Usage décelable</desc1>
+            <desc2>Nombreux utilisateurs et références</desc2>
+            <comment>Framework ancien et reconnu même s'il est désormais en 
perte de vitesse.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="activity" title="Activité">
+         <desc>Activité du et autour du projet</desc>
+         <element name="contributingcommunity" title="Communauté des 
contributeurs">
+            <desc0>Pas de communauté ou de réelle activité (forum, liste de 
diffusion…)</desc0>
+            <desc1>Communauté existante avec une activité notable</desc1>
+            <desc2>Communauté forte : grosse activité sur les forums, de 
nombreux contributeurs et défenseurs</desc2>
+            <comment>Activité décelable au niveau de la base de code et sur 
la liste de discussion des développeurs, bien qu'en décroissance.</comment>
+            <score>1</score>
+         </element>
+         <element name="activityonbugs" title="Activité autour des bugs">
+            <desc0>Réactivité faible sur le forum ou sur la liste de 
diffusion, ou rien au sujet des corrections de bugs dans les notes de 
versions</desc0>
+            <desc1>Activité détectable mais sans processus clairement 
exposé, temps de résolution long</desc1>
+            <desc2>Forte réactivité, basée sur des rôles et des 
assignations de tâches</desc2>
+            <comment>Activité relativement faible 
(https://issues.apache.org/jira/browse/TORQUE)</comment>
+            <score>1</score>
+         </element>
+         <element name="activityonfunctionalities" title="Activité autour des 
fonctionnalités">
+            <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+            <desc1>Évolution du produit conduite par une équipe dédiée ou 
par des utilisateurs, mais sans processus clairement exposé</desc1>
+            <desc2>Les requêtes pour les nouvelles fonctionnalités sont 
clairement outillées, feuille de route disponible</desc2>
+            <comment>Le projet gère une roadmap mais les nouvelles 
fonctionnalités sont rares.</comment>
+            <score>0</score>
+         </element>
+         <element name="activityonreleases" title="Activité sur les 
releases/versions">
+            <desc0>Très faible activité que ce soit sur les versions de 
production ou de développement (alpha, beta)</desc0>
+            <desc1>Activité que ce soit sur les versions de production ou de 
développement (alpha, beta), avec des versions correctives mineures 
fréquentes</desc1>
+            <desc2>Activité importante avec des versions correctives 
fréquentes et des versions majeures planifiées liées aux prévisions de la 
feuille de route</desc2>
+            <comment>Une version 4.0 est prévue depuis plusieurs années 
(https://issues.apache.org/jira/browse/TORQUE#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel),
 la dernière version stable date de 2008.</comment>
+            <score>0</score>
+         </element>
+      </element>
+      <element name="strategy" title="Gouvernance">
+         <desc>Stratégie du projet</desc>
+         <element name="copyrightowners" title="Détenteur des droits">
+            <desc0>Les droits sont détenus par quelques individus ou entités 
commerciales</desc0>
+            <desc1>Les droits sont détenus par de nombreux individus de 
façon homogène</desc1>
+            <desc2>Les droits sont détenus par une entité légale, une 
fondation dans laquelle la communauté a confiance (ex: FSF, Apache, 
ObjectWeb)</desc2>
+            <comment>Les droits sont détenus par la fondation 
Apache.</comment>
+            <score>2</score>
+         </element>
+         <element name="roadmap" title="Feuille de route">
+            <desc0>Pas de feuille de route publiée</desc0>
+            <desc1>Feuille de route sans planning</desc1>
+            <desc2>Feuille de route versionnée, avec planning et mesures de 
retard</desc2>
+            
<comment>https://issues.apache.org/jira/browse/TORQUE/fixforversion/12312102</comment>
+            <score>1</score>
+         </element>
+         <element name="ID_740641571" title="Pilotage du projet">
+            <desc0>Pas de pilotage clair du projet</desc0>
+            <desc1>Pilotage dicté par un seul individu ou une entité 
commerciale</desc1>
+            <desc2>Indépendance forte de l'équipe de développement, droits 
détenus par une entité reconnue</desc2>
+            <comment></comment>
+            <score>2</score>
+         </element>
+         <element name="ID_548761152" title="Mode de distribution">
+            <desc0>Existence d'une distribution commerciale ou propriétaire 
ou distribution libre limitée fonctionnellement</desc0>
+            <desc1>Sous-partie du logiciel disponible sous licence 
propriétaire (Coeur / Greffons...)</desc1>
+            <desc2>Distribution totalement ouverte et libre</desc2>
+            <comment></comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="industrializedsolution" title="Industrialisation">
+         <desc>Niveau d'industrialisation du projet</desc>
+         <element name="services" title="Services">
+            <desc>Offres de services (Support, Formation, Audit...)</desc>
+            <desc0>Pas d'offre de service identifiée</desc0>
+            <desc1>Offre existante mais restreinte géographiquement ou en une 
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+            <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de 
résultats</desc2>
+            <comment>Quelques offres de support, peu de formation. </comment>
+            <score>1</score>
+         </element>
+         <element name="documentation" title="Documentation">
+            <desc0>Pas de documentation utilisateur</desc0>
+            <desc1>La documentation existe mais est en partie obsolète ou 
restreinte à une seule langue ou peu détaillée</desc1>
+            <desc2>Documentation à jour, traduite et éventuellement adaptée 
à différentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+            
<comment>http://db.apache.org/torque/documentation/index.html</comment>
+            <score>1</score>
+         </element>
+         <element name="qualityassurance" title="Méthode qualité">
+            <desc>Processus et méthode qualité</desc>
+            <desc0>Pas de processus qualité identifié</desc0>
+            <desc1>Processus qualité existant, mais non formalisé ou non 
outillé</desc1>
+            <desc2>Processus qualité basé sur l'utilisation d'outils et de 
méthodologies standards</desc2>
+            <comment>Torque s'insère dans le processus qualité de la 
fondation Apache</comment>
+            <score>2</score>
+         </element>
+         <element name="modificationofsourcecode" title="Modification du code">
+            <desc0>Pas de moyen pratique de proposer des modifications de 
code</desc0>
+            <desc1>Des outils sont fournis pour accéder et modifier le code 
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le 
produit</desc1>
+            <desc2>Le processus de modification de code est bien défini, 
exposé et respecté, basé sur des rôles bien définis</desc2>
+            
<comment>http://db.apache.org/torque/developer-info/index.html</comment>
+            <score>2</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_338434665" title="Utilisabilité">
+      <element name="ID_1773897131" title="Intégration IDE">
+         <element name="ID_1199895028" title="Outil graphique">
+            <desc>Outil graphique accompagnateur pour configurer le 
mapping</desc>
+            <desc0>Pas d'outil graphique pour le mapping</desc0>
+            <desc1>Outil graphique de mapping limité</desc1>
+            <desc2>Outil graphique de mapping riche</desc2>
+            <comment>Le projet pointe vers des outils externes obsolètes 
(http://db.apache.org/torque/tools/index.html)</comment>
+            <score>0</score>
+         </element>
+         <element name="ID_114293744" title="Génération de classes ">
+            <desc>Génération des classes d'objets de données</desc>
+            <desc0>Pas de génération de classes</desc0>
+            <desc1>Génération automatique des classes</desc1>
+            <desc2>Génération personnalisable</desc2>
+            <comment>Via le système de templates Velocity qui est 
personnalisable.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1430039139" title="Génération de schéma de base 
de données">
+            <desc0>Requièrt son propre modèle</desc0>
+            <desc1>Génération possible mais non personnalisable</desc1>
+            <desc2>Génération personnalisable (base de données déjà 
existante ou non)</desc2>
+            <comment>Le schéma est généré à partir de la modélisation au 
format XSD des données, via le système de templates Velocity qui est 
personnalisable.</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_1616300461" title="Génération de la documentation">
+         <desc0>Pas de documentation générée</desc0>
+         <desc1>Génération possible mais non personnalisable</desc1>
+         <desc2>Génération personnalisable de la documentation</desc2>
+         <comment>Torque propose des tâches Maven/Ant pour générer 
automatiquement la documentation au format HTML (tâche maven 
torque:doc).</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_309751365" title="Portabilité">
+         <element name="ID_1389041924" title="Portabilité du code">
+            <desc>Portabilité du code lors du changement de SGBD</desc>
+            <desc0>Code spécifique au SGBD à réimplémenter à la 
main</desc0>
+            <desc1>Code spécifique au SGBD partiellement généré par la 
framework</desc1>
+            <desc2>Code spécifique au SGBD complétement généré par la 
framework</desc2>
+            <comment>Le code est généré à partir de la modélisation au 
formet XSD des données</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_517153792" title="Base de données supportées">
+            <desc>Quelles sont les bases de données supportées par la 
solution ?</desc>
+            <desc0>Nombre très limité</desc0>
+            <desc1>Nombre limité</desc1>
+            <desc2>Grand nombre de bases de données supportées</desc2>
+            <comment>Axion (Alpha), Cloudscape, DB2, DB2/AS400 , Derby, 
Firebird, Hypersonic, Informix, InstantDB, Interbase, MS Access, MS SQL , 
MySQL, Oracle, PostgreSQL, SapDB, Sybase</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1060935903" title="Respects des standards">
+            <element name="ID_1520050744" title="SQL">
+               <desc>Versions de SQL supportées</desc>
+               <desc0>Le framework ne respecte pas SQL</desc0>
+               <desc1>Le framework ne respecte qu'une version de SQL</desc1>
+               <desc2>Le framework supporte plusieurs versions de SQL et en 
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+               <comment>Torque ne permet pas de préciser la version standard 
de SQL</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_80299401" title="JPA">
+               <desc>Compatibilité du framework avec Java Persistence 
API</desc>
+               <desc0>Framework non compatible avec JPA</desc0>
+               <desc1>Framework non compatible la dernière version de JPA, 
JPA2</desc1>
+               <desc2>Framework compatible avec JPA2</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+            <element name="ID_1807694901" title="JDO">
+               <desc>Compatibilité du framework avec Java Data Objects</desc>
+               <desc0>Framework non compatible avec JDO</desc0>
+               <desc1>Framework partiellement compatible avec JDO</desc1>
+               <desc2>Framework complètement compatible avec JDO</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+         </element>
+      </element>
+   </section>
+   <section name="ID_424401691" title="Fonctionnalités ORM">
+      <element name="ID_1215384889" title="Gestion des requêtes">
+         <element name="ID_441206190" title="Transactions">
+            <desc>Support des transactions</desc>
+            <desc0>Pas de support des transactions</desc0>
+            <desc1>Support partiel des transactions</desc1>
+            <desc2>Support complet des transactions</desc2>
+            <comment>Les classes auto générées contiennent des instructions 
transactionnelles, il est également possible de gérer directement les 
transactions.</comment>
+            <score>2</score>
+         </element>
+         <element name="ID_1344369848" title="Langage de requête">
+            <desc>Langage de requêtes puissant afin de pouvoir faire des 
requêtes dynamiques</desc>
+            <desc0>Langage de requête faible</desc0>
+            <desc1>Langage de requête assez puissant (ne supporte pas les 
fonctions avancées de SQL)</desc1>
+            <desc2>Langage de requête puissant</desc2>
+            <comment>Torque ne propose pas de langage de requête en tant que 
tel mais une API utilisable via les classes Java générées par le 
framework.</comment>
+            <score>0</score>
+         </element>
+         <element name="ID_900690955" title="Personnalisation des requêtes">
+            <desc>Possibilité de personnaliser les requêtes SQL pour aller 
plus loin que ce qui est permis par le langage de requête</desc>
+            <desc0>Pas de possibilité de faire des requêtes 
personnalisées</desc0>
+            <desc1>La personnalisation des requêtes est possible mais 
limitée</desc1>
+            <desc2>La solution est adaptable et permet de supporter tout type 
de données</desc2>
+            <comment>Les classe générées sont personnalisables.</comment>
+            <score>1</score>
+         </element>
+         <element name="ID_463148311" title="Gestion de concurrence">
+            <desc>Gestion de la concurrence (support des approches optimiste 
et pessimiste)</desc>
+            <desc0>Pas de gestion de concurrence</desc0>
+            <desc1>Gestion pessimiste de concurrence</desc1>
+            <desc2>Gestion optimiste de concurrence</desc2>
+            <comment>Torque ne propose pas de gestion optimiste de la 
concurrence.</comment>
+            <score>1</score>
+         </element>
+      </element>
+      <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+         <element name="ID_652002875" title="Heritage, polymorphisme">
+            <desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies 
entre les entités et utiliser le polymorphisme</desc>
+            <desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+            <desc1>Support d'héritage limité (gestion limitée à une seule 
façon : Simple /  Concret / Par agrégation)</desc1>
+            <desc2>Support des différentes combinaisons de tables et de 
classes</desc2>
+            <comment></comment>
+            <score>1</score>
+         </element>
+         <element name="ID_1690384726" title="Liberté dans les classes">
+            <desc>Pas de classe de base pour les entités; pas d'interface 
obligatoire; pas de classe spécifique pour les collections</desc>
+            <desc0>Les classes dépendent d'une classe de base ou d'une 
interface </desc0>
+            <desc1>Certaines classes spécifiques sont imposées par le 
framwork (exemple : collections)</desc1>
+            <desc2>Les classes sont libres (pas de classes de base, pas 
d'interface obligatoire, pas de classes spécifiques pour les 
collections)</desc2>
+            <comment>Les classes générées par le framework sont 
spécifiques.</comment>
+            <score>0</score>
+         </element>
+         <element name="ID_1276541290" title="Systèmes d'intercepteurs et 
mécanismes de délégation">
+            <desc>Système d'intercepteurs et mécanismes de délégation pour 
avoir la main au moment où la gestion de la persistance intervient</desc>
+            <desc0>Pas de support</desc0>
+            <desc1>Support partiel</desc1>
+            <desc2>Support complet</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+         <element name="ID_701838668" title="Filtrage d'objet en mémoire">
+            <desc0>Pas de filtrage </desc0>
+            <desc1>Filtrage d'objets partiel ou complexe</desc1>
+            <desc2>Filtrage d'objets souple</desc2>
+            <comment></comment>
+            <score>1</score>
+         </element>
+      </element>
+      <element name="ID_706579590" title="Gestion des associations">
+         <element name="ID_742121362" title="Association objets &lt;-&gt; 
tables">
+            <element name="ID_312267195" title="Association classe/plusieurs 
tables">
+               <desc>Possibilité d'associer à une classe des données 
provenant de plusieurs tables (jointures, vues)</desc>
+               <desc0>Fonctionnalité non offerte (mapping direct d'une table 
sur une classe)</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment>La philosophie de Torque ets d'associer les objets aux 
tables en relation 1-1 ou 1-n, le framework ne permet pas de réaliser plus 
d'une jointure.</comment>
+               <score>0</score>
+            </element>
+            <element name="ID_38998304" title="Eclatement table -&gt; 
plusieurs classes">
+               <desc>Possibilité de pouvoir éclater en plusieurs classes les 
données d'une table</desc>
+               <desc0>Fonctionnalité non offerte</desc0>
+               <desc1>Fonctionnalité disponible mais limitée</desc1>
+               <desc2>Fonctionnalité complètement couverte</desc2>
+               <comment>La philosophie de Torque ets d'associer les objets aux 
tables en relation 1-1 ou 1-n (notion de Peer).</comment>
+               <score>0</score>
+            </element>
+            <element name="ID_1039584203" title="Types de relation">
+               <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+               <desc0>Pas de support</desc0>
+               <desc1>Support limité (pas de relations n-n)</desc1>
+               <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+               <comment>La philosophie de Torque ets d'associer les objets aux 
tables en relation 1-1 ou 1-n.</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_1024175273" title="Définition des associations">
+            <element name="ID_201588288" title="Externe ">
+               <desc0>Pas de fichier de mapping externe</desc0>
+               <desc1>Fichier de mapping obligatoire</desc1>
+               <desc2>Fichier de mapping optionnel</desc2>
+               <comment>Torque utilise un fichier XML au format DTD pour 
décrire le schéma des données, à partir duquel sont générés le schéma 
de base de données et les classes Java. </comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1316391039" title="Attributs dans le code">
+               <desc0>Pas d'attributs dans le code</desc0>
+               <desc1>Attributs dans le code obligatoires</desc1>
+               <desc2>Attributs dans le code optionnels</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+         </element>
+         <element name="ID_1914850042" title="Génération des associations">
+            <desc>Les déclarations d'associations peuvent être générées 
par le framework par reverse engineering</desc>
+            <desc0>Fonctionnalité non offerte</desc0>
+            <desc1>Fonctionnalité disponible mais limitée</desc1>
+            <desc2>Fonctionnalité complètement couverte</desc2>
+            <comment>A partir d'un schéma au format SQL (tâche maven 
torque:sql2xml) ou en se connectant directement à la base de données (tâche 
maven torque:jdbc).</comment>
+            <score>2</score>
+         </element>
+      </element>
+      <element name="ID_1249899865" title="Fonctionnalités liées aux 
données">
+         <element name="ID_1439836939" title="Types supportés">
+            <element name="ID_697051761" title="Types de données 
spécifiques">
+               <desc>Support des types de données spécifiques au moteur de 
base de données (champs de type compteur - identity/autoincrémenté, 
GUID)</desc>
+               <desc0>Pas de support </desc0>
+               <desc1>Seulement quelques types sont supportés pour certains 
SGBD</desc1>
+               <desc2>Support complet (types compteur, 
identity/autoincrémenté, GUID)</desc2>
+               <comment>Torque utilise l'ID Broker pour autoamtiquement créer 
des clé primaires uniques, à partir d'une table spécifique appelée id_table.
+Le framework est également capable d'utiliser le mécanisme de génération 
d'identifiant des SGBD (précisé via l'attribut idMethod du schéma).</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1247023248" title="Gestion des types de données 
évolués (images...)">
+               <desc0>Pas de support des types de données évolués</desc0>
+               <desc1>Quelques types évolués sont supportés</desc1>
+               <desc2>La solution est adaptable et permet de supporter tout 
type de données</desc2>
+               <comment></comment>
+               <score>0</score>
+            </element>
+         </element>
+         <element name="ID_1809466455" title="Fonctionnalités SQL 
supportées">
+            <element name="ID_491863742" title="Agrégats">
+               <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN, 
MAX, COUNT du SQL)</desc>
+               <desc0>Pas de support des fonctions d'agrégat</desc0>
+               <desc1>Support uniquement de quelques fonctions 
d'agrégat</desc1>
+               <desc2>Support de toutes les fonctions d'agrégat</desc2>
+               
<comment>http://db.apache.org/torque/releases/torque-3.3/runtime/apidocs/org/apache/torque/util/functions/FunctionFactory.html</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1829057516" title="Groupes">
+               <desc>Support des groupes (GROUP BY du SQL)</desc>
+               <desc0>Pas de support de groupes</desc0>
+               <desc1>Support partiel des groupes</desc1>
+               <desc2>Support complet des groupes</desc2>
+               <comment>Via la méthode addGroupByColumn de la classe 
Criteria</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_15374559" title="Procédures stockées">
+               <desc>Support des procédures stockées</desc>
+               <desc0>Pas de support des procédures stockées</desc0>
+               <desc1>Support partiel ou limité</desc1>
+               <desc2>Support complet des procédures stockées</desc2>
+               <comment>Il est possible de gérer l'appel et le retour de 
procédures stockées mais cela semble complexe te très peu documenté : 
http://wiki.apache.org/db-torque/FrequentlyAskedQuestions#How_can_I_execute_a_stored_procedure</comment>
+               <score>1</score>
+            </element>
+            <element name="ID_1493124660" title="Jointures SQL ">
+               <desc>Support de tout type de jointures SQL (inner join, outer 
join)</desc>
+               <desc0>Pas de support de jointures SQL</desc0>
+               <desc1>Support limité des jointures SQL</desc1>
+               <desc2>Support de jointures SQL souple et efficace</desc2>
+               <comment>Ne génère pas de requêtes avec plus d'une jointure 
via clé primaire</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_803290388" title="Liaison avec la base de données">
+            <element name="ID_650827994" title="Génération du schéma de BD">
+               <desc>Le framework permet-il de générer le schéma de la base 
de données ?</desc>
+               <desc0>Le schéma n'est pas généré</desc0>
+               <desc1>La génération est possible mais pas 
personnalisable</desc1>
+               <desc2>Génération du schéma automatique et 
personnalisable</desc2>
+               <comment>Le schéma est généré à partir de la modélisation 
au format XSD des données, via le système de templates Velocity qui est 
personnalisable.</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1160163318" title="Différer les MAJ de la BD">
+               <desc>Pouvoir différer les mises à jour de la base de 
données, et les déclencher à un instant donné par un appel de méthode 
spécifique</desc>
+               <desc0>Fonctionnalité non supportée</desc0>
+               <desc1>La maîtrise des mises à jour est possible mais 
limitée ou complexe</desc1>
+               <desc2>Le framework offre la complète maîtrise des mises à 
jour</desc2>
+               <comment>Les données sont gérées par Torque dans les objets 
spécifiques te ne sont sauvagardées que sur appels explicites de méthides de 
type doSave() ou doDelete()</comment>
+               <score>2</score>
+            </element>
+            <element name="ID_1787877607" title="Mode déconnecté">
+               <desc>Support du mode déconnecté (alimenter des objets depuis 
la base de données, fermer la connexion, la session, créer/modifier/supprimer 
des objets, et appliquer ces modifications sur la base de données plus 
tard)</desc>
+               <desc0>Pas de support du mode déconnecté</desc0>
+               <desc1>Support partiel du mode déconnecté</desc1>
+               <desc2>Support complet du mode déconnecté</desc2>
+               <comment>Non proposé en standard bien qu'il soit envisageable 
de le faure via les API et les objets générés par Torque.</comment>
+               <score>1</score>
+            </element>
+         </element>
+         <element name="ID_346348844" title="Chiffrement des données">
+            <desc0>Pas de chiffrement des données</desc0>
+            <desc1>Support limité (par exemple, un seul algorithme de 
chiffrement est supporté)</desc1>
+            <desc2>Support complet (l'utilisateur a la possibilité de choisir 
l'algorithme de chiffrement )</desc2>
+            <comment></comment>
+            <score>0</score>
+         </element>
+      </element>
+   </section>
+   <section name="ID_1587767826" title="Optimisation et performance">
+      <element name="ID_193053566" title="Chargement différé">
+         <desc>Lazy loading</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>En discussion pour la version 4 du framework 
(http://wiki.apache.org/db-torque/NextRelease).</comment>
+         <score>0</score>
+      </element>
+      <element name="ID_1471006078" title="Requêtes optimisées">
+         <desc>mise à jour uniquement des champs modifiés, ..</desc>
+         <desc0>Pas de requêtes optimisées</desc0>
+         <desc1>Support des requêtes optimisées</desc1>
+         <desc2>Support completl des requêtes optimisées</desc2>
+         <comment>Torque supporte les prepared statements pour les 
instructions SELECT (via les méthodes doPSSelect() et 
createPreparedStatement() de la classe BasePeer).</comment>
+         <score>1</score>
+      </element>
+      <element name="ID_1653886314" title="MAJ en cascade">
+         <desc>Gestion des mises à jour en cascade</desc>
+         <desc0>Non gérée </desc0>
+         <desc1>Mises à jour en cascade partiellement supportées</desc1>
+         <desc2>Mises à jour en cascade complètement supportées</desc2>
+         <comment></comment>
+         <score>0</score>
+      </element>
+      <element name="ID_1245205026" title="MAJ / Suppressions massives">
+         <desc>Gestion des modifications, des suppressions des milliers 
d'enregistrements d'un coup sans avoir à charger tous les objets en 
mémoire.</desc>
+         <desc0>Non supportées</desc0>
+         <desc1>Partiellement supportées</desc1>
+         <desc2>Complètement supportées</desc2>
+         <comment>Via l'utilisation d'objets de types Peer qui sont associés 
aux tables et non aux enregistrements.</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_423607022" title="Pools de connexions">
+         <desc>Gestion de pools de connexions par le framework</desc>
+         <desc0>Non supporté</desc0>
+         <desc1>Supporté de manière partielle</desc1>
+         <desc2>Complètement supporté</desc2>
+         <comment>Torque supporte les pools de connexion JDBC (via le sous 
projet Village).</comment>
+         <score>2</score>
+      </element>
+      <element name="ID_1707317083" title="Caches">
+         <element name="ID_667733390" title="Cache des requêtes">
+            <desc0>Pas de cache des requêtes</desc0>
+            <desc1>Cache de requêtes à gérer à la main</desc1>
+            <desc2>Cache des requêtes généré dynamiquement</desc2>
+            <comment></comment>
+            <score>1</score>
+         </element>
+         <element name="ID_1612841399" title="Cache de certaines données">
+            <desc0>Pas de cache de données</desc0>
+            <desc1>Cache de données existant mais limité</desc1>
+            <desc2>Existence d'un cache des données</desc2>
+            <comment>La notion de Manager permet de gérer un cache d'object 
via Apache JCS (Java Caching System) mais le cache est global et non 
transactionnel.</comment>
+            <score>1</score>
+         </element>
+      </element>
+   </section>
+</document>
\ No newline at end of file



reply via email to

[Prev in Thread] Current Thread [Next in Thread]