/usr/share/help/fr/glom/index.docbook is in glom-doc 1.30.1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 | <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY appversion "1.6">
<!ENTITY manrevision "0.2">
<!ENTITY date "20 June 2004">
<!ENTITY app "Glom">
<!-- Information about the entities
The legal.xml file contains legal information, there is no need to edit the file.
Use the appversion entity to specify the version of the application.
Use the manrevision entity to specify the revision number of this manual.
Use the date entity to specify the release date of this manual.
Use the app entity to specify the name of the application. -->]>
<!--
(Do not remove this comment block.)
Maintained by the GNOME Documentation Project
http://developer.gnome.org/projects/gdp
Template version: 2.0 beta
Template last modified Apr 11, 2002
-->
<!-- =============Document Header ============================= -->
<article id="index" lang="fr">
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
<articleinfo>
<title>Manuel d'utilisation de Glom v0.2 </title>
<subtitle>pour Glom v1.6</subtitle>
<copyright lang="en">
<year>2004</year>
<holder>Murray Cumming</holder>
</copyright>
<!-- translators: uncomment this:
<copyright>
<year>2002</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<!-- An address can be added to the publisher information. If a role is
not specified, the publisher/author is the same for all versions of the
document. -->
<publisher>
<publishername>Équipe de développement de Glom</publishername>
</publisher>
<legalnotice id="legalnotice">
<para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation sans section inaltérable, sans texte de première page de couverture ni texte de dernière page de couverture. Vous trouverez un exemplaire de cette licence en suivant ce <ulink type="help" url="ghelp:fdl">lien</ulink> ou dans le fichier COPYING-DOCS fourni avec le présent manuel.</para>
<para>Ce manuel fait partie de la collection de manuels GNOME distribués selon les termes de la licence de documentation libre GNU. Si vous souhaitez distribuer ce manuel indépendamment de la collection, vous devez joindre un exemplaire de la licence au document, comme indiqué dans la section 6 de celle-ci.</para>
<para>La plupart des noms utilisés par les entreprises pour distinguer leurs produits et services sont des marques déposées. Lorsque ces noms apparaissent dans la documentation GNOME et que les membres du projet de Documentation GNOME sont informés de l'existence de ces marques déposées, soit ces noms entiers, soit leur première lettre est en majuscule.</para>
<para lang="en">
DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED
UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE
WITH THE FURTHER UNDERSTANDING THAT:
<orderedlist>
<listitem>
<para lang="en">DOCUMENT IS PROVIDED ON AN "AS IS" BASIS,
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
THAT THE DOCUMENT OR MODIFIED VERSION OF THE
DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR
A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE
OF THE DOCUMENT OR MODIFIED VERSION OF THE
DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR
MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT,
YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY
CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED
VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER
EXCEPT UNDER THIS DISCLAIMER; AND
</para>
</listitem>
<listitem>
<para lang="en">UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE),
CONTRACT, OR OTHERWISE, SHALL THE AUTHOR,
INITIAL WRITER, ANY CONTRIBUTOR, OR ANY
DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION
OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH
PARTIES, BE LIABLE TO ANY PERSON FOR ANY
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES OF ANY CHARACTER
INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS
OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR
LOSSES ARISING OUT OF OR RELATING TO USE OF THE
DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT,
EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
THE POSSIBILITY OF SUCH DAMAGES.
</para>
</listitem>
</orderedlist>
</para>
</legalnotice>
<!-- This file contains link to license for the documentation (GNU FDL), and
other legal stuff such as "NO WARRANTY" statement. Please do not change
any of this. -->
<authorgroup>
<author role="maintainer" lang="en">
<firstname>Murray</firstname>
<surname>Cumming</surname>
<affiliation>
<orgname>Glom Development Team</orgname>
<address> <email>murrayc@murrayc.com</email> </address>
</affiliation>
</author>
<!-- This is appropriate place for other contributors: translators,
maintainers, etc. Commented out by default.
<othercredit role="translator">
<firstname>Latin</firstname>
<surname>Translator 1</surname>
<affiliation>
<orgname>Latin Translation Team</orgname>
<address> <email>translator@gnome.org</email> </address>
</affiliation>
<contrib>Latin translation</contrib>
</othercredit>
-->
</authorgroup>
<!-- According to GNU FDL, revision history is mandatory if you are -->
<!-- modifying/reusing someone else's document. If not, you can omit it. -->
<!-- Remember to remove the &manrevision; entity from the revision entries other
-->
<!-- than the current revision. -->
<!-- The revision numbering system for GNOME manuals is as follows: -->
<!-- * the revision number consists of two components -->
<!-- * the first component of the revision number reflects the release version of the GNOME desktop. -->
<!-- * the second component of the revision number is a decimal unit that is incremented with each revision of the manual. -->
<!-- For example, if the GNOME desktop release is V2.x, the first version of the manual that -->
<!-- is written in that desktop timeframe is V2.0, the second version of the manual is V2.1, etc. -->
<!-- When the desktop release version changes to V3.x, the revision number of the manual changes -->
<!-- to V3.0, and so on. -->
<revhistory>
<revision lang="en">
<revnumber>Glom 1.6</revnumber>
<date>20 June 2004</date>
<revdescription>
<para role="author" lang="en">Murray Cumming</para>
<para role="publisher" lang="en">Murray Cumming</para>
</revdescription>
</revision>
</revhistory>
<releaseinfo>Ce manuel documente la version 1.6 de Glom</releaseinfo>
<legalnotice>
<title>Votre avis</title>
<para>Pour signaler une anomalie ou émettre une suggestion concernant Glom ou ce manuel, faites une soumission d'anomalie à <ulink url="http://bugzilla.gnome.org" type="http">GNOME Bugzilla</ulink> pour le produit Glom. Merci de faire une recherche sur bugzilla avant de soumettre votre anomalie pour s'assurer qu'elle n'a pas été déjà signalée.</para>
<!-- Translators may also add here feedback address for translations -->
</legalnotice>
<abstract role="description">
<para>Manuel d'utilisation de Glom.</para>
</abstract>
</articleinfo>
<indexterm zone="index" lang="en">
<primary>MY-GNOME-APP</primary>
</indexterm>
<indexterm zone="index" lang="en">
<primary>mygnomeapp</primary>
</indexterm>
<!-- ============= Document Body ============================= -->
<!-- ============= Introduction ============================== -->
<!-- Use the Introduction section to give a brief overview of what
the application is and what it does. -->
<sect1 id="mrp-introduction">
<title>Introduction</title>
<para>Glom vous permet de concevoir et d'utiliser des systèmes de bases de données.</para>
<!-- TODO: Take text from the website. -->
</sect1>
<!-- =========== Getting Started ============================== -->
<!-- Use the Getting Started section to describe the steps required
to start the application and to describe the user interface components
of the application. If there is other information that it is important
for readers to know before they start using the application, you should
also include this information here.
If the information about how to get started is very short, you can
include it in the Introduction and omit this section. -->
<sect1 id="glom-getting-started">
<title>Premiers pas</title>
<sect2 id="glom-start">
<title>Lancement de Glom</title>
<para>Vous pouvez démarrer <application>Glom</application> comme ceci :</para>
<variablelist>
<varlistentry>
<term>Menu <guimenu>Applications</guimenu></term>
<listitem>
<para lang="en">Choose
<menuchoice>
<guisubmenu>Office</guisubmenu>
<guimenuitem>Glom</guimenuitem>
</menuchoice>. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="glom-when-start">
<title>Démarrage de Glom</title>
<para>Lorsque vous démarrez <application>Glom</application>, la fenêtre suivante s'affiche. Vous pouvez ouvrir un fichier Glom existant ou en créer un nouveau en se basant éventuellement sur l'un des modèles.</para>
<!-- ==== Figure ==== -->
<figure id="openproject">
<title>Fenêtre de démarrage de Glom, ouverture d'un fichier existant</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/start_open.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Shows Glom main window used to open an existing Glom file.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<figure id="newproject">
<title>Fenêtre de démarrage de Glom, création d'un nouveau fichier</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/start_create.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Shows Glom main window used to create a new Glom file.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<!-- ==== End of Figure ==== -->
</sect2>
</sect1>
<!-- ================ Usage ================================ -->
<!-- Use this section to describe how to use the application to perform the tasks for
which the application is designed. -->
<sect1 id="glom-operator-usage">
<title>Utilisation de Glom en tant qu'opérateur</title>
<para>Pour ouvrir un document Glom existant, ouvrez-le à partir du gestionnaire de fichiers ou choisissez Glom à partir du menu Applications, puis sélectionnez le document lorsqu'on vous le demande. Glom demande un nom d'utilisateur et un mot de passe pour accéder à la base de données. Votre administrateur vous fournira votre nom d'utilisateur et votre mot de passe.</para>
<para lang="en">When you open an existing document, Glom will be in <literal>Operator</literal> <literal>user level</literal>. This user level allows you to find and edit records, but does not allow you to change the fundamental structure of the database.</para>
<sect2 id="navigation">
<title>Navigation</title>
<para>Chaque base de données possède plusieurs tables. Pour examiner une autre table, choisissez <literal>Tables</literal> dans le menu <literal>Navigation</literal>. Puis cliquez deux fois sur la table ou sélectionnez-la et cliquez sur le bouton <literal>Ouvrir</literal>.</para>
<figure id="operator-navigation-tables">
<title>Navigation vers une table</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_tables.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Navigating to a Table.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
</sect2>
<sect2 id="viewing-and-entering-data">
<title>Affichage et saisie de données</title>
<para>Lorsque vous êtes en <literal>mode données</literal>, vous pouvez afficher ou saisir des informations soit dans la vue <literal>Liste</literal> ou dans la vue <literal>Détails</literal>.</para>
<sect3 id="the-list-view">
<title>La vue Liste</title>
<para>La vue liste affiche plusieurs enregistrement à la fois et habituellement n'affiche que les champs les plus importants.</para>
<para>Quand vous saisissez des données dans un champ, celles-ci sont enregistrées immédiatement dans la base de données dès que vous avez fini de le saisir. S'il s'agit d'un champ date ou heure, le format des données est automatiquement contrôlé.</para>
<para>Pour créer un nouvel enregistrement, il suffit de cliquer sur le bouton <literal>Ajouter</literal> ou de commencer à taper dans un champ de la dernière ligne vide. Un nouvel enregistrement est alors créé avec des champs vides prêts à être remplis.</para>
<figure id="operator-data-list">
<title>La vue Liste</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_data_list.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>The List View.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>Pour trier les enregistrements, il suffit de cliquer sur l'en-tête d'une colonne. Par exemple, pour afficher des factures dans l'ordre chronologique vous pouvez cliquer sur la colonne « date », puis cliquer à nouveau pour les afficher dans l'ordre inverse.</para>
</sect3>
<sect3 id="the-details-view">
<title>La vue Détails</title>
<para>La vue Détails n'affiche qu'un seul enregistrement et affiche en général tous les champs dans un ordre approprié.</para>
<para>Quand vous saisissez des données dans un champ, celles-ci sont enregistrées immédiatement dans la base de données dès que vous avez fini de le saisir. S'il s'agit d'un champ date ou heure, le format des données est automatiquement contrôlé.</para>
<para>Pour créer un nouvel enregistrement, il suffit de cliquer sur le bouton <literal>Ajouter</literal>. Un nouvel enregistrement est alors créé avec des champs vides prêts à être remplis.</para>
<figure id="operator-data-details">
<title>La vue Détails</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_data_details.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>The Details View.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
</sect3>
</sect2>
<sect2 id="finding-data">
<title>Recherche de données</title>
<para>Sélectionnez le <literal>mode Rechercher</literal> dans le menu Mode. Les champs dans les vues liste et détails sont maintenant vides et un bouton « Rechercher » apparaît en bas de la fenêtre.</para>
<para>Saisissez une information ou une partie d'information dans un champ pour trouver les enregistrements qui contiennent cette information. Par exemple, saisissez Jim dans le champ nom pour trouver les enregistrements qui contiennent « Jim » ou « Jimmy » dans leur nom.</para>
<para>Quand vous appuyez sur le bouton <literal>Rechercher</literal>, Glom recherche les enregistrements puis les affiche. Si un seul enregistrement est trouvé, celui-ci est alors affiché dans la vue détails. Si plusieurs enregistrements sont trouvés, ils sont affichés dans la vue liste.</para>
<!-- TODO: screenshot -->
</sect2>
<sect2 id="glom-operator-printing-reports">
<title>Impression de rapports</title>
<para>Si le développeur de la base de données a défini des rapports pour une table, ils apparaissent dans le menu <literal>Rapports</literal>. Il suffit de choisir le rapport dans le menu pour générer le rapport. Si vous avez effectué une recherche précédemment, le rapport ne contient que les données actuellement trouvées, sinon toutes les données sont présentes. Souvenez-vous que chaque table possède son propre rapport, il peut donc être nécessaire de basculer vers la bonne table pour obtenir un rapport particulier.</para>
<figure id="operator-report-result">
<title>Un rapport</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_report_result.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>A report.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
</sect2>
</sect1>
<sect1 id="glom-developer-usage">
<title>Utilisation de Glom en tant que développeur</title>
<para lang="en">When you create a new document, Glom will be in the <literal>Developer</literal> <literal>user level</literal>. You can also change to the Developer user level after opening an existing document, with the <literal>User Level</literal> menu. Glom will only allow this if the administrator has allowed it.</para>
<sect2 id="adding-tables">
<title>Ajout de tables</title>
<para>Vous pouvez voir la liste des tables existantes en choisissant <literal>Tables</literal> dans le menu <literal>Navigation</literal>. Cette fenêtre apparaît également après une connexion à un serveur de base de données et après avoir créé un nouveau document. Pour créer une nouvelle table, cliquez sur le bouton <literal>Ajouter</literal> et saisissez le nom de la nouvelle table. Glom suggère un titre convivial pour cette table. Les <literal>opérateurs</literal> voient ce titre plutôt que le nom réel de la table. Vous pouvez également marquer une table comme <literal>masquée</literal> pour les opérateurs. Par exemple, les opérateurs peuvent voir les « lignes de facture » comme des enregistrements reliés à la table « factures » mais ils ne doivent jamais être capables d'aller directement vers la table « lignes de facture ».</para>
<!-- TODO: screenshot -->
<para>Vous pouvez également spécifier une table comme <literal>table par défaut</literal>. Cette table sera affichée à chaque fois qu'un opérateur ouvre un document existant, sans lui demander de sélectionner une table dans la liste.</para>
<para>Vous pouvez également utiliser cette fenêtre pour renommer une table existante.</para>
<para>Cliquez sur le bouton <literal>Ouvrir</literal> pour afficher la table sélectionnée.</para>
</sect2>
<sect2 id="editing-fields">
<title>Modification des champs</title>
<para>Choisissez <literal>Champs</literal> dans le menu <literal>Développeur</literal>. Cela permet d'afficher la liste des champs de la table. Les nouvelles tables possèdent automatiquement un champ clé primaire mais vous pouvez modifier ce champ si nécessaire.</para>
<para>Cliquez sur le bouton <literal>Ajouter</literal> pour ajouter un nouveau champ, puis saisissez le nom du nouveau champ. Glom propose un titre approprié et convivial pour ce champ, mais vous pouvez le modifier. Les <literal>opérateurs</literal> voient ce titre plutôt que le nom réel du champ.</para>
<para>Pour fournir plus de détails sur un champ, sélectionnez-le et cliquez sur le bouton <literal>Détails</literal>.</para>
<figure id="developer-editing-fields">
<title>Modification des champs</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_fields.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing the table's fields.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<sect3 id="primary-keys">
<title>Clés primaires</title>
<para>Chaque table doit posséder une et une seule <literal>clé primaire</literal>. La valeur de ce champ est unique ce qui signifie que chaque valeur dans ce champ n'apparaît que dans un seul enregistrement de la table. Par exemple, chaque enregistrement dans une table « clients » possède un « numéro de client ». Cette valeur est utilisée pour faire référence à ce client dans les autres tables telles que les enregistrements « Projets » et « Factures ». Voir la section <link linkend="sec-developer-relationships">Création de relations</link> pour apprendre comment relier des tables entre elles.</para>
</sect3>
<sect3 id="field-types">
<title>Types de champs</title>
<para lang="en">Glom offers a few simple field types:
<orderedlist>
<listitem><simpara lang="en">Number</simpara></listitem>
<listitem><simpara lang="en">Text</simpara></listitem>
<listitem><simpara lang="en">Date</simpara></listitem>
<listitem><simpara lang="en">Time</simpara></listitem>
<listitem><simpara lang="en">Boolean - either true or false</simpara></listitem>
<listitem><simpara lang="en">Image</simpara></listitem>
</orderedlist>
</para>
</sect3>
<sect3 id="calculated-fields">
<title>Champs calculés</title>
<para>Les valeurs de champs peuvent être calculées en fonction d'autres champs en utilisant le langage de programmation Python. Ce calcul doit être une implémentation d'une fonction Python qui doit renvoyer une valeur. La valeur renvoyée est utilisée comme valeur de champ. Cette valeur est recalculée à chaque fois qu'une des sources de champ change. À FAIRE : cela ne fonctionne pour l'instant que pour les valeurs par défaut et vous ne pouvez pas encore utiliser des valeurs de champ dans le calcul.</para>
<para>Vous pouvez également utiliser des calculs pour spécifier une valeur par défaut pour les champs en sélectionnant l'onglet <literal>Valeur par défaut</literal> dans la fenêtre <literal>Détails des champs</literal>, en cliquant sur la case à cocher <literal>Valeur calculée</literal> puis en saisissant une formule Python. Vous pouvez tester ce calcul dans la fenêtre <literal>Édition</literal>.</para>
</sect3>
</sect2>
<sect2 id="arranging-layouts">
<title>Arrangement de dispositions</title>
<para>Chaque table possède sa vue <literal>Liste</literal> et <literal>Détails</literal> et, par défaut, tous les champs de la table sont affichés par ordre de création. Vous pouvez modifier la disposition en choisissant <literal>Disposition</literal> dans le menu <literal>Développeur</literal>.</para>
<sect3 id="arranging-the-list-view">
<title>Mise en page de la vue liste</title>
<para>Dans la vue <literal>Liste</literal>, vous pouvez définir l'ordre des colonnes de champs et le masquage éventuel de certains champs.</para>
<figure id="developer-layout-list">
<title>Modification de l'agencement d'une liste</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_layout_list.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing the list layout.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
</sect3>
<sect3 id="arranging-the-details-view">
<title>Mise en page de la vue détails</title>
<para>Dans la vue <literal>détails</literal>, il est possible de créer des groupes de champs et de leur donner des titres. Vous pouvez alors mettre des champs dans ces groupes et définir l'ordre d'apparition des champs dans ces groupes. Vous pouvez également définir l'ordre des groupes. Par exemple, dans la table « Contacts », vous pouvez créer un groupe « Nom » et mettre les champs « titre », « prénom » et « nom » dans ce groupe. Vous pouvez avoir d'autres groupes pour les champs « Adresse ».</para>
<figure id="developer-layout-details">
<title>Modification de l'agencement des détails</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_layout_details.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing the Details Layout.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
</sect3>
</sect2>
<sect2 id="sec-developer-relationships">
<title>Création de relations</title>
<para>Les tables dans les bases de données sont souvent reliées entre elles. Par exemple, une table « Factures » peut avoir un champ « Numéro de client ». Une valeur dans ce champ se réfère à un enregistrement de la table « Clients » avec la même valeur. Glom peut afficher des informations supplémentaires telles que le nom du client à partir de cet enregistrement relié. Il peut également afficher une liste de plusieurs enregistrement liés. Par exemple, plusieurs « Lignes de factures » reliées à un enregistrement dans « Facture ».</para>
<para>Pour créer des relations, choisissez <literal>Relations</literal> dans le menu <literal>Développeur</literal>. La liste des relations existantes s'affiche. Cliquez sur le bouton <literal>Ajouter</literal> pour créer une nouvelle relation et saisissez un nom pour celle-ci. Choisissez ensuite un champ dans la table actuelle et un champ d'une autre table auquel il sera relié. Cette relation effectue la recherche de tous les enregistrements de l'autre table pour lesquels les valeurs des deux champs sont égales.</para>
<!-- TODO: screenshot -->
<para lang="en">You can use the relationship in the following places.
<orderedlist>
<listitem><simpara lang="en">To show a related field on the List or Details view.</simpara></listitem>
<listitem><simpara lang="en">To show a list of related records on the Details view.</simpara></listitem>
<listitem><simpara lang="en">To lookup a value from a field in a related record. For instance, to copy the current price of a "Product" into the "Price" field of an "Invoice Line" record.</simpara></listitem>
<listitem><simpara lang="en">To calculate a field value.</simpara></listitem>
</orderedlist>
</para>
</sect2>
<sect2 id="users-administration">
<title>Gestion des utilisateurs</title>
<para>Pour définir les <literal>opérateurs</literal> qui peuvent utiliser votre base de données et pour indiquer leurs droits d'accès aux différentes tables, choisissez <literal>Utilisateurs</literal> dans le menu <literal>Développeur</literal>.</para>
<!-- TODO: screenshot -->
</sect2>
<sect2 id="translations">
<title>Traductions</title>
<para>L'interface utilisateur Glom (et ce document) est traduit dans plusieurs langues comme vous avez dû le voir si vous utilisez un ordinateur avec une interface utilisateur non anglaise. De plus, Glom affiche et comprend automatiquement les nombres et les dates en fonction des conventions actuelles de l'utilisateur local. Par exemple, un utilisateur aux U.S.A. peut saisir un prix comme 1.99 et une date comme 1/13/2008, mais un utilisateur allemand de la même base de données les verra comme 1,99 et 13.1.2008.</para>
<para>Cependant, le système Glom que vous avez créé contient aussi du texte qui doit être traduit s'il est utilisé par des personnes qui parlent une autre langue. Par exemple, vous devez fournir des traductions pour les titres de vos tables, champs et rapports. Tous ces éléments textuels peuvent être listés si vous choisissez <literal>Traductions</literal> dans le menu <literal>Développeur</literal>. Dans cette fenêtre, vous pouvez indiquer la langue utilisée pour le texte original et saisir des traductions pour chaque élément de texte pour des langues supplémentaires. Quand le système Glom est ouvert par un utilisateur de cette langue, les éléments de texte sont affichés dans l'interface utilisateur.</para>
<!-- TODO: Update this screenshot -->
<figure id="developer-translations">
<title>Traductions</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_translations.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Translations.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>Les traducteurs expérimentés sont probablement plus habitués au format de fichier .po, ou vous souhaitez peut-être utiliser les nombreux outils qui s'appliquent au format de fichier .po. En utilisant le bouton <literal>Exporter</literal>, vous pouvez créer un fichier .po pour l'exploiter dans un outil séparé ou pour l'expédier à un traducteur. Vous pouvez ensuite importer la traduction effectuée en utilisant le bouton <literal>Importer</literal>.</para>
</sect2>
<sect2 id="defining-reports">
<title>Définition de rapports</title>
<sect3 id="adding-or-editing-reports">
<title>Ajout et édition de rapports</title>
<para>Glom peut produire des rapports pour afficher des champs spécifiques d'un ensemble d'enregistrements, triés et regroupés. Par exemple, un magasin peut avoir besoin d'un rapport listant tous les produits vendus en un mois, groupés par type de produits et triés par prix dans chaque groupe. Chaque table possède ses propres rapports accessibles par l'opérateur dans le menu <literal>Rapports</literal>.</para>
<para>Pour définir un rapport ou modifier la définition d'un rapport existant, choisissez <literal>Rapports</literal> dans le menu <literal>Développeur</literal>.</para>
<figure id="developer-editing-reports">
<title>Création et édition de rapports</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_reports.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Creating or editing reports.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>Notez que chaque rapport possède un numéro d'identification (ID) ainsi qu'un nom convivial. Ceci permet à votre rapport d'avoir un titre traduit s'il est utilisé sur un ordinateur configuré dans une autre langue.</para>
</sect3>
<sect3 id="editing-a-report">
<title>Édition d'un rapport</title>
<para lang="en">A Glom report has three areas:
<orderedlist>
<listitem><simpara lang="en">The Header, which appears at the start of the report</simpara></listitem>
<listitem><simpara lang="en">The Main area, in which the records and summary lines are shown, with the actual data from the database.</simpara></listitem>
<listitem><simpara lang="en">The Footer, which appears at the end of the report.</simpara></listitem>
</orderedlist>
</para>
<para>À l'intérieur d'une zone, telle que la partie principale, vous pouvez ajouter des <literal>Éléments</literal> de rapport tels que des champs, textes ou images. Ceux-ci apparaissent habituellement par ligne à l'impression du rapport avec une ligne pour chaque enregistrement. Dans le cas le plus simple, cela ressemble beaucoup à la vue liste de Glom. Vous pouvez ajouter des éléments à votre rapport en les sélectionnant dans la liste <literal>Éléments disponibles</literal> puis en cliquant sur le bouton <literal>Ajouter</literal>. L'élément est alors ajouté à la liste <literal>Éléments</literal> dans la zone sélectionnée.</para>
<para>Pour fournir des détails aux éléments, tels que le texte ou l'image à afficher ou pour choisir le champ à afficher, sélectionnez l'élément dans la liste <literal>Éléments</literal> puis cliquez sur le bouton <literal>Modifier</literal>. Vous pouvez également indiquer le format du champ en cliquant sur le bouton <literal>Format</literal>, tout comme vous le faites pour définir l'apparence dans la vue détails ou liste.</para>
<figure id="developer-editing-reports-details">
<title>Édition d'un rapport</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_reports_details.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing a report.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>Certains éléments peuvent contenir d'autres éléments et posséder des propriétés supplémentaires pour contrôler la manière dont leurs sous-éléments sont présentés. Par exemple, l'élément <literal>Groupé par</literal> regroupe les enregistrements selon un champ. Par exemple, un rapport sur des produits peut regrouper la liste des produits par type de produit. Vous pouvez même ajouter un second sous-groupe à l'intérieur de l'élément principal <literal>Groupé par</literal> en sélectionnant votre élément <literal>Groupé par</literal> de premier niveau dans la liste <literal>Éléments</literal> pendant que vous ajoutez un nouvel élément <literal>Groupé par</literal> de la liste <literal>Éléments disponibles</literal>. Par exemple, vous pouvez regrouper vos produits par fabriquant à l'intérieur de chaque groupe de type de produit.</para>
<para>Pour définir le champ par lequel les enregistrements doivent être regroupés, sélectionnez votre élément <literal>Groupé par</literal> dans la liste <literal>Éléments</literal> puis cliquez sur le bouton <literal>Modifier</literal>. Vous pouvez alors choisir le champ par lequel les enregistrements doivent être regroupés et sélectionner les champs par lesquels ces enregistrements doivent être triés dans le groupe. Vous pouvez également indiquer des champs supplémentaires à afficher sur la ligne de titre du groupe. Par exemple, vous pouvez regrouper les produits par numéro de fabricant mais également afficher le nom du fabricant.</para>
<figure id="developer-editing-reports-group_by">
<title>Modification d'un élément Groupé par</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_reports_group_by.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing a report.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>L'élément <literal>Groupe vertical</literal> peut contenir d'autres choses. Par exemple, il vous permet d'arranger les champs les uns en dessous des autres au lieu de l'un après les autres sur une même ligne. Ceci est utile pour regrouper des champs reliés tels que des lignes d'adresses ou juste pour condenser plus d'informations dans les lignes d'enregistrements sur le rapport.</para>
<figure id="developer-editing-reports-vertical_group">
<title>Un rapport avec des Groupes verticaux</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_reports_vertical_group.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>A Report with Vertical Groups.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>Quand vous avez terminé, cliquez sur le bouton <literal>Fermer</literal> pour enregistrer la définition du rapport. Votre rapport peut maintenant être choisi dans le menu <literal>Rapports</literal>. Voir la section <link linkend="glom-operator-printing-reports">Impression de rapports</link> pour plus de détails.</para>
</sect3>
</sect2>
</sect1>
<!-- =============Dialogs ================================= -->
<!-- This section contains the help to all dialogs that contain help button -->
<sect1 id="dialogs">
<title>Boîtes de dialogue</title>
<sect2 id="dialog_existing_or_new">
<title>Boîte de dialogue : boîte de dialogue initiale</title>
<para>Cette boîte de dialogue permet à l'utilisateur de choisir un document existant ou de créer un nouveau document. Les documents existants peuvent être choisis dans la liste de documents récemment ouverts ou dans la boîte de dialogue de sélection de fichier. Les documents peuvent également être ouverts à travers le réseau si d'autres utilisateurs exécutent Glom sur le réseau local. Enfin un nouveau document peut être créé soit en ouvrant un fichier modèle qui contient déjà quelques tables initiales et des enregistrements ou en générant un document vide.</para>
</sect2>
<sect2 id="dialog_new_database">
<title>Boîte de dialogue : nouvelle base de données</title>
<para/>
</sect2>
<sect2 id="dialog_error_create_database">
<title>Boîte de dialogue : création de base de données</title>
<para/>
</sect2>
<sect2 id="dialog_connection">
<title>Boîte de dialogue : connexion</title>
<para>Cette boîte de dialogue requiert un nom d'utilisateur et un mot de passe pour la connexion au serveur de base de données. Il ne s'agit normalement pas du même nom d'utilisateur et mot de passe avec lequel vous vous connectez à votre système. Tous les systèmes Glom nécessitent un serveur de base de données sur lequel les données réelles sont enregistrées. Si le serveur de base de données ne tourne pas sur l'ordinateur local (« localhost ») alors vous devez fournir un nom d'hôte réseau du type « glomserver.openismus.com » (votre nom d'hôte sera certainement différent).</para>
<para>C'est l'administrateur système qui fournit les détails de la connexion à la base de données.</para>
<para>Si vous êtes l'administrateur système, consultez la page Web <ulink url="http://www.glom.org/wiki/index.php?title=Initial_Postgres_Configuration" type="http">Configuration Postgres </ulink> [en anglais] de Glom pour obtenir de l'aide sur l'installation et la configuration d'un serveur de base de données.</para>
</sect2>
<sect2 id="dialog_error_connection">
<title>Boîte de dialogue : erreur de connexion</title>
<para>Cette boîte de dialogue est affichée si Glom n'a pas pu se connecter au serveur de base de données spécifié. Soit le serveur de base de données ne tourne pas sur l'hôte spécifié soit le nom d'utilisateur et le mot de passe n'ont pas été acceptés par le serveur de base de données. Voir la section <link linkend="dialog_connection">Boîte de dialogue de connexion</link> pour plus de détails.</para>
<para/>
</sect2>
<sect2 id="dialog_database_preferences">
<title>Boîte de dialogue : préférences de base de données</title>
<para/>
</sect2>
<sect2 id="dialog_change_language">
<title>Boîte de dialogue : changement de langue</title>
<para/>
</sect2>
<sect2 id="window_textobject">
<title>Fenêtre : objet texte</title>
<para/>
</sect2>
<sect2 id="window_imageobject">
<title>Fenêtre : objet image</title>
<para/>
</sect2>
<sect2 id="dialog_notebook">
<title>Boîte de dialogue : pagination</title>
<para/>
</sect2>
<sect2 id="dialog_data_invalid_format">
<title>Boîte de dialogue : format de données non valide</title>
<para/>
</sect2>
<sect2 id="dialog_relationship_overview">
<title>Boîte de dialogue : aperçu des relations</title>
<para/>
</sect2>
<sect2 id="window_groups">
<title>Fenêtre : groupes</title>
<para/>
</sect2>
<sect2 id="dialog_groupby_sort_fields">
<title>Boîte de dialogue : grouper par champs triés</title>
<para/>
</sect2>
<sect2 id="dialog_groupby_secondary_fields">
<title>Boîte de dialogue : grouper par champs secondaires</title>
<para/>
</sect2>
<sect2 id="window_button_script">
<title>Fenêtre : script de bouton</title>
<para/>
</sect2>
<sect2 id="window_field_calculation">
<title>Fenêtre : calcul de champ</title>
<para/>
</sect2>
<sect2 id="dialog_new_group">
<title>Boîte de dialogue : nouveau groupe</title>
<para/>
</sect2>
<sect2 id="dialog_choose_user">
<title>Boîte de dialogue : choix d'un utilisateur</title>
<para/>
</sect2>
<sect2 id="dialog_user">
<title>Boîte de dialogue : utilisateur</title>
<para/>
</sect2>
<sect2 id="dialog_translation_identify_original">
<title>Boîte de dialogue : identification de l'original de traduction</title>
<para/>
</sect2>
<sect2 id="dialog_translation_copy">
<title>Boîte de dialogue : copie de traduction</title>
<para/>
</sect2>
<sect2 id="dialog_choose_date">
<title>Boîte de dialogue : choix d'une date</title>
<para/>
</sect2>
<sect2 id="dialog_import_csv">
<title>Boîte de dialogue : importation dans une table</title>
<para>Cette boîte de dialogue permet à l'utilisateur d'importer un fichier CSV (valeurs séparées par des virgules) dans la table de base de données actuelle. Elle montre les premières lignes du fichier à importer et permet à l'utilisateur de sélectionner le champ de base de données correspondant à chaque colonne du fichier CSV. Pour les clés primaires incrémentées automatiquement, le champ clé primaire ne peut pas être utilisé comme champ de destination, mais dans les autres cas, un champ clé primaire doit absolument correspondre à une colonne du fichier.</para>
</sect2>
</sect1>
<!-- ============= Bugs ================================== -->
<!-- This section is optional and is commented out by default.
You can use it to describe known bugs and limitations of the
program if there are any - please be frank and list all
problems you know of.
<sect1 id="mayapp-bugs">
<title>Known Bugs and Limitations</title>
<para> </para>
</sect1>
-->
<!-- ============= About ================================== -->
<!-- This section contains info about the program (not docs), such as
author's name(s), web page, license, feedback address. This
section is optional: primary place for this info is "About.." box of
the program. However, if you do wish to include this info in the
manual, this is the place to put it. Alternatively, you can put this information in the title page.-->
<sect1 id="Glom-about">
<title>À propos de Glom</title>
<para>Glom est maintenu par des volontaires de la communauté Glom et GNOME. Pour obtenir plus d'informations à propos de Glom, visitez le <ulink url="http://www.glom.org/" type="http">site Web de Glom</ulink>.</para>
<para>Pour signaler une anomalie ou émettre une suggestion concernant cette application ou ce manuel, vous pouvez les soumettre en utilisant <ulink url="http://bugzilla.gnome.org" type="help">bugzilla</ulink>.</para>
<para>Une autre excellente source d'informations est la <ulink url="http://www.glom.org" type="http">liste de diffusion</ulink> de Glom.</para>
<para>Ce programme est distribué selon les termes de la Licence Publique Générale GNU, tels que publiés par la Free Software Foundation ; soit la version 2 de cette licence ou (à votre choix) toute version ultérieure. Vous trouverez une copie de cette licence en suivant ce <ulink type="help" url="ghelp:gpl">lien</ulink> ou dans le fichier COPYING fourni avec la source du code de ce programme.</para>
</sect1>
<appendix id="sec-concepts">
<title>Concepts</title>
<para lang="en">Glom is easy to use, but you must understand the following basic concepts.
<orderedlist>
<listitem><simpara lang="en"><literal>Database</literal>: Each Glom document allows access to one database.</simpara></listitem>
<listitem><simpara lang="en"><literal>Table</literal>: Each database contains several tables, such as "Customers" and "Invoices" tables.</simpara></listitem>
<listitem><simpara lang="en"><literal>Field</literal>: Each table has several fields, such as "Customer ID", "First Name", and "Date of Birth" fields. In other documents and applications, fields are sometimes called "Columns"</simpara></listitem>
<listitem><simpara lang="en"><literal>Records</literal>: Each table contains several records, each of which has values for each of the fields. For instance, the "Customers" table will have a record for each customer. In other documents and applications, records are sometimes called <literal>Rows</literal>.</simpara></listitem>
<listitem><simpara lang="en"><literal>Relationships</literal>: Each table might be related to other tables, via fields in both tables. For instance, a "Customers" table could have a relationship to the "Invoices" table, so that people could see all the invoices for that customer. Only developers need to understand this concept. In other documents and applications, relationships are sometimes called "Joins".</simpara></listitem>
</orderedlist>
</para>
</appendix>
<appendix id="sec-calculated-fields">
<title>Champs calculés et scripts de boutons</title>
<para>Les champs calculés et les scripts de boutons utilisent le langage de programmation Python. Le calcul ou le script est la réalisation d'une fonction dont la signature vous est fournie.</para>
<figure id="developer-editing-fields-calculated">
<title>Édition de la définition d'un champ calculé</title>
<screenshot>
<mediaobject lang="en">
<imageobject><imagedata fileref="figures/glom_design_fields_dialog_calculated.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing the definition of a calculated field.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<sect1 id="field-values">
<title>Valeurs de champ</title>
<para lang="en">For instance, <programlisting lang="en">record["name_first"]</programlisting> is the value of the name_first field in the current record.</para>
</sect1>
<sect1 id="related-records">
<title>Enregistrements reliés</title>
<para lang="en">For instance, <programlisting lang="en">record.related["location"]</programlisting> provides the related records for the current record.</para>
<sect2 id="single-related-records">
<title>Enregistrements reliés unique</title>
<para lang="en">For relationships that specify a single record, you can get the value of a field in that record. For instance, <programlisting lang="en">record.related["location"]["name"]</programlisting> is the value of the name field in the table indicated by the location relationship (often called location::name).</para>
</sect2>
<sect2 id="multiple-related-records">
<title>Enregistrements reliés multiples</title>
<para lang="en">For relationships that specify multiple records, you can use the aggregate functions (sum, count, average) to get overall values. For instance, <programlisting lang="en">record.related["invoice_lines"].sum("total_price")</programlisting>.</para>
</sect2>
</sect1>
<sect1 id="testing-for-empty-values">
<title>Test de valeurs vides</title>
<para>La manière de tester les valeurs vides dépend du type de champ :</para>
<sect2 id="non-text-fields">
<title>Champs non-texte</title>
<para>Les champs non-texte peuvent être vides, signifiant que l'utilisateur n'a saisi aucune valeur dans le champ. Par exemple, Glom ne suppose pas qu'une valeur vide dans un champ numérique signifie 0.</para>
<para>Vous pouvez tester si un champ est vide en utilisant le « None » de Python. Par exemple :</para>
<para>
<programlisting>
if(record["numero_identification"] == None):
return "Aucun contact"
else:
return record.related["contacts"]["nom_complet"]
</programlisting>
</para>
<para>Vous pourriez également tester s'il existe des enregistrements reliés. Par exemple :</para>
<para>
<programlisting>
if(record.related["contacts"] == None):
return "Aucun Contact"
else:
return record.related["contacts"]["nom_complet"]
</programlisting>
</para>
</sect2>
<sect2 id="text-fields">
<title>Champs texte</title>
<para>Pour les champs texte, vous devez vérifier que les chaînes ne sont pas vides. Il n'est pas possible dans Glom de faire la distinction entre des chaînes vides et l'absence d'une chaîne parce que ce n'est pas avantageux de le faire. Par exemple :</para>
<para>
<programlisting>
if(record["nom_complet"] == ""):
return "Aucun nom"
else:
return record["nom_complet"]
</programlisting>
</para>
</sect2>
</sect1>
<sect1 id="using-the-full-pygda-api">
<title>Utilisation de l'API pygda complète</title>
<para>Le module pygda est une API Python de l'API libgda. L'attribut <literal>connection</literal> d'un enregistrement fournit une gda.connection qui peut être utilisée pour accéder à la base de données actuelle de manière directe. Ceci vous permet d'exécuter n'importe quelle requête SQL, par exemple lire des données de la base de données avec SELECT ou modifier des valeurs dans la base de données avec un UPDATE. Notez que la connexion est déjà ouverte ce qui vous évite le travail difficile de spécification des détails de connexion.</para>
<para>L'attribut <literal>table_name</literal> de l'enregistrement fournit également le nom de la table actuelle.</para>
<para>Cet exemple permet de lire toutes les données de la table actuelle et d'afficher les valeurs sur le terminal :</para>
<para>
<programlisting>
# Utilise la connexion à la base de données actuelle
# pour récupérer toutes les données de la table actuelle.
#
# record.connection est un objet gda.connection déjà ouvert,
# nous évitant de nous occuper de l'ouverture de la connexion,
# ou même de connaître le nom de la base de données.
query = "SELECT * FROM %s" % record.table_name
data_model = gda.gda_execute_select_command(record.connection, query)
rows = data_model.get_n_rows()
columns = data_model.get_n_columns()
print " Nombre de colonnes: ", columns
for i in range(columns):
print " colonne ", i;
print " nom =", data_model.get_column_title(i)
# Recherche s'il s'agit de la clé primaire :
field = data_model.describe_column(i)
if field.get_primary_key():
print " (clé primaire)"
print "\n";
print " Nombre de lignes : ", rows
for row_index in range(rows):
print " ligne ", row_index;
for col_index in range(columns):
print " valeur =", data_model.get_value_at(col_index, row_index).get()
print "\n";
</programlisting>
</para>
</sect1>
</appendix>
</article>
|