
Ce programme est né de mon désir de répertorier simplement la liste des ouvrages en ma possession. Un de mes amis m'en avait fait la demande de longue date, je me suis donc décidé à mettre cela en oeuvre.
BibliothèK est un logiciel libre distribué sous license GNU/GPL, ce qui signifie que vous pouvez l'utiliser, le modifier et le redistribuer librement. Ce programme est réalisé en langage Java, les données sont stockées dans une base de données MySQL. Consultez la liste des librairies externes pour de plus amples informations.
Etant un Logiciel Libre, BibliothèK est distribué avec ses sources, qu'il vous est possible de modifier/utiliser. Notez néanmoins que je ne pourrai assurer de support pour des modifications externes. Si vous souhaitez intégrer des correctifs ou de nouvelles fonctionnalités, contactez moi.
Cette aide non exhaustive vous propose un tour d'horizon des fonctionnalités, et une brève liste des librairies externes. Notez que la license de ce logiciel ne s'applique pas aux librairies externes sur lesquelles il repose, ces dernières sont soumises à leurs propres termes de license (disponibles dans les fichiers LICENSE.{nom librairie}.txt du répertoire libs.
L'application s'installe et s'éxécute par le lancement d'un fichier jar. Vous devez posséder une JRE de Sun version 5 ou ultérieure. Référez-vous au site http://www.java.com si vous ne possédez pas de JRE.
Référez-vous aux prérequis pour de plus amples informations.
Lors de sa première exécution, l'application vérifie la présence du fichier de configuration nécéssaire et propose de le créer le cas échéant. Après sa création, l'application vous emmènera vers la fenêtre des préférences. Remplissez-y les champs adéquats, la configuration sera ensuite enregistrée et chargée.
BibliothèK a été testé sur plates formes GNU/Linux (Fedora et Ubuntu) ainsi que sur plates formes Windows (2000 et XP).
Bonne Gestion et bonne Lecture !!
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
gestion des livres
gestion des auteurs
gestion des genres, compatible avec la classification de Dewey et assimilés
gestion des formats de livres
gestion de l'état des ouvrages
gestion des prêts
préférences de l'application
système d'impressions

interface principale

message de sortie
>Par défaut BibliothèK fonctionne sur une base de données MySQL. Les modes Postgres et hsqldb sont prévus mais pas encore implémentés. Les tables MySQL sont des tables InnoDB (afin de profiter de l'intégrité référentielle) ; qui ne sont disponibles qu'à partir de la version 4.0 de MySQL. Les tests ont été menés sur la version 4.1 mais les versions 4.0.x devraient fonctionner également.
Le connecteur MySQL pour ces versions est dispensé par l'installateur. Les connecteurs Postgres et Hsql ne sont pas (pour l'heure) fournis.
Si vous souhaitez bénéficier du mode de cryptage de l'API BouncyCastle, vous devez installer le JCE (Java Cryptography Extension) unrestricted. L'api BouncyCastle est distribuée avec l'installateur, le JCE doit être téléchargé pour votre version de Java depuis le site de sun.
Afin de fonctionner correctement, BibliothèK nécéssite une JRE 1.5 de Sun. Toute autre machine virtuelle est susceptible de ne pas fonctionner ou d'apporter des résultats inatendus.
La JRE et le JCE correspondant sont disponibles sur le site de Sun Microsystems (http://java.sun.com/j2se/1.5.0/download.jsp)

liste des ouvrages\liste_livres
La liste des livres est accessible via le menu BibliothèK/Livres/Liste... ou par le bouton correspondant dans la barre de menus.
Par défaut la liste sera ordonnée par auteur puis titre dans l'ordre croissant. Il est possible de redéfinir l'ordre de tri en cliquant sur les en-têtes de colonnes. Le premier click produira un ordre croissant, un second un ordre décroissant. Il est possible de spécifier plusieurs colonnes de tri. Pour cela, cliquez sur le première colonne de tri, puis sur la seconde en maintenant la touche Ctrl enfoncée.
Un click droit sur un ouvrage listé affichera un menu popup vous permettant d'effectuer les opérations suvantes :
nouveau : ajout d'un nouvel ouvrage
modifier : modifier l'ouvrage sélectionné. L'ouvrage sélectionné est celui en surbrillance
chercher : accès au mode recherche
supprimer : supprimer l'ouvrage sélectionné.

menu popup\popup
La liste affiche le titre de l'ouvrage, son auteur, son genre, son année, ainsi qu'une case définissant s'il est en rayon.
En utilisant le champ titre et les liste déroulantes auteur et genre, il vous est possible ici d'effectuer une recherche simple, le bouton réinitialiser quant à lui remet à zéro les champs de recherche et recharge la liste originale (y compris l'ordre de tri).

ajout d'un ouvrage

modification d'un ouvrage
Le mode ajout est accessible depuis le menu BibliothèK/livres/Ajouter, par le raccourci clavier Ctrl+N ou encore par le menu popup en modes liste et recherche. Le mode modification n'est accessible quant à lui que sur un click droit sur un ouvrage en mode liste ou recherche.
Titre : entrez ici le titre de l'ouvrage. Ce champ est obligatoire pour l'enregistrement de la fiche,
Sous titre : l'éventuel sous titre de l'ouvrage, optionnel,
Auteur : sélectionnez l'auteur dans la liste. Si l'auteur n'existe pas dans la liste, cliquer sur le bouton de côté vous donnera accès à la liste des auteurs, d'où vous pourrez gérer les auteurs. Une fois votre auteur ajouté, un double click sur ce dernier fermera la liste des auteurs et le sélectionnera automatiquement dans la fenêtre de l'ouvrage. Ce champ est obligatoire pour l'enregistrement de la fiche,
Code genre : entrez directement le code correspondant au genre de l'ouvrage, ou cliquez sur le bouton (...) afin d'afficher la liste. Lorsque vous accédez à la liste, il vous est possible d'ajouter/modifier les genres ; un double click sur le genre de votre choix sélectionnera le genre pour l'ouvrage en cours d'édition et fermera la liste. Ce champ est obligatoire pour l'enregistrement de la fiche,
ISBN : entrez ici le code ISBN de l'ouvrage. Le numéro ISBN (identifiant unique d'un ouvrage) est composé d'une série de 10 (dix) chiffres formatés de cette façon : 1-123-12345-1. L'interface formatera de la sorte les chiffres que vous entrerez dans le champ adéquat, et affichera un message en cas d'erreur (oubli d'un chiffre). Actuellement, la normalisation de l'isbn n'est pas tout à fait respectée. En effet, les trois premiers groupes de caractères sont selon cette norme de longueur variable, le logiciel ne vous les proposera qu'en longueur fixe. Ce comportement sera modifié dans une version ultérieure,
Année de parution : entrez ici l'année de parution de l'ouvrage ou utilisez les flèches de côté pour in/de-crémenter sa valeur,
Nombre de pages : entrez ici le nombre de pages de l'ouvrage ou utilisez les flèches de côté pour in/de-crémenter sa valeur,
Série : entrez la série à laquelle l'ouvrage appartient,
État : sélectionnez l'état physique de l'ouvrage. Si l'état désiré n'existe pas, le bouton de côté vous donnera accès à la gestion des états,
Format : sélectionnez dans la liste le format d'édition de l'ouvrage. Si le format désiré n'existe pas, le bouton de côté vous donnera accès à la gestion des formats,
Éditeur : sélectionnez dans la liste l'éditeur de l'ouvrage. Si l'éditeur désiré n'xiste pas, le bouton de côté vous donnera accès à la gestion des éditeurs,
Résumé : entrez ici le résumé de l'ouvrage,
Mots clés : entrez ici une liste de mots clés séparés entre eux par un espace afin de faciliter vos recherches futures,
Commentaires : éditez vos commentaires personnels sur l'ouvrage,
Appréciation : niveau d'appréciation personnel de l'ouvrage,
Exemplaires : nombre d'exemplaires en votre possession. Entrez directement une valeur ou utiliser les flèches de côté. Toute valeur incorrecte sera affichée en rouge. Le nombre d'exemplaires est en relation directe avec la case à cocher acquis. Si cette dernière est cochée, la valeur minimale pour les exemplaires sera fixée à 1 (un), si elle est décochée, les valeurs minimale et maximale pour le nombre d'exemplaires sera de 0 (zéro),
En rayon : cette valeur n'est pas éditable. L'ouvrage sera considéré en rayon seulement si la différence entre le nombre d'exemplaires total et le nombre d'ouvrages déjà prêtés est supérieure à 0 (zéro),
Acquis : spécifie si l'ouvrage est déjà en votre possession,
Lu : avez-vous déjà lu cet ouvrage ?
Conserver : désirez-vous conserver cet ouvrage ?
Le bouton Okay enregistre les données et ferme la fenêtre. Le bouton annuler (ou la touche Echap) ferme la fenêtre sans enregistrer les modifications.
Les champs incrémentiels (année de parution, nombre de pages et nombre d'exemplaires) n'acceptent que des nombres en entrée. Notez que toute valeur entrée invalide sera colorée en rouge. Néanmoins, en cas d'entrée invalide, la valeur par défaut serait enregistrée automatiquement, aucun message d'erreur ne sera produit. Si vous entrez directement une valeur au clavier, celle-ci sera affichée de couleur verte tant que vous n'aurez pas validé par la touche entrée.
La suppression d'un ouvrage n'est possible que depuis le mode liste. Effectuez un click droit sur l'ouvrage à supprimer et sélectionnez l'entrée du menu popup correspondante. Le logiciel vous demandera confirmation, puis affichera un message de résultat de l'opération.

ajout d'un auteur

listing des auteurs\liste_auteurs

modification d'un auteur\modification_auteur

sélection de la date de naissance\selection_date_naissance
Le module des genres de BibliothèK est constitiué de deux valeurs : un code pouvant contenir jusque 7 caractères, et le nom du genre. Ce module est prévu pour être compatible avec la classification Dewey (et dérivés) dans la limite des 7 caractères autorisés pour le code (000.000 pour la classification Dewey, 7 caractères alphanumériques pour votre système de classement personnel). Néanmoins, la classification de Dewey est une marque déposée, elle ne peut donc être intégrée à l'application. Un module d'import sera greffé lorsque j'aurais pu obtenir de plus amples informations sur sa version informatisée.

consultation des genres\liste_genres
Les genres sont ici listés par code. Il vous est possible d'indiquer un code alphabétique, dans la mesure ou chaque code demeure unique. Il est possible de modifier le classement en cliquant sur l'en-tête de colonne approprié.
Vous pouvez également utiliser les champs code et genre du haut de la fenêtre pour effectuer une recherche rapide.

ajout d'un genre\ajout_genre

modification d'un genre
Le mode ajout est accessible depuis le menu BibliothèK/Genres/Ajouter. Le mode modification est accessible depuis le menu popup du mode liste.
code : le code qui identifiera le genre dans les ouvrages. Il est composé de 7 caractères alphanumériques au maximum. Chaque code doit être unique.
genre : le descriptif du genre, composé au maximum de 100 caractères.
Tous les champs de ces fenêtres sont requis.

liste des formats

ajout d'un format

modification d'un format

liste des éditeurs

ajout d'un éditeur

modification d'un éditeur

liste des états

ajout d'un état

modification d'un état
BibliothèK vous permet de gérer les prêts de vos livres. Ce module est composé de deux parties distinctes : la gestion des fiches emprunteurs et la gestion des ouvrages empruntés.

ajout d'un emprunteur

modification d'un emprunteur
Selon le même modèle que les autres parties de l'application, la gestion des emprunteurs possède les modes liste, modification, ajout et suppression.
Il s'agit de simple fiches de renseignements qui pourront vous permettre de contacter les personnes qui vous empruntent des ouvrages.
nom : nom de l'emprunteur
prénom : prénom de l'emprunteur
adresse : adresse postale
code postal : code postal de résidence
ville : ville de résidence
téléphone : numéro de téléphone. L'entrée se fait sans espaces, l'application se chargera du formatage pour l'affichage. Si le numéro de téléphone est incomplet, l'application produira un message
GSM : téléphone portable. L'entrée se fait sans espaces, l'application se chargera du formatage pour l'affichage. Si le numéro de gsm est incomplet, l'application produira un message
E-Mail : adresse mail. Une adresse invalide (eg sans @ par exemple) produira un message
Les données obligatoires sont les nom, prénom et téléphone de l'emprunteur.

enregistrement d'un prêt
Dans cette partie, vous pourrez gérer les ouvrages prêtés.
titre emprunté : sélectionnez dans la liste le titre emprunté. Vous pouvez également utiliser le bouton où apparaît un livre pour accéder à la gestion des livres, un double click sur un titre le sélectionnera automatiquement dans la liste
emprunteur : sélectionnez dans la liste le nom de l'emprunteur, ou utiliser le bouton où apparait une tête pour accéder à la gestion des emprunteurs, un double click dans la liste sélectionnera automatiquement l'emprunteur
exemplaires : nombre d'exemplaires empruntés. La valeur maximale de ce champ correspond au nombre d'exemplaires en rayon de l'ouvrage sélectionné.
La valeur entrée sera mise à jour si besoin est lorsque vous sélectionnerez un titre différent. Par exemple, si vous possédez 10 exemplaires d'un ouvrage A et 2 d'un ouvrage B ; que vous sélectionnez d'abord l'ouvrage A et attribuez la valeur 5 aux exemplaires à prêter, puis que vous sélectionnez l'ouvrage B dans la liste, la valeur du nombre d'exemplaires sera réattribuée à 2 (le maximum).
Dans le cas où plus aucun exemplaire du livre ne serait disponible, le champ exemplaires sera désactivé (grisé) et vous ne pourrez enregistrer le prêt. Si vous éditez manuellement le champ exemplaires (càd sans utiliser les flèches de côté), le texte se colore en rouge en cas d'entrée invalide (lettre, valeur supérieure au maximum, ...). Notez que dans ce cas l'application enregistrera la valeur par défaut (1) si vous validez le prêt, aucun message d'erreur ne sera affiché.
date d'emprunt : date à laquelle l'emprunt débute. Cette valeur est initialisée par défaut à la date du jour
date de retour : date de retour programmée. Cette valeur est initialisée à 7 jours à compter de la date courante.
Utilisez le sélecteur de dates pour les dates de sortie et de retour :

sélecteur de dates
Tous les champs sont obligatoires.
Notez que seuls les ouvrages marqués 'acquis' dans la gestion des livres sont présents dans la liste.
Le retour d'un livre sera affecté par la suppression de l'entrée correspondante à son prêt dans la liste.
Actuellement, la fenêtre de préférences permet de modifier l'accès aux bases de données.
Elle est accessible depuis le menu Bibliothèk/préférences ou à l'aide du raccourci clavier Ctrl+O.

La fenêtre des préférences
Serveur SQL : entrez ici l'adresse du serveur SQL ou le nom d'hôte qui héberge la base de données. Ce champ est requis si l'onglet spécifié par défaut (voir accès aux données) est en mode serveur. Lors du chargement de la configuration, l'application affichera un message si tel n'est pas le cas.
Base de données : le nom de la base de données à utiliser. Le script d'installation fourni crée une base nommée bibliothek par défaut.
Utilisateur base de données : le nom d'utilisateur sql de la base de données. Le script génère un utilisateur nommé bibliothek et lui attribue les droits d'utilisation sur la base du même nom.
Mot de passe base de données : le mot de passe correspondant à l'utilisateur précédemment entré. Par défaut, aucun mot de passe n'est créé. Libre à vous d'attribuer un mot de passe utilisateur via votre gestionnaire de base de données.
Mot de passe de l'application : passe général d'accès à l'application. Cette fonctionnalité n'est pas encore implémentée. Il s'agit du mot de passe d'accès à l'application.
Crypto : bouncy ou simple. C'est le mode de cryptage qui sera utilisé pour stocker les mots de passe dans le fichier de configuration XML. Le mode Bouncy offre un cryptage fort basé sur l'API BouncyCastle, mais nécéssite l'installation du JCE unrestricted (voir prérequis). Le mode simple, quant à lui fournit un cryptage basé développé par M. Thierry Selva et ne nécéssite aucune bibliothèque externe.
UI : fourni à titre gracieux (:-D), il s'agit d'une simple interface graphique pour le mode de cryptage simple.
UI vous permet de crypter/décrypter des chaînes de caractères et vous propose la création aléatoire de mots de passe. Si la case "Aléatoire" est cochée, vous devez spécifier la longueur du passe à générer (par défaut, cette valeur est fixée à 10, le minimum est 3, le maximum 999). La sélection du mode cryptage ou décryptage n'aura aucun effet si aléatoire est activé. Si cette case n'est pas cochée (comportement par défaut), entrez dans le champ "Chaîne à (dé)crypter" le mot de passe à traiter, sélectionnez le mode cryptage ou décryptage, puis validez.
Présentée sous forme d'onglets de la structure suivante :
Mode serveur : il s'agit du mode de fonctionnement du serveur. La valeur peut être soit "server" soit "file". Le mode serveur correspond à la plus grande majorité des gestionnaires de bases données : vous possédez un tel gestionnaire qui tourne en tant que démon (ou service) sur un port particulier. Le mode "file" quant à lui, sera utile pour les gestionnaires basés sur des fichiers - tel hsqldb ou apache derby. Notez que ces deux gestionnaires possèdent également un mode serveur.
Pilote : la classe du pilote de base de données. Référez-vous à la documentation du connecteur utilisé pour savoir quelle valeur entrer. Les valeurs par défaut devraient fonctionner...
Nom : le nom du gestionnaire (correspond au nom de l'onglet) : nom du pilote sql. Cette valeur est également définie par JDBC/le connecteur bdd.
Port : le numéro de port sur lequel écoute le gestionnaire auquel la base de données doit se connecter. Les valeurs présentes sont celles par défaut des différents serveurs. Consultez la documentation de votre gestionnaire ou votre administrateur pour connaître la valeur à indiquer, en cas de port non standard.
Attributs optionnels : entrez ici les attributs optionnels utilisés lors de la connexion sql. Notez qu'il est nécéssaire d'entrer également le séparateur (? pour mysql et ; pour hsqldb par exemple).
Défaut ? : indique que l'onglet en cours correspond au serveur à utiliser.
Sachez que l'initialisation d'une base de données via JDBC se fait de la façon suivante :
Class.forName({driver}).newInstance();
La connexion sera ensuite initialisée comme suit :
DriverManager.getConnection(
{sql server},
{sql user},
{sql password}
);
Dans la première instruction, {driver} sera remplacé par la valeur du champ correspondant dans l'interface. Dans la seconde instruction, {sql server} sera construit de la façon suivante (en mode server) :
jdbc:{nom}:{serveur}[:{port}]/{base}
où nom prendra la valeur de nom du driver (équivalent au nom de l'onglet), serveur l'adresse du serveur renseignée, port le port correspondant, et {base} le nom de la base de données.
{sql user} et {sql password} seront respectivement remplacés par les valeurs nom d'utilisateur sql et mot de passe utilisateur de la fenêtre de préférences.
Notez que le numéro de port est optionnel. S'il n'existe pas, le port par défaut sera utilisé par le driver sql. Consultez la documentation du connecteur pour de plus amples informations.
Les valeurs de cette fenêtre de configuration sont stockées dans un fichier nommé 'config-biblio.xml' dans un répertoire .config placé dans le répertoire d'installation de BibliothèK. Ce fichier peut comporter certaines options supplémentaires qui seront intégrées à l'interface par la suite, ces options sont sans objet ici. Voici un aperçu de ce fichier :
<?xml version="1.0" encoding="UTF-8"?>
{infos de license}
<config>
<sql providers>
<sql provider name="mysql" port="3306" default="yes" mode="server" arguments="?zeroDateTimeBehavior=convertToNull">com.mysql.jdbc.Driver</sql provider>
<sql provider name="postgresql" port="5432" default="no" mode="server" arguments="">org.postgresql.Driver</sql provider>
<sql provider name="hsqldb" port="" default="no" mode="file" arguments=";shutdwon=true;ifexists=true">org.hsqldb.jdbcDriver</sql provider>
</sql providers>
<sql server>nom machine</sql server>
<sql db>bibliothek</sql db>
<sql user>root</sql user>
<sql password></sql password>
<root soft password></root soft password>
<cryptomode>bouncy></cryptomode>
</config>
Chaque noeud enfant de sql provider correspond à un onglet de l'interface.
Le reste du fichier devrait être assez parlant au vu de la fenêtre de configuration graphique :)
Toute modification dans la fenêtre des préférences indique à l'application d'enregistrer la configuration. Tant qu'aucune modification n'est apportée, le logiciel ne vous proposera pas d'enregistrer. Cliquez sur appliquer pour enregistrer les données sans quitter la fenêtre, sinon sur Okay. Une fois l'enregistrement correctement effectué (vous en serez averti), la configuration est automatiquement rechargée et prend effet instantanément.
Il est également possible de modifier directement le fichier xml de configuration (rep install/.config/biblio-config.xml). Attention néanmoins à ne pas corrompre la structure du fichier ; l'application pourrait ne plus fonctionner dans ce cas. Néanmoins, quoi qu'il arrive, il est possible de recréer un fichier par défaut en lancant l'application après avoir supprimé le fichier existant.

l'aperçu avant impression

listing des classements

ajout d'un classement

modification d'un classement
Un grand merci à Alex pour son aide et son soutien pour ce projet, ses vérifications diverses (tant d'ordre technique qu'orthographique) ; ainsi qu'à Franck sans qui il n'aurait pas vu le jour ! Merci aussi à Thierry pour son aide et ses conseils précieux concernant Java et les bases de données.
Merci également à tous ceux et celles qui ont participé ou participeront à cette aventure.
Basé sur le framework JGoodies Forms http://www.jgoodies.com/freeware/forms/index.html, look and feel JGoodies Looks http://www.jgoodies.com/freeware/looks/index.html
Création des différentes fenêtre à l'aide d'AbeilleForms https://abeille.dev.java.net
Basé sur JavaHelp https://javahelp.dev.java.net/
Rédigé avec HelpSetMaker http://www.cantamen.de/helpsetmaker.php?lang=en
Relue et corrigée autant que possible ! Merci de me faire part d'éventuelles corrections qui nous auraient échappé ;-)
L'accès aux fichiers XML est basé sur la bibliothèque JDom http://www.jdom.org/
Les données sensibles (mots de passe) stockés dans les fichiers XML sont cryptés. Deux choix sont offerts :
l'API de Bouncy Castle http://www.bouncycastle.org/fr/index.html (sous réserve de l'installation de la JCE)
le cryptage simple développé par M. Thierry Selva
Dans cette version, les données sont stockées dans une base de données MySQL http://www.mysql.com.
Un portage vers PostgreSQL http://www.postgresql.org/ et HSQLDB http://hsqldb.org/ est prévu dans le futur.
Les impressions sont assurées par JasperReports http://jasperreports.sourceforge.net/.
Les modèles d'impression sont générés (et peuvent être modifiés le plus simplement du monde) avec l'excellent logiciel iReport http://ireport.sourceforge.net/
Pour plus d'informations reportez-vous au code source fourni avec le logiciel et au répertoire libs pour les librairies externes.
Vous pouvez consulter mon site internet http://www.x-tnd.be et ma partie perso http://www.x-tnd.be/curriculum/trasher.

Il vous est possible de me joindre de plusieurs façons :
email : trasher@x-tnd.be
jabber : trasher@jabber.x-tnd.be
Le site web de ce logiciel se trouve à l'adresse http://logiciels.x-tnd.be/bibliothek.php5, vous pourrez y trouver la dernière version du logiciel, cette aide ainsi que diverses informations.