Files
XdlOrm/doc/qxorm_fr/home.html
2026-04-03 11:32:07 +08:00

491 lines
28 KiB
HTML
Raw Blame History

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>QxOrm : C++ Qt ORM Object Relational Mapping database library - QxEntityEditor : C++ Qt entities graphic editor
(data model designer and source code generator)</title>
<link rel='stylesheet' type='text/css' href='./resource/qxorm_style.css'>
<script type="text/javascript" src="./resource/jquery.min.js"></script>
<script type="text/javascript" src="./resource/qxorm_script.js"></script>
</head>
<body>
<table border="0" style="width: 80%" align="center">
<col>
<col>
<col>
<col>
<col>
<tbody>
<tr>
<td><a href="./home.html"><img alt="QxOrm" src="./resource/logo_qxorm_and_qxee.png" align="left" border="0"></a>
</td>
<td align="right" style="vertical-align:bottom">
<div id="qx_search">
<gcse:search></gcse:search>
</div>
</td>
<td width="15"></td>
<td align="right" style="vertical-align:bottom">
<img alt="Windows" src="./resource/logo_windows.gif" width="35" height="35">
<img alt="Linux" src="./resource/logo_linux.gif" width="35" height="35">
<img alt="Macintosh" src="./resource/logo_mac.gif" width="35" height="35">
</td>
<td width="70"><img alt="C++" src="./resource/logo_cpp.gif" width="50" height="50" align="right"></td>
</tr>
</tbody>
</table>
<hr style="width: 80%" align="center" size="1" color="#100D5A">
<table border="0" style="width: 80%" align="center">
<col>
<col>
<col>
<col>
<col>
<col>
<tbody>
<tr>
<td align="center"><a href="./home.html" class="btn_nav">Accueil</a></td>
<td align="center"><a href="./download.html" class="btn_nav">T<EFBFBD>l<EFBFBD>chargement</a></td>
<td align="center"><a href="./quick_sample.html" class="btn_nav">Exemple rapide</a></td>
<td align="center" onmouseover="showHideElementById('menu_tuto', true);"
onmouseout="showHideElementById('menu_tuto', false);">
<a href="./tutorial.html" class="btn_nav">Tutoriel (4)</a>
<table class="table_menu_tuto">
<tbody>
<tr>
<td>
<div id="menu_tuto" class="div_menu_tuto">
<a href="./tutorial_3.html" class="btn_sub_menu">install QxOrm</a><br />
<a href="./tutorial.html" class="btn_sub_menu">qxBlog</a><br />
<a href="./tutorial_2.html" class="btn_sub_menu">qxClientServer</a><br />
<a href="./tutorial_4.html" class="btn_sub_menu">QxEntityEditor videos</a>
</div>
</td>
</tr>
</tbody>
</table>
</td>
<td align="center" onmouseover="showHideElementById('menu_manual', true);"
onmouseout="showHideElementById('menu_manual', false);">
<a href="./manual.html" class="btn_nav">Manuel (2)</a>
<table class="table_menu_manual">
<tbody>
<tr>
<td>
<div id="menu_manual" class="div_menu_manual">
<a href="./manual.html" class="btn_sub_menu">Manuel QxOrm</a><br />
<a href="./manual_qxee.html" class="btn_sub_menu">Manuel QxEntityEditor</a><br />
</div>
</td>
</tr>
</tbody>
</table>
</td>
<td align="center"><a href="./link.html" class="btn_nav">Forum</a></td>
<td align="center"><a href="./customer.html" class="btn_nav">Nos clients</a></td>
</tr>
</tbody>
</table>
<hr style="width: 80%" align="center" size="1" color="#100D5A">
<table border="0" style="width: 80%" align="center">
<col>
<col>
<col>
<col>
<col>
<col>
<tbody>
<tr>
<td align="left" valign="top">
<font size="2" class="txt_with_shadow">QxOrm &gt;&gt; Accueil</font>
</td>
<td align="right" valign="top">
<table cellspacing="0" cellpadding="1">
<col>
<col>
<tbody>
<tr>
<td align="right" valign="top">
<font size="2" class="txt_with_shadow">Version courante :&nbsp;</font>
</td>
<td align="left" valign="top">
<font size="2" class="txt_with_shadow">QxOrm 1.5.0 - <a href="../doxygen/index.html"
target="_blank">documentation en ligne de la biblioth<74>que QxOrm</a> - <a
href="https://github.com/QxOrm/QxOrm" target="_blank">GitHub</a></font>
</td>
</tr>
<tr>
<td align="right" valign="top">
<font size="2" class="txt_with_shadow"></font>
</td>
<td align="left" valign="top">
<font size="2" class="txt_with_shadow">QxEntityEditor 1.2.8</font>
</td>
</tr>
</tbody>
</table>
</td>
<td width="10px"></td>
<td width="40px" height="30px"><a href="../qxorm_fr/home.html"><img alt="Version fran<61>aise du site"
src="./resource/FR.png" width="40" height="30" border="0"></a></td>
<td width="40px" height="30px"><a href="../qxorm_en/home.html"><img alt="Web site english version"
src="./resource/GB.png" width="40" height="30" border="0"></a></td>
<td width="40px" height="30px"><a href="http://sites.google.com/site/qxormpostgres/" target="_blank"><img alt=""
src="./resource/ES.png" width="40" height="30" border="0"></a></td>
</tr>
</tbody>
</table>
<table border="1" frame="vsides" rules="cols" style="width: 80%" align="center" cellpadding="6" bgcolor="#F2F2F4">
<col>
<tbody>
<tr>
<td align="justify">
<table border="0" style="width: 100%" align="center">
<col>
<col>
<tbody>
<tr>
<td>
<h1 class="txt_slogan">QxOrm (le moteur) + QxEntityEditor (l'<27>diteur graphique) = la meilleure
solution pour g<>rer sa couche de donn<6E>es persistante en C++/Qt !</h1>
<br />
<hr style="width: 90%" align="center" size="1" color="#100D5A">
<br /><b>QxOrm est une biblioth<74>que C++ de gestion de donn<6E>es.</b>
A partir d'une simple <b>fonction de param<61>trage</b> (que l'on peut
comparer avec un fichier de mapping <a href="http://hibernate.org/"
target="_blank"><i>Hibernate</i></a> en Java), vous
aurez acc<63>s aux fonctionnalit<69>s suivantes :<br>
<ul>
<li><b>
<font style="background-color:yellow"><a href="./manual.html#manual_30">Persistance</a></font>
</b> : support des bases de donn<6E>es SQLite, MySQL, PostgreSQL, Oracle, MS SQL Server, <a
href="./manual.html#manual_95">MongoDB</a> (gestion des relations <i>1-1</i>, <i>1-n</i>,
<i>n-1</i> et <i>n-n</i>) ;
</li>
<li><b>
<font style="background-color:yellow"><a href="./manual.html#manual_60">S<EFBFBD>rialisation</a></font>
</b> des donn<6E>es (flux JSON, binaire et XML) ;</li>
<li><b>
<font style="background-color:yellow"><a href="./manual.html#manual_70">R<EFBFBD>flexion</a></font>
</b> (ou <b>
<font style="background-color:yellow"><a href="./manual.html#manual_70">introspection</a></font>
</b>) pour acc<63>der dynamiquement aux classes, attributs et invoquer des m<>thodes ;</li>
<li><b>
<font style="background-color:yellow"><a href="./manual.html#manual_96">Serveur web HTTP</a>
</font>
</b> : serveur web compatible HTTP 1.1 autonome, performant, multi-plateforme et simple
d'utilisation ;</li>
<li><b>
<font style="background-color:yellow"><a href="./manual.html#manual_97">API JSON</a></font>
</b> : interop<6F>rabilit<69> avec d'autres technologies que C++/Qt (web services REST, applications
QML, langages de script).</li>
</ul>
<hr style="width: 90%" align="center" size="1" color="#100D5A">
</td>
<td width="200" align="center" valign="top"><a href="./resource/qt_ambassador_logo.png"
target="_blank"><img alt="qt_ambassador" src="./resource/qt_ambassador_logo_150x150.png" width="150"
height="150" border="0"></a><br>
<b>
<font size="2">QxOrm library has been accepted into the <a
href="http://forum.qt.io/category/24/qt-ambassador-program" target="_blank">Qt Ambassador
Program</a></font>
</b>
</td>
</tr>
</tbody>
</table>
<br />
<b>QxEntityEditor</b> est un <20>diteur graphique pour la biblioth<74>que <b>QxOrm</b> : <b>QxEntityEditor</b>
permet de g<>rer graphiquement le mod<6F>le d'entit<69>s.<br>
<b>QxEntityEditor</b> est multi-plateforme (disponible pour Windows, Linux et Mac OS X) et g<>n<EFBFBD>re du code
natif pour tous les environnements : bureau (Windows, Linux, Mac OS X), embarqu<71> et mobile (Android, iOS,
Windows Phone, Raspberry Pi, etc.).<br>
<a href="./manual_qxee.html">Un manuel utilisateur (documentation) d<>di<64> <20> l'application <b>QxEntityEditor</b>
est disponible</a>.<br>
<br>
<b>QxEntityEditor</b> est bas<61> sur un syst<73>me de plugins et propose diverses fonctionnalit<69>s pour
importer/exporter le mod<6F>le de donn<6E>es :
<ul>
<li><a href="./manual_qxee.html#cpp_export_settings">g<EFBFBD>n<EFBFBD>ration automatique du code C++</a> (classes
persistantes enregistr<74>es dans le contexte QxOrm) ;</li>
<li><a href="./manual_qxee.html#ddl_export_settings">g<EFBFBD>n<EFBFBD>ration automatique des scripts SQL DDL</a> (sch<63>ma
de base de donn<6E>es) pour les bases SQLite, MySQL, PostgreSQL, Oracle et MS SQL Server ;</li>
<li>supporte l'<27>volution du sch<63>ma de base de donn<6E>es pour chaque version d'un projet (<i>ALTER TABLE</i>,
<i>ADD COLUMN</i>, <i>DROP INDEX</i>, etc.) ;
</li>
<li><a href="./manual_qxee.html#cpp_services_export_settings">g<EFBFBD>n<EFBFBD>ration automatique des classes C++ de
services</a> pour transf<73>rer le mod<6F>le de donn<6E>es sur le r<>seau, en utilisant le module <a
href="../doxygen/html/group___qx_service.html" target="_blank">QxService</a>, pour cr<63>er rapidement des
applications client/serveur ;</li>
<li><a href="./manual_qxee.html#wnd_mysql_import">importation automatique des structures de bases de
donn<6E>es</a> existantes (par connexion ODBC ou pilote natif) pour les bases SQLite, MySQL, PostgreSQL,
Oracle et MS SQL Server ;</li>
<li>parce que chaque projet est diff<66>rent, QxEntityEditor propose plusieurs outils pour personnaliser les
fichiers g<>n<EFBFBD>r<EFBFBD>s (notamment <a href="./manual_qxee.html#js_engine">un moteur javascript et un d<>bogueur
int<6E>gr<67></a>).</li>
</ul>
<a href="../qxentityeditor/resource/qxee_sample.png" target="_blank"><img alt="QxEntityEditor"
src="../qxentityeditor/resource/qxee_sample_small.png" border="0" class="img_with_shadow"></a>
<br><br>
<hr style="width: 90%" align="center" size="1" color="#100D5A">
<br>
La biblioth<74>que <b>QxOrm</b> a pour objectif de simplifier le code C++ tout en offrant un maximum de
fonctionnalit<69>s.<br>
Voici les principaux avantages de QxOrm :
<ul>
<li><b>non intrusif</b> : la <i>fonction de param<61>trage</i> se trouve <20>
l'ext<78>rieur des classes. La signature des classes n'est donc pas
modifi<66>e. QxOrm peut donc <20>tre utilis<69> dans des projets
existants ;
</li>
<li><b>aucune n<>cessit<69> d'appartenir <20> une hi<68>rarchie de
classes</b> : les classes n'ont pas besoin de d<>river d'un 'super
objet' ;
</li>
<li><b>pas de mapping XML</b> ;
</li>
<li>1 seul fichier <i>&lt;QxOrm.h&gt;</i> <20> inclure dans l'en-t<>te
pr<70>compil<69> (<b>precompiled-header</b> recommand<6E> pour optimiser les temps
de compilation) ;
</li>
<li>aucune n<>cessit<69> d'utiliser le pr<70>-compilateur 'moc' fourni
par Qt ;
</li>
<li>v<EFBFBD>rification des types <20> la compilation (utilisation intensive
de <b>m<EFBFBD>ta-programmation</b>) ;
</li>
<li>compatible avec <b>Visual C++</b> sous Windows,
<b>GCC</b> sous Linux, <b>Clang</b> sous Mac OS X, et <b>MinGW</b> sous Windows (d'autres environnements
et
plateformes seront test<73>s prochainement : mobiles, etc...) ;
</li>
<li>compatible avec le d<>veloppement de biblioth<74>ques partag<61>es
(shared library, <i>*.dll</i> pour Windows, <i>*.so</i> pour Linux,
etc...).
</li>
</ul>
<br>
<p align="justify"><b>QxOrm</b> est bas<61> sur la biblioth<74>que <a href="http://www.qt.io/"
target="_blank"><b>Qt</b></a> (compatible Qt4, Qt5, Qt6) :</p>
<!-- <a href="http://www.boost.org/" target="_blank"><b>boost</b></a> (compatible <20> partir de la version 1.38, par d<>faut seuls les fichiers d'en-t<EFBFBD>te <i>*.hpp</i> sont n<>cessaires) :</p> -->
<p></p>
<table border="0" style="width: 100%" align="center">
<col>
<col>
<tbody>
<tr>
<td valign="middle" width="161" align="center"><a href="http://www.qt.io/" target="_blank"><img alt="Qt"
src="./resource/logo_qt.jpg" width="42" height="50" border="0"></a></td>
<td align="justify"><b>Qt</b> : biblioth<74>que compl<70>te : IHM
(<i>QtGui</i>), r<>seau (<i>QtNetwork</i>), XML (<i>QtXml</i>), base de donn<6E>es
(<i>QtSql</i>), etc...<br>
La documentation est excellente et le code C++ <20>crit <20> partir
de cette biblioth<74>que est <20> la fois performant et simple de
compr<70>hension.<br>
Depuis le rachat par Nokia puis Digia et sa nouvelle licence LGPL, Qt est
sans contexte la biblioth<74>que phare du moment.<br>
QxOrm est compatible avec les principaux objets d<>finis par Qt
: <i>QObject, QString, QDate, QTime, QDateTime, QList, QHash,
QSharedPointer, QScopedPointer, etc...</i><br>
Il est conseill<6C> d'installer et d'utiliser la derni<6E>re version
de Qt disponible <20> l'adresse suivante : <a href="http://www.qt.io/"
target="_blank">http://www.qt.io/</a> </td>
</tr>
</tbody>
</table>
<p></p>
<!--
<table border="0" style="width: 100%" align="center">
<col>
<col>
<tbody>
<tr>
<td valign="middle" width="161" align="center"><a
href="http://www.boost.org/" target="_blank"><img alt="boost"
src="./resource/logo_boost.jpg" width="161"
height="50" border="0"></a></td>
<td align="justify"><b>boost</b> : de nombreux modules de la
biblioth<74>que boost font partie de la nouvelle norme C++.<br>
C'est une biblioth<74>que reconnue pour sa qualit<69>, son code 'C++
moderne', sa documentation, sa portabilit<69>, etc...<br>
QxOrm utilise les fonctionnalit<69>s suivantes de boost :
<i>smart_pointer, type_traits,
multi_index_container, unordered_container, any, tuple,
foreach, function.</i> Toutes ces fonctionnalit<69>s sont <i>header only</i>, la d<>pendance au module <i>serialization</i> est optionnelle.<br>
Il est conseill<6C> d'installer et d'utiliser la derni<6E>re version
de boost disponible <20> l'adresse suivante : <a href="http://www.boost.org/" target="_blank">http://www.boost.org/</a> </td>
</tr>
</tbody>
</table>
<p></p>
-->
<br>
<p><b>QxOrm</b> est divis<69> en sous-modules, voici un descriptif rapide :</p>
<ul>
<li>
<p><b><a href="../doxygen/html/group___qx_dao.html" target="_blank">QxDao</a></b> : bas<61> sur le moteur <a
href="http://doc.qt.io/qt-5/qtsql-index.html" target="_blank"><i>QtSql</i></a> de Qt, ce module
permet de communiquer (s<>lection, modification, suppression,
transaction, etc...) avec de nombreuses bases de donn<6E>es en mappant
chaque champ d'une table avec les propri<72>t<EFBFBD>s d'une classe C++. Les
relations de type <i>1-1</i>, <i>1-n</i>, <i>n-1</i> et <i>n-n</i> sont tr<74>s simples <20>
mettre en place dans le code C++. Ce module supporte la
programmation objet : h<>ritage, polymorphisme, composition,
association ainsi que les collections (support des collections de
<b>stl</b>, <b>boost</b> et <b>Qt</b> : <i>std::vector, std::list,
std::unordered_map, QList, QHash, etc...</i>).
</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_register.html" target="_blank">QxRegister</a>, <a
href="../doxygen/html/group___qx_data_member.html" target="_blank">QxDataMember</a> et <a
href="../doxygen/html/group___qx_function.html" target="_blank">QxFunction</a></b> : m<>me si
ce n'est pas le but 1er de QxOrm, il est n<>cessaire d'<27>muler le
m<>canisme de <i>reflection</i> (ou <i>introspection</i>) pr<70>sent nativement dans d'autres langages
(Java, C#, etc...) pour utiliser toutes les fonctionnalit<69>s de
QxOrm.</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_model_view.html" target="_blank">QxModelView</a></b> :
toute classe enregistr<74>e dans le contexte QxOrm peut <20>tre utilis<69>e par <a
href="http://doc.qt.io/qt-5/modelview.html" target="_blank">le moteur model/view de Qt</a> (Qt widgets
et/ou vues QML).
L'interface <a href="../doxygen/html/classqx_1_1_ix_model.html" target="_blank">qx::IxModel</a> expose
automatiquement au moteur QML toutes les propri<72>t<EFBFBD>s d<>finies dans le contexte QxOrm.
Ce module permet ainsi de faciliter l'int<6E>raction entre QML et les bases de donn<6E>es.</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_service.html" target="_blank">QxService</a></b> : bas<61> sur le
moteur <a href="http://doc.qt.io/qt-5/qtnetwork-index.html" target="_blank"><i>QtNetwork</i></a> de Qt,
ce module
permet de cr<63>er de mani<6E>re simple et performante <b>un serveur d'applications en C++</b> (notion de
<i>services</i> avec <i>demande</i> du client et <i>r<EFBFBD>ponse</i> du serveur). <b>QxService</b> utilise la
<i>serialization</i> et l'<i>introspection</i> des donn<6E>es
et fonctions pour pouvoir faire transiter sur le r<>seau n'importe quelle classe ou structure. Pour plus
d'informations sur ce module, <b>un tutoriel</b> est disponible <a href="./tutorial_2.html">en cliquant
ici</a>.
</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_collection.html" target="_blank">QxCollection&lt;Key,
Value&gt;</a></b> :
<!-- bas<61> sur
<a href="http://www.boost.org/doc/libs/release/libs/multi_index/doc/index.html" target="_blank"><i>boost::multi_index_container</i></a>, -->
cette collection thread-safe permet de cumuler
les avantages d'un <i>std::vector&lt;T&gt;</i> (conserve l'ordre
d'insertion + acc<63>s rapide par index) et d'un
<i>std::unordered_map&lt;Key, Value&gt;</i> ou encore <i>QHash&lt;Key,
Value&gt;</i> (acc<63>s rapide par cl<63> : <i>hash-map</i>). Ce type de collection
est particuli<6C>rement adapt<70> pour contenir les <20>l<EFBFBD>ments issus d'une
base de donn<6E>es.
</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_serialize.html" target="_blank">QxSerialize</a></b> :
<!-- ce module s'appuie sur l'excellente
biblioth<74>que <a href="http://www.boost.org/doc/libs/release/libs/serialization/doc/index.html" target="_blank"><i>boost::serialization</i></a>. -->
Toute classe d<>finie par QxOrm
peut <20>tre s<>rializ<69>e dans un flux binaire, XML et JSON. Ce module permet
<20>galement de cloner toutes les instances d'objet. Les principaux
objets de la biblioth<74>que Qt (<i>QObject, QString, QDate, QTime,
QDateTime, QList, QHash, etc...</i>) sont compatibles avec le module
<i>QxSerialize</i>. Ce module assure une compatibilit<69> ascendante avec
prise en compte d'un n<> de version par classe.
</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_factory.html" target="_blank">QxFactory</a></b> : toute instance
d'objet d<>finie par QxOrm
peut <20>tre cr<63><72>e en fonction du nom de la classe.</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_traits.html" target="_blank">QxTraits</a></b> : ce module
contient une liste de classes de
traits non d<>finies dans la biblioth<74>que standard et qui sont utiles pour
l'utilisation de QxOrm. Ces classes de traits se veulent g<>n<EFBFBD>riques
et peuvent donc <20>tre utilis<69>es dans d'autres contextes que celui de
la biblioth<74>que QxOrm.</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_cache.html" target="_blank">QxCache</a></b> : le 'cache' de
QxOrm peut contenir tous types
d'objets. Il peut permettre par exemple de m<>moriser des donn<6E>es
issues d'une base de donn<6E>es pour <20>viter des requ<71>tes trop
fr<66>quentes. Ce cache est g<>n<EFBFBD>rique et peut <20>tre utilis<69> dans d'autres contextes que
celui de QxOrm.</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_validator.html" target="_blank">QxValidator</a></b> : ce module
permet d'ajouter des contraintes
sur les propri<72>t<EFBFBD>s enregistr<74>es dans le contexte QxOrm. Ces contraintes sont d<>finies dans la m<>thode de
mapping : <i>void qx::register_class</i>.
Si pour une instance de classe donn<6E>e, au moins une contrainte n'est pas respect<63>e, alors l'instance est
consid<69>r<EFBFBD>e comme invalide :
l'objet ne peut alors pas <20>tre sauvegard<72> en base de donn<6E>es (<i>INSERT</i> ou <i>UPDATE</i>). Pour plus
d'informations sur le module <i>QxValidator</i>,
<a href="./manual.html#manual_420">rendez-vous sur le manuel utilisateur de la biblioth<74>que QxOrm</a>.
</p>
</li>
<li>
<p><b><a href="../doxygen/html/group___qx_mem_leak.html" target="_blank">QxMemLeak</a></b> : permet une
d<>tection rapide des fuites
m<>moire en mode <i>Debug</i> une fois l'ex<65>cution du programme termin<69>e
(avec indication du fichier et de la ligne =&gt; style MFC de
Microsoft). Ce module a <20>t<EFBFBD> d<>velopp<70> par <a href="http://wyw.dcweb.cn/leakage.htm" target="_blank">Wu
Yongwei</a> et a subi
quelques modifications pour <20>tre int<6E>gr<67> dans QxOrm. Si un autre
outil est d<>j<EFBFBD> utilis<69> dans vos projets (<i>Valgrind</i> par exemple),
cette fonctionnalit<69> ne doit pas <20>tre activ<69>e.
Par d<>faut, le module <i>QxMemLeak</i> est d<>sactiv<69>.</p>
</li>
</ul>
<p></p>
<br>
<p>Vous pouvez t<>l<EFBFBD>charger la derni<6E>re version de <b>QxOrm</b> et <b>QxEntityEditor</b> <a
href="./download.html">en cliquant ici</a>.<br>
Un manuel utilisateur pour apprendre <20> travailler avec la biblioth<74>que QxOrm est disponible <a
href="./manual.html">en cliquant ici</a>.<br>
Un exemple rapide d'utilisation de <b>QxOrm</b> montrant les fonctionnalit<69>s de base de la biblioth<74>que
est disponible <a href="./quick_sample.html">en cliquant ici</a>.<br>
Un forum (en anglais) d<>di<64> <20> <b>QxOrm</b> et <b>QxEntityEditor</b> est disponible <a
href="https://www.qxorm.com/forum/phpbb/" target="_blank">en cliquant ici</a>.<br>
Vous pouvez <20>galement retrouver la communaut<75> fran<61>aise de <b>QxOrm</b> et <b>QxEntityEditor</b> sur <a
href="http://www.developpez.net/forums/f1563/c-cpp/bibliotheques/qt/bases-donnees/qxorm/"
target="_blank">le forum de Developpez.com</a>.<br>
Une documentation en ligne du code source de la biblioth<74>que <b>QxOrm</b> est disponible <a
href="../doxygen/index.html" target="_blank">en cliquant ici</a>.<br>
</td>
</tr>
</tbody>
</table>
<br>
<hr style="width: 80%" align="center" size="1" color="#100D5A">
<table border="0" style="width: 80%" align="center">
<col>
<col>
<col>
<tbody>
<tr>
<td align="left" valign="middle">
<img alt="QxOrm" src="./resource/logo_qxorm_small.png" width="168" height="40">
</td>
<td align="center" valign="middle">
<font size="2"><EFBFBD> 2011-202XDL Teamty - <a href="mailto:ic-east.com">ic-east.com</a></font>
</td>
<td align="right" valign="middle">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="2K4Z58ZYAYJ6S">
<input type="image" src="./resource/paypal_support_qxorm_library.gif" border="0" name="submit"
alt="Support QxOrm library - PayPal">
<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form>
</td>
</tr>
</tbody>
</table>
</body>
</html>