biblio. informatique

Bibliothèque au sens informatique, c'est à dire de logiciels système ou graphique ou...
Fiche logiciel validé
  • Création ou MAJ importante : 30/07/13
  • Correction mineure : 31/07/13
Mots-clés
Pour aller plus loin

GNU MPFR : bibliothèque de calcul sur les nombres à virgule flottante en précision arbitraire

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : GNU MPFR
Description
Fonctionnalités générales

GNU MPFR est une bibliothèque qui permet d'effectuer des calculs sur des nombres à virgule flottante en précision arbitraire avec un « arrondi correct ». Les calculs ont une sémantique bien définie, tout en restant efficaces. GNU MPFR reprend et étend à la multiprécision les choix judicieux de la norme IEEE-754 pour l'arithmétique flottante double précision.

Autres fonctionnalités

GNU MPFR est une bibliothèque mature, la première version publique date de juillet 2000.
Elle est utilisée par :

  • le compilateur GCC (GNU MPFR pré-requise depuis mars 2008),
  • plusieurs systèmes de calcul formel : SAGE, TRIP.
Interopérabilité
  • Fonctions de lecture et d'écriture de nombres à virgule flottante sous forme de chaînes de caractères.
  • Fonctions de conversion vers tous les formats numériques du C et de GMP.
  • Couche de compatibilité avec le format en virgule flottante proposé par GMP (précision arbitraire sans arrondi correct).
Contexte d'utilisation dans mon laboratoire/service

Pour l'équipe AriC (ex-ARÉNAIRE) du Laboratoire de l'Informatique du Parallélisme de Lyon, la bibliothèque GNU MPFR sert de brique de base à divers outils d'aide à la production de codes numériques certifiés.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • Distributions Linux majeures (Debian, Fedora, Gentoo, Ubuntu, etc.)
  • Cygwin
  • MacOS X
Plates-formes

La portabilité est une caractéristique importante de GNU MPFR, en particulier parce que cette bibliothèque est utilisée par GCC.
Le fonctionnement de GNU MPFR a été testé, entre autres, sur les plates-formes suivantes :

  • Linux/Windows/MacOS X sur processeurs Intel
  • MacOS X sur processeurs PowerPC
Logiciels connexes
  • GMP : GNU Multiple Precision Arithmetic Library
  • GNU MPC : Fonctions complexes en multiprécision avec arrondi correct
Autres logiciels aux fonctionnalités équivalentes

decNumber utilise une représentation décimale pour ses calculs en précision arbitraire alors que GNU MPFR calcule en binaire.

Environnement de développement
Type de structure associée au développement

Les principaux contributeurs à la bibliothèque GNU MPFR font partie du Laboratoire Lorrain de Recherche en Informatique et ses Applications (Nancy) et du Laboratoire de l'Informatique du Parallélisme (Lyon).

Eléments de pérennité

GNU MPFR est un logiciel libre dont le développement est soutenu par Inria depuis 2000.
Depuis la version 2.4, MPFR est un projet GNU.

Références d'utilisateurs institutionnels
  • Observatoire de Paris - Institut de Mécanique Céleste et de Calcul des Éphémérides.
  • Laboratoire d'Informatique de l'École polytechnique de Palaiseau.
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

mpfr [at] loria [dot] fr (mpfr@loria.fr)

Documentation utilisateur
Divers (astuces, actualités, sécurité)

L'article Why and How to Use Arbitrary Precision in COMPUTING IN SCIENCE & ENGINEERING May/June 2010 présente sur un exemple utilisant MPFR l'intérêt d'utiliser la multiprécision et l'arrondi correct dans les calculs.

Contributions
Fiche logiciel validé
  • Création ou MAJ importante : 26/05/10
  • Correction mineure : 23/07/13
Mots-clés
Pour aller plus loin

Qwt : bibliothèque de widgets Qt: courbes, images, couleurs, graduations (linéaires, log, ...)

Description
Fonctionnalités générales

Qwt est une extension de la bibliothèque de widgets Qt (composants d'interface graphique).

Le principal widget, QwtPlot, sert à représenter des données en 2D(items).
Une fois créés, les items (courbes, marqueurs, grilles, images, objets SVG, ...) sont ajoutés dans un QwtPlot qui se charge ensuite de leur affichage. L'héritage C++ permet de créer ses propres types d'item (voir l'exemple avec l'histogramme).

Un QwtPlot peut définir jusqu'à 4 axes (verticaux à gauche ou à droite et horizontaux en haut ou en bas), chaque item étant attaché (relié) à un axe X (haut ou bas) et un axe Y (gauche ou droit) afin de mapper les données réelles de l'item (y = f(x) pour une courbe) au système de coordonnées écran.
Chaque axe est paramétrable (extrema, affichage des graduations, mapping linéaire, logarithmique ou "user-defined").

Un système de sélection de zone permet de sélectionner (à la souris, au clavier) graphiquement un point, un rectangle (sans avoir besoin de redessiner tous les items présents dans le QwtPlot). Une fois la sélection effectuée, les coordonnées de la sélection (pixels) peuvent être mappés en coordonnées réelles afin de traiter la sélection.
Dans le cas du zoom, les graduations des axes sont mises à jour avec les coordonnées réelles de la sélection puis les items sont redessinés, en tenant compte de la nouvelle fenêtre d'affichage.

Il existe aussi d'autres widgets que le QwtPlot: sliders avec graduations, boussoles, potentiomètres, thermomètres et tout autres widgets d'un tableau de bord...

Le mapping (linéaire, logarithmique,...) d'intervalles de valeurs réelles avec des intervalles de valeurs entières peut être utilisé indépendemment de l'objet QwtPlot: soit dans un contexte graphique (définir un mapping et le représenter avec une échelle graduée) soit dans un contexte non graphique (mapping seul).

Autres fonctionnalités

L’approche de la bibliothèque Qwt est très similaire syntaxiquement et fonctionnellement à la bibliothèque Qt.
Les widgets de Qwt sont accessibles dans le designer Qt, un module Python est disponible (grâce au wrapper sip).
Les exemples d'utilisation (C++ et Python) donnent un aperçu rapide, clair et essentiel des principales fonctionnalités de la librairie et de contextes d'utilisation.

Interopérabilité

Rien de spécial à préciser si ce n'est la prise en charge très utile du format SVG pour de jolis rendus sur posters.

Contexte d'utilisation dans mon laboratoire/service

Utilisé pour étendre les fonctionnalités de Qt dans un contexte d'affichage et de visualisation de données 2D.

Environnement du logiciel
Plates-formes

Qwt 5 est disponible dans tous les environnements disposant de Qt.

Logiciels connexes

Qt : http://www.projet-plume.org/fr/fiche/qt
QwtPolar, a polar plot widget ( http://qwtpolar.sourceforge.net/ ).
QwtPlot3D, an OpenGL 3D plot widget ( http://qwtplot3d.sourceforge.net/ ).
QtiPlot, data analysis and scientific plotting tool, using QwtPlot ( http://soft.proindependent.com/qtiplot.html ).

Environnement de développement
Type de structure associée au développement

Qwt est développé principalement par Uwe Rathmann (rathmann [at] users [dot] sourceforge [dot] net).

Eléments de pérennité
  • Le code est simple (rien de tordu ni d'obscur) et robuste (pas de bugs majeurs connus non corrigés)
  • Le développement (code, version, faq, news-letter) reste actif
  • Une mailing liste active
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

Les exemples, illustrant les cas d'utilisation généraux, constituent la principale documentation utilisateur.
Ils donnent un aperçu rapide des fonctionnalités de la librairie et leur code simplifié sert facilement de point de départ pour une utilisation plus avancée.
Ensuite, la documentation programmeur (doxygen, html) fournit la liste complète des classes et des fonctionnalités de la librairie ainsi que quelques explications sur la manière de les utiliser.
Enfin, arrivé à un stade, on ne peut s'empêcher d'aller regarder le code source (assez clair) pour des questions bien précises concernant le fonctionnement interne (implémentation, optimisation, rendu, extensions).

Fiche logiciel validé
  • Création ou MAJ importante : 21/11/11
  • Correction mineure : 21/11/11
Mots-clés

LAPACK : bibliothèque d'algébre linéaire

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version évaluée : V=3.1
  • Langue(s) de l'interface : anglais
  • Licence : Autre

    Licence de type "modified bsd"

Description
Fonctionnalités générales

LAPACK (Linear Algebra PACKage) est une bibliothèque de fonctions pour la résolution numérique de problèmes d'algèbre linéaire (matrices, systèmes linéaires ...). Cette librairie permet une manipulation efficace de matrices pleines ou bandes, mais ne contient pas de méthodes adaptées aux opérations sur les matrices creuses. Elle fournit des fonctions pour effectuer un grand nombre d'opérations de haut niveau: la factorisation LU, QR et Schur, recherche de valeurs propres et de vecteurs propres, décomposition en valeurs singulière (SVD) ...
LAPACK est codée en fortran. La compilation nécessite un compilateur Fortran90 à partir de la version 3.2. La version 3.4 a été rendue publique en Novembre 2011.

Autres fonctionnalités

L'efficacité de LAPACK repose sur l'utilisation d'une librairie de plus bas niveau, appelée BLAS (Basic Linear Algebra Subprogram). Il existe des versions optimisées de BLAS/LAPACK (pas toujours gratuite) pour certaines plate-formes (Processeur/OS). Intel fournit par exemple BLAS/LAPACK comme composante de Intel Math Kernel Library (MKL). LAPACK/BLAS est également disponible sur les machines Apple (Mac OS X), dans le Framework Accelerate. Voir également le projet ATLAS: Automatically Tuned Linear Algebra Software .

Interopérabilité

LAPACK est une librairie fortran et son utilisation à partir d'autres langages compilés (C,C++,F95) ne représente pas de difficultés particulières. Une version clapack, traduite en C par f2c existe, ainsi qu'une interface (probablement partielle) pour Java.

Contexte d'utilisation dans mon laboratoire/service

LAPACK est largement utilisé comme noyau de calcul d'algèbre linéaire dans les logiciels de calcul et d'analyse de données. On peut citer MATLAB et Scilab parmi les plus répandus. Nous avons également utilisé LAPACK dans le cadre du projet SOPHYA de développement d'une librairie de classes C++ pour le calcul scientifique et d'analyse de données, et des outils associés.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

La plupart des distributions linux.

Plates-formes

La librairie LAPACK peut être compilée sur la majorité de plate-formes disposant d'un compilateur fortran (f77 pour V=3.1, f90 pour V>=3.2)

Logiciels connexes

BLAS
De nombreux codes de calcul utilisent lapack.

Environnement de développement
Eléments de pérennité

Le développement de LAPACK, dont la première version a été livrée en 1992, a débuté à la fin des années 80's par un consortium universitaire. Cette librairie fiable et efficace bénéficie d'une grande communauté d'utilisateurs avertis et de nombreux contributeurs.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

Guide de l'utilisateur :
LAPACK Users' Guide, Third Edition , Ed. SIAM
( http://www.netlib.org/lapack/lug/index.html )

Mots-clés

SQLite

Une description de SQLite, moteur de bases de données sous forme de bibliothèque pour programmeur, a été publiée sur le serveur de Framasoft.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 12/12/08
  • Correction mineure : 28/05/14
Mots-clés

pocolibs : middleware pour les systèmes embarqués et la robotique

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, MacOS X
  • Version actuelle : 2.14 - Mai 2014
  • Licence(s) : BSD
  • Etat : diffusé, stable
  • Support : maintenu, sans développement en cours
  • Concepteur(s) : Rogerio Ferraz de Camargo, Victor Perebaskine, Sara Fleury, Anthony Mallet, Matthieu Herrb
  • Contact concepteur(s) : openrobots at laas.fr
  • Laboratoire(s), service(s)... : LAAS

 

Fonctionnalités générales du logiciel

Pocolibs est un ensemble de bibliothèques logicielles implémentant des fonctions de communication pour des applications distribuées, ainsi qu'un ensemble de fonctions utilitaires pour faciliter la portabilité des logiciels. Les mécanismes de communication proposés sont :

  • csLib une communication Client/Serveur par messages, qui se caractérise par l'envoi possible de deux réponses à une requête : une réponse initiale lorsque le traitement de la requête a commencé, puis une réponse finale à la fin du traitement.
  • posterLib une communication par posters : mémoire commune avec un écrivain unique (le propriétaire du poster) et plusieurs lecteurs.

Pocolibs a été développé initialement sous le système temps réel VxWorks. Il est actuellement maintenu sous Linux, avec en option le support des extensions temps-réel Xenomai.

Contexte d’utilisation du logiciel

Les bibliothèques de Pocolibs sont utilisées essentiellement en conjonction avec Genom pour implémenter les modules de la couche fonctionnelle d'un système embarqué complexe. Mais elles peuvent également être utilisées seules pour implémenter une communication entre tâches dans n'importe quel autre système.

Pocolibs est comparable (en plus petit) à l'environnement ACE de Schmidt et al.

Publications liées au logiciel
  • Architecture matérielle et logicielle pour le contrôle d'exécution d'un robot mobile autonome
    Rapport LAAS N°91272, Doctorat de l'Université Paul Sabatier, Toulouse, 11 Juillet 1991,
    Auteur(s): R.FERRAZ DE CAMARGO
  • R. Alami and R. Chatila and S. Fleury and M. Ghallab and F. Ingrand, An Architecture for Autonomy, International Journal of Robotics Research, Special Issue on Integrated Architectures for Robot Control and Programming, 1998.
Fiche logiciel validé
  • Création ou MAJ importante : 18/10/10
  • Correction mineure : 18/10/10
Mots-clés
Pour aller plus loin

PaStiX : Parallel Sparse matriX package

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : PaStiX
Description
Fonctionnalités générales

Résolution de très grand systèmes linéaires creux en utilisant une méthode directe.
Parallélisme de type MPI et/ou Thread, adapté aux architectures parallèles de type cluster ou machine multicoeurs.
Arithmétique flottante/complexe en double/simple précision.
Version In-Core (tous les objets alloués tiennent dans la RAM) et Out-of-Core (on en décharge une partie sur disque). Cela permet de traiter des systèmes linéaires de plus grande taille (le record de taille pour PaStiX est de 83 millions d'inconnues en complexe double précision !).
Des options sont disponibles pour optimiser les performances sur les architectures NUMA (Non Uniform Memory Access).

Autres fonctionnalités

Factorisation incomplète de type ILU(k) pouvant être utilisée comme préconditionneur pour des méthodes itératives.
Intègre en interne les méthodes GC et GMRES avec un parallélisme hybrid MPI/Thread.
PaStiX est interfacé dans la bibliothèque PETSc pour une utilisation des fonctionnalités de base du solveur.

Interopérabilité

PaStiX accepte en entrée différents formats de matrices (Matrix Market, ...).

Contexte d'utilisation dans mon laboratoire/service

PaStiX est utilisé dans des codes de simulations numériques pour la résolution de grands systèmes linéaires creux.

Environnement du logiciel
Plates-formes

LINUX, AIX, SGI, SUN, MAC

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Liste de solveurs directs creux du domaine public sous http://www.netlib.org/utk/people/JackDongarra/la-s...

Environnement de développement
Type de structure associée au développement

PaStiX est développé dans le cadre de l'équipe INRIA Bacchus. Avec moi-même les principaux contributeurs sont : Pascal Hénon, Mathieu Faverge et Xavier Lacoste.

Références d'utilisateurs institutionnels

CEA, EDF

Environnement utilisateur
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 02/12/08
  • Correction mineure : 17/12/09

Givaro : C++ library for computer algebra: exact arithmetic and data structures

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 3.2.11 - 23 juin 2008
  • Licence(s) : LGPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Thierry Gautier, Gilles Villard, Jean-Louis Roch, Jean-Guillaume Dumas, Pascal Giorgi, Clément Pernet
  • Contact concepteur(s) : Jean-Guillaume.Dumas@imag.fr
  • Laboratoire(s), service(s)... : LIG, LIP, LIRMM, LJK

 

Fonctionnalités générales du logiciel

Une version objet des entiers GMP en précision arbitraire, permettant
de donner une interface de type "int" à ces entiers, de l'algorithmique de la théorie des nombres, des rationnels en précision arbitraire, de nombreuses variantes d'implémentations des corps finis (corps premiers ou extensions) de taille le mot machine, la reconstruction entière et rationnelle d'entiers modulaires par les restes chinois, une structure de polynômes univariés paramétrée par le domaine des coefficients (donc une structure multivariée récursive), des structures de données vectorielles et matricielles gérées par compteurs de références.

Contexte d’utilisation du logiciel
  • Givaro est utilisé par l'environnement SAGE pour ses corps finis
  • Givaro est utilisé par la bibliothèque LinBox pour ses corps finis
  • Givaro est utilisé comme outil de recherche par les laboratoires LJK, LIG, IF à Grenoble, le LIP à Lyon, le LIRMM à Montpellier.
  • Givaro est disponible en paquet Debian/Ubuntu : libgivaro-dev
Publications liées au logiciel
  • Q-adic Transform revisited. Jean-Guillaume Dumas.
    ISSAC'2008 : International Symposium on Symbolic and Algebraic Computations, Hagenberg, Autriche, 20-23 Juillet 2008.
  • Efficient dot product over finite fields. Jean-Guillaume Dumas. CASC'2004 : Computer Algebra in Scientific Computing, pp139-154, 12-19 Juillet 2004, Saint Petersburg, Russia.
  • FFLAS: Finite field linear algebra subroutines . Jean-Guillaume Dumas, Thierry Gautier et Clément Pernet.
    ISSAC'2002 : International Symposium on Symbolic and Algebraic Computations, pp63-74, 7-10 Juillet 2002, Lille, France.
  • Calcul formel et parallélisme : conception du système GIVARO et applications au calcul dans les extensions algébriques. Thierry Gautier. 1996.
Fiche logiciel validé
  • Création ou MAJ importante : 03/12/10
  • Correction mineure : 03/12/10
Mots-clés
Pour aller plus loin

MUMPS : solveur direct de systèmes linéaires creux

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : MUMPS
Description
Fonctionnalités générales
  • Résolution de grand systèmes linéaires creux pour différents types de matrices : symétriques définies positives, symétriques générales, et non-symétriques générales
  • Support pour plusieurs arithmétiques : Réels (simple ou double précision), Complexes (simple ou double précision).
  • Solveur parallèle : les phases d'analyse, de factorisation et de résolution sont complètement (ou partiellement dans le cas de l'analyse) parallélisés.
Autres fonctionnalités
  • Factorisation et résolution hors-mémoire (out-of-core) pour traiter des problèmes de très grande taille.
  • Support pour différent types de matrices en entrée.
  • Factorisation partielle et fonctionnalité de manipulation du complément de Schur.
  • Raffinements itératifs et analyse d'erreurs pour la solution calculée.
  • Plusieurs techniques de renumérotations sont interfacées (AMD, AMF, PORD, MEtIS et SCOTCH).
  • Depuis les versions 4.9.*, le solveur utilise en interne de l'adressage 64 bits ce qui peut lui permettre de traiter des problèmes encore encore plus gros.
Interopérabilité

MUMPS supporte différents types de formats de matrices en entrée :

  • Format assemblé
  • Format par élément
  • Format assemblé et distribué

En ce qui concerne le stockage des matrices sur fichier, il ne fournit pas de "driver" pour la lecture des matrices. L'utilisateur peut donc utiliser tous les formats.

Contexte d'utilisation dans mon laboratoire/service

MUMPS a deux types d'utilisation. La première est plutôt dans le contexte académique et concerne principalement la communauté simulation (mécanique des fluides ou des structures, acoustique, ...). La deuxième est quant à elle plus industrielle (plusieurs entreprises utilisent ce logiciel). Enfin, de part le fait qu'il est un des solveurs les plus complets actuellement et surtout parce qu'il est gratuit, le logiciel a un grand nombre d'utilisateurs. Les utilisateurs sont dans l'ensemble très satisfaits. Le seul point négatif est la complexité des jeux de paramètres dès qu'on veut faire des résolutions un peu plus pointues (ce défaut est présent dans presque tous les solveurs de ce type).

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Comme tout solveur linéaire complexe, MUMPS a un jeu de paramètres importants qui peuvent influencer la qualité et l'efficacité de la résolution. Il est donc nécessaire de bien assimiler le contenu de la documentation fournie.
  • MUMPS étant un logiciel utilisant plusieurs couches logiciels (MPI, BLAS, BLACS et ScaLAPACK) et étant écrit en C et en fortran, l'installation du logiciel peut être compliquée pour un utilisateur non-initié.
  • Documentation d'utilisation très complète mais un peu dense.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

PEtSc, Trilinos, Code_Aster, Scilab, ...

Plates-formes

Le solveur fonctionne sur presque toutes les architectures et systèmes d'exploitation disponibles actuellement sur le marché.

Logiciels connexes
  • MPI (pour gérer le parallèlisme).
  • BLAS (pour les opérations élémentaires sur les matrices).
  • ScaLAPACK + BLACS (nécessaire uniquement dans le cas de la version parallèle).
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Le logiciel est développé dans le cadre d'une collaboration entre plusieurs laboratoires/organismes de recherche publique. Avec moi-même, ont contribué au développement : Emmanuel Agullo, Patrick Amestoy, Alfredo Buttari, Philippe Combes, Jean-Yves L'Excellent, Stéphane Pralet, Mila Slavova et Bora Ucar.

Eléments de pérennité

Actuellement 5 enseignants-chercheurs ou chercheurs à plein temps contribuent activement au développement du logiciel.

Références d'utilisateurs institutionnels

Le logiciel compte plusieurs centaines d'utilisateurs de part le monde. Il est utilisé par des entreprises telles que EADS, Boeing, EDF, Samtech, .... Il est aussi très utilisé dans la communauté académique.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
  • mumps-dev [at] listes [dot] ens-lyon [dot] fr (liste pour dialoguer avec les développeurs).
  • mumps-users [at] listes [dot] ens-lyon [dot] fr (liste des utilisateurs).
Documentation utilisateur

Une documentation détaillée est fournie dans l'archive contenant le logiciel.
http://graal.ens-lyon.fr/MUMPS/index.php?page=doc

Une FAQ est également disponible :
http://graal.ens-lyon.fr/MUMPS/index.php?page=faq

Contributions

Les contributions ne peuvent être faites qu'en étroite collaboration avec l'équipe de développement.

Fiche logiciel validé
  • Création ou MAJ importante : 15/10/09
  • Correction mineure : 23/07/13
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes :

Qt : bibliothèque de création d'interfaces graphiques (GUI)

Description
Fonctionnalités générales

Qt est une bibliothèque multi plateformes permettant de créer des interfaces graphiques ( GUI ) grâce à une collection très complète de composants (appelés widgets). On peut également "dessiner" ou insérer des rendus OpenGL.
La conception graphique est facilitée par un designer : Qt Designer.
Programmer dans l'environnement de Qt se fait principalement au travers des langages C++, Java, Python.
Toutes les applications Qt utilisent le générateur de projets multi-plateforme qmake associé à un fichier de description de projet portable qui permet de créer le Makefile de l'application automatiquement. Dans ce fichier de projet, on peut ajouter des sections spécifiques au système cible si on le souhaite. Il est toutefois aisé d'incorporer des composants de la librarie Qt dans une application déjà prête sans se servir des outils de Qt (qmake, qdesigner...).

Toute application (graphique ou non) écrite grâce à cette librairie fonctionnera sans aucun changement dans le code sur les principales plateformes (Windows, Linux, mac).

Autres fonctionnalités

La librairie ajoute aux fonctionnalités d'interface graphique de base des modules dédiés : Network ( communication TCP/IP client serveur ), OpenGL ( utilisation transparente de widgets OpenGL ), SQL ( intégration de base de données, driver et interface utilisateur ), SVG ( rendu de fichiers SVG ), WebKit ( affichage de document html ), XML ( lecture/écriture ), Phonon ( support multi-média audio vidéo ).
Qt permet l'internationalisation des applications de manière simple en utilisant l'outil Qt Linguist.

Qt apparaît donc, en plus d'un outil de création d'interface, comme une véritable plate-forme de développement.

Interopérabilité

Qt définit ses propres formats pour tout ce qui lui est interne ( stockage d'une interface graphique dans un fichier, de ressources, de préférences, de documentation, ... )
mais pour le reste, Qt communique avec les formats "classiques" ( jpg, gif, xml, html ).

Contexte d'utilisation dans mon laboratoire/service

Qt est utilisé pour réaliser des interfaces graphiques par les développeurs en C++ ou Python. Qt est adapté aussi bien pour ajouter une couche d'interface graphique à un programme en ligne de commande ( saisie graphique des arguments par exemple ) que pour réaliser des applications graphiques plus fines ( visualisation interactive ).

Limitations, difficultés, fonctionnalités importantes non couvertes

Le très grand nombre de possibilités peut désorienter un peu au début ( il y a souvent plusieurs manières de faire la même chose ) mais la panoplie d'exemples, de démos et de tutoriaux et la documentation très claire sont là pour orienter les utilisateurs.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Qt est utilisé dans l'environnement de bureau de KDE et dans de nombreux exemples visibles sur la page http://trolltech.com/qt-in-use
Qt est également intégré dans la plupart des distributions linux.

Plates-formes

La portabilité ( Windows, Linux, Mac OSX, systèmes embarqués ) de la bibliothèque Qt est un atout important très mis en avant par la librairie elle-même dans sa communication.

Autres logiciels aux fonctionnalités équivalentes

Pour la partie GUI (Création d'interfaces graphique en C++) on peux citer :

  • Gtk
  • Motif (Mais ne fonctionne pas en natif sous windows)
  • WxWidgets

Fiches Plume de logiciels liés à Qt :

  • Qwt : bibliothèque de widgets Qt (courbes, images, couleurs, échelles graduées)
  • KDevelop : Environnement de Développement Intégré KDE multiplateforme
Environnement de développement
Type de structure associée au développement

Le développement de Qt est porté par la société TrollTech : http://trolltech.com/about

Eléments de pérennité

De très nombreux contributeurs : http://doc.trolltech.com/4.4/credits.html

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

On trouve tout ça en anglais sur le site de Qt ( et bien plus encore : développements futurs, gazette ! ) et en français sur le site http://www.qtfr.org/

Documentation utilisateur
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 29/10/08
  • Correction mineure : 17/07/13
Mots-clés

GraalWeb : interface d'accès à une bibliothèque décentralisée de grammaires locales

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 1.0 - juin 2006
  • Licence(s) : choix en cours, contacter l'auteur - L'utilisation de ce logiciel se fait par une applet Java depuis la page web du site GraalWeb.
  • Etat : en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Matthieu Constant
  • Contact concepteur(s) : Matthieu.Constant @ univ-mlv.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

GraalWeb est une interface d'accès à une bibliothèque décentralisée de grammaires locales de phénomènes linguistiques précis (GRAAL).
Le but est de permettre aux chercheurs en linguistique et informatique linguistique de partager leurs grammaires. Nous souhaitons à terme obtenir une bibliothèque référence couvrant de manière quasi-exhaustive les phénomènes représentables sous la forme de grammaires locales.
Enfin, nous avons pour ambition que la bibliothèque soit directement exploitable dans des analyseurs linguistiques.

Contexte d’utilisation du logiciel

GraalWeb est une applet Java qui donne une vue en ligne de GRAAL au moyen d’un moteur de recherche et d’un explorateur. Elle permet aussi de télécharger les paquetages de grammaires disponibles dans la bibliothèque. Le moteur de recherche utilise des techniques classiques du domaine de la recherche d’informations. L’explorateur permet d’avoir une vue d’ensemble de la bibliothèque (l’ensemble des paquetages, les dépendances entre les grammaires) et une vue détaillée du contenu au moyen d’un visualisateur avancé d’automates.

Publications liées au logiciel
  • Matthieu Constant. GraalWeb ou accéder à une bibliothèque décentralisée de grammaires locales. Bases de données lexicales : construction et applications. April 2007. pp. 79–87.
Syndiquer le contenu