UNIX-like

Logiciels (logiciels libres en majorité) qui fonctionnent sur des systèmes dérivés d'Unix (Linux...) ou ressources (liées aux logiciels) spécifiquement pour ces systèmes
Fiche logiciel validé
  • Création ou MAJ importante : 19/06/10
  • Correction mineure : 30/04/13
Mots-clés

Trac : gestion de projets de développements logiciels

Description
Fonctionnalités générales

Outil de gestion de projets de développements informatiques qui intègre étroitement par références actives (matérialisées sous forme de liens HTML) :

  • un wiki
  • un gestionnaire de tickets
  • une interface sur un gestionnaire de version (Subversion essentiellement)

Trac permet d'intégrer des références du wiki aussi bien dans les tickets que dans les messages de 'commit'; il est ainsi possible de connecter par des liens actifs bugs, tâches, révisions, fichiers et wiki. Trac offre également 2 autres présentations synthétiques sous la forme d'un journal d'activités (Timeline) et d'une feuille de route (Roadmap).

Autres fonctionnalités

Implémenté sous forme de 'plugins', Trac permet de n'activer et de n'utiliser que les composants nécessaires au projet.

Une communauté active propose un nombre toujours croissant de plugins rajoutant des fonctionnalités très variées - plus de 300 en mai 2010; voir http://trac-hacks.org/

Interopérabilité

Il existe quelques scripts d'import ou de conversion avec :

  • wiki (MoinMoin)
  • bug trackers (Mantis, phpBugTracker, …)

Plusieurs plugins permettent l'utilisation d'autres outils de gestion de version que Subversion (Git, Mercurial, Darcs, Bazaar, Monotone, Perforce, …)

Contexte d'utilisation dans mon laboratoire/service

Au LAL :

  • gestion du développement de logiciel
  • gestion de projet collaboratif
  • gestion de documentation technique
Limitations, difficultés, fonctionnalités importantes non couvertes

La version 0.11, pour peu qu'on dispose de Python-2.5, d'easy_install et de SQLite-3.3.4, s'installe très simplement avec :
$> sudo easy_install Trac
Le guide d'installation complet : http://trac.edgewall.org/wiki/TracInstall
La liste de discussions est très vivante et fournit une aide efficace.

L'interface n'est disponible qu'en anglais actuellement mais il existe des patchs pour d'autres langues. L'internationalisation est effective avec la version 0.12. Celle-ci est en phase de finalisation ultime (mai 10).

L'administration peut se faire en ligne de commande (trac_admin) ou bien avec le plugin d'administration via une interface Web.

Si on connecte Trac à Subversion, ils doivent être installés sur la même machine.

Environnement du logiciel
Plates-formes

Beaucoup ! Voir http://trac.edgewall.org/wiki/TracInstallPlatforms

Les logiciels suivants doivent être installés sur la platforme (Voir http://trac.edgewall.org/wiki/TracInstall):

  • Python >= 2.3
  • setuptools >= 0.6
  • Genshi >= 0.5
  • (SQLite et pySQLite) ou (PostgreSQL et psycopg2) ou (MySQL > 4.1 et MySQLdb > 1.2.1)
Logiciels connexes

Subversion, http://subversion.tigris.org/, http://www.projet-plume.org/fiche/subversion, si le projet géré l'utilise comme VCS et que l'on souhaite le connecter à Trac

Autres logiciels aux fonctionnalités équivalentes

Un tableau comparatif d'outils aux fonctionnalités semblables : http://en.wikipedia.org/wiki/Comparison_of_issue_t...

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

edgewall.org ( http://www.edgewall.org/ ) est une communauté active de développeurs de logiciels 'open source' en Python.

Références d'utilisateurs institutionnels

Une liste fournie par Trac : http://trac.edgewall.org/wiki/TracUsers
Wikipedia cite le ' Jet Propulsion Laboratory de la NASA'

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche logiciel validé
  • Création ou MAJ importante : 27/03/14
  • Correction mineure : 27/03/14
Mots-clés

Firebug : extension Firefox, débogueur JavaScript, XHTML, CSS

Description
Fonctionnalités générales

Firebug est un débogueur très utile pour mettre au point les sites web évolués. Il permet de passer aisément de la structure de la page web (code HTML) à la présentation (CSS) ou au comportement (JavaScript) : lorsqu'elle est activée (on peut l'activer pour certains sites seulement), une icône située dans la barre d'état du navigateur indique s'il y a des erreurs JavaScript. Un double-clic sur cette icône ouvre deux cadres au bas de la page, avec un menu permettant d'activer les principales fonctionnalités :

  • Le débogueur JavaScript permet de poser des points d'arrêt, suivre des expressions (variables locales ou globales), observer la pile d'appels, exécuter le code pas à pas, etc.
  • Les requêtes (paramètres envoyés et reçus) sont aisément visualisées, ce qui est particulièrement important dans le cas de requêtes asynchrones (de type Ajax). On peut afficher le résultat d'une requête (JSON, XML, HTML, cookies) après interprétation dépendant de son format : sous forme de structure de données (tableaux, ...) pour une requête JSON, dans un format correctement présenté, avec coloration syntaxique pour le XML, avec une interprétation complète pour le HTML.
  • Le bouton 'inspect', (ou l'option de menu contextuel appelée 'inspect') permet de lire la structure de la page web : on peut développer certains nœuds seulement, ce qui a l'avantage de faciliter la navigation à l'intérieur de la page en s'appuyant sur la structure du document. L'élément survolé par la souris est mis en valeur sur la page principale. Un clic sur le nom d'un élément affiche à droite de l'écran les propriétés de style correspondantes, avec l'indication des propriétés héritées, supprimées par héritage, et même des propriétés définies dans l'élément lui-même.
  • Les styles s'appliquant à la sélection sont visualisés en cascade, du plus spécifique au plus général, avec pour chacun d'eux le nom du fichier CSS source associé. Cela permet de comprendre facilement les effets d'héritage, imbrication et cascade propre aux CSS, de localiser rapidement l'attribut de style à l'origine d'une anomalie, ...
  • Si un script modifie la structure ou la présentation, ces modifications sont immédiatement reflétées dans les fenêtres HTML ou CSS.
  • Inversement, une modification dans la fenêtre HTML ou CSS est aussitôt répercutée dans la page web visualisée : très pratique pour tester l'effet d'un style ou d'une balise.
  • Un écran est dédié aux "cookies", cela permet de suivre l'évolution des cookies sur sa page web.
Autres fonctionnalités
  • La console JavaScript (messages d'erreur) est bien plus utilisable que la console de base de Firefox.
  • Firebug peut également servir de profileur, et ce de plusieurs manières :

    • Il est possible d'afficher le temps pris par chaque requête (HTML, images, scripts, etc.). On peut se limiter à certains types de fichiers : par exemple il est aisé de mesurer si une page met longtemps à se charger à cause de ses images.
    • Un véritable profileur est intégré à Firebug, il donne le temps passé dans chaque fonction.
  • Associée à la fonctionnalité Inspect, la rubrique de menu "layout" est intéressante, car elle affiche la "boîte" correspondante à l'élément HTML survolé, ce qui permet de "mesurer" en pixels la bordure, la marge, le "padding", enfin les dimensions de l'élément.
Interopérabilité

L’objectif est d’obtenir des fichiers parfaitement interopérables (HTML correct), cela dit l’outil tourne exclusivement sur les navigateurs de la famille Mozilla : Fiche Plume Firefox, Fiche Plume Seamonkey.

Contexte d'utilisation dans mon laboratoire/service
  • Application graphique utilisant un navigateur comme interface graphique évoluée.
  • Principal outil de mise au point pour la production de pages HTML, de feuilles CSS, de gabarits (squelettes SPIP, etc.).
Limitations, difficultés, fonctionnalités importantes non couvertes
  • Il faut mettre à jour Firebug en même temps que Firefox et réciproquement : il y a une matrice de compatibilité (on peut la retrouver sur le site de Firebug) entre les versions de Firefox et les versions de Firebug.
  • Il arrive qu'un message d'erreur soit signalé à une ligne totalement erronée (toujours la même d'ailleurs pour une application donnée). Un second essai corrige généralement le problème.
  • La stabilité n'est pas parfaite. Lorsqu'on a l'impression que le débogueur se met à dérailler, il suffit généralement de fermer l'onglet et de recommencer sur une nouvelle page. Dans certains cas, il est toutefois nécessaire de relancer Firefox. Il est à noter toutefois que la stabilité s’améliore au fur et à mesure que l'extension (ou firefox lui-même) gagne en maturité.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Aucune à ma connaissance, Firebug doit être installé à partir de Firefox (Outils/Modules complémentaires).

Plates-formes

Toutes les plate-formes sur lesquelles tourne Firefox.

Logiciels connexes

De nombreuses extensions de Firebug sont apparues, elles permettent d'ajouter des fonctionnalités à Firebug. Citons en particulier : FireRainbow qui apporte la coloration syntaxique du code JavaScript ou Arboreal qui permet de visualiser le DOM de manière particulièrement claire.

D'autres extensions sont utiles pour les développeurs web, notamment Fiche Plume HTML Validator pour la validation HTML (ce que Firebug ne fait pas), et Fiche Plume Web Developer, largement redondant avec Firebug, mais qui garde des spécificités intéressantes.

Autres logiciels aux fonctionnalités équivalentes

La plupart des navigateurs intègrent maintenant en standard des fonctionnalités (presque) équivalentes à celles de Firebug. C'est le cas au moins pour Internet Explorer (à partir de la version 8), Opera, Safari, Chrome. Ce point est extrêmement important, car il simplifie énormément l'écriture de pages web utilisables sur tous ces navigateurs.

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

Firebug était produit initialement par Parakey, une start-up fondée par deux des créateurs de Firefox. Depuis, Parakey a été rachetée par Facebook, Yahoo participe au projet et une communauté s'est créée autour de Firebug.

Eléments de pérennité
  • Firebug commence à être cité dans les livres qui portent sur JavaScript.
  • L'extension est toujours développée, il y a régulièrement de nouvelles versions, la mise à jour est proposée au lancement de Firefox.
  • Les développeurs de Firebug et les développeurs de Firefox restent très proches. D'ailleurs, le fait que les navigateurs concurrents aient "imité" Firebug ne peut que renforcer les liens.
  • De nombreuses "extensions de l'extension" se sont créées, de sorte que Firebug est aujourd'hui bien plus qu'une simple extension.
Références d'utilisateurs institutionnels

De très nombreux utilisateurs, notamment au Centre de physique des particules de Marseille, l'équipe de développement des sites web de la collaboration CTA est utilisateur régulier de Firebug.

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

Il y a un groupe Google (http://groups.google.com/group/firebug) ainsi qu'un blog qui donne des nouvelles du développement (http://blog.firebug.com).

Documentation utilisateur

La documentation est succincte, mais intéressante en ce sens qu'elle se contente d'indiquer les fonctionnalités que l'on ne peut découvrir tout seul (raccourcis clavier, commandes JavaScript pouvant être insérées dans son blog, ...).

On peut trouver d'autres documentations en ligne, par exemple :

Divers (astuces, actualités, sécurité)
  • Deux raccourcis clavier indispensables à connaitre :
    • CTRL-F5 pour recharger la page et les scripts JavaScript (sinon Firefox risque de reprendre la version du cache)
    • F12 pour masquer/afficher la fenêtre Firebug.
  • Le bouton se trouvant à gauche de la fenêtre principale de Firebug est à la fois très utile et très dangereux : sa signification dépend de l'onglet activé. Par exemple si l'onglet "console" est actif, ce bouton permet de faire en sorte que le JavaScript s'arrête dès qu'une exception est lancée, même si votre code a prévu le traitement de ces exceptions : précieux pour déboguer, mais si le bouton est activé inopinément, votre script qui fonctionnait jusque là parfaitement se met à s'arrêter à la moindre exception...
  • A noter aussi la possibilité d'installer l'extension sans redémarrer Firefox (très utile quand on se trouve devant un problème "rare" ou "irréproductible", mais par malheur on se trouve sur un navigateur ou profile qui n'a pas encore Firebug installé) !
Fiche logiciel validé
  • Création ou MAJ importante : 27/06/11
  • Correction mineure : 02/03/13
Mots-clés

FileZilla Client : client FTP avec interface graphique

Description
Fonctionnalités générales
  • Client FTP robuste supportant SSH (SFTP) et SSL/TLS (FTPS et FTPES) :
    • Gestionnaire de sites serveurs FTP permettant, pour chaque site, de choisir :
      Le protocole  –  Le nom d'utilisateur  –  etc ...

    • Recherche récursive de fichiers distants,
    • Transfert de fichiers individuels,
    • Transfert d'arborescences complètes,
    • Comparaison d'arborescences,
    • Connexions et transferts simultanés avec plusieurs sites serveurs FTP.
  • Interface graphique ergonomique :
    • 2 sous-fenêtres avec support du glisser-déposer et menus contextuels :
      1 sous-fenêtre pour le site local  –  1 sous-fenêtre pour le site distant

    • Le glisser-déposer fonctionne parfaitement avec les explorateurs de fichiers (Explorer, Finder, Nautilus, Konqueror, ...)
    • Liste des transferts :
      En cours et en attente  –  Échoués  –  Réussis

    • Affichage des sites serveurs FTP connectés sous la forme d'un onglet par site
    • Historique des commandes FTP générées automatiquement et de leur résultat.
Autres fonctionnalités
  • En fonction du paramétrage, FileZilla est capable de :
    • choisir automatiquement le mode de transfert texte ou binaire,
    • préserver l'horodate des fichiers transférés (FileZilla version 3.0.8 et ultérieures).
  • Possibilité de définir des filtres permettant d'inhiber l'affichage de certains fichiers ou répertoires.
  • Beaucoup de langues sont supportées :  voir http://www.filezilla-project.org/translations.php
  • Possibilité d'exécuter manuellement des commandes FTP standards (GET, PUT, ...).
Interopérabilité

Supporte IPv4 et IPv6.
Conforme aux standards FTP, SFTP, FTPS et FTPES.
L'équipe de développement s'attache à supporter au mieux tous les serveurs FTP existants.

Contexte d'utilisation dans mon laboratoire/service

Transfert de fichiers depuis et vers des serveurs FTP.

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

Actuellement, il est impossible de masquer complètement la sous-fenêtre de FileZilla affichant le site local.

Environnement du logiciel
Plates-formes

Windows
Mac OS X
Linux (avec wxWidgets >= 2.8.7.1)

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Équipe de 11 développeurs.

Eléments de pérennité
  • Enregistré dans sourceforge.net depuis 2001
  • 2006 Community Choice Awards: Winner: Networking category
  • Pourcentage d'activité au cours de la semaine qui précède la rédaction de cette fiche : 100 %
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Gestionnaire de sites :  L'accès se fait par le menu 'Fichiers'.

Préservation de l'horodate des fichiers transférés :  Il faut activer, dans le menu 'Transfert', la commande 'Préserve la date/heure des fichiers transférés'.

La définition des filtres permettant d'inhiber l'affichage de certains fichiers ou répertoires se fait dans le menu 'Vue / Éditer les filtres'.

La recherche récursive de fichiers distants se fait en cliquant sur l'icône 'Jumelles' (à droite), ou en tapant sur F3 :  FileZilla Client affiche une fenêtre permettant de spécifier :
– Le répertoire racine à partir duquel s'effectue la recherche récursive,
– Le ou les critères de recherche (Nom de fichier, Taille, Chemin), avec possibilité d'expressions régulières.

L'exécution manuelle de commandes FTP standards s'effectue par le menu 'Serveur / Entrer une commande personnalisée'.

Transfert des fichiers en mode 'texte' :
Pour des raisons historiques, FileZilla nomme ce mode 'ASCII', mais il s'applique aussi très bien aux fichiers UTF8.
La liste des suffixes des fichiers à transférer en mode 'texte' est à mettre à jour :
Le menu 'Édition / Configuration' affiche la boite de dialogue 'Configuration'.
Aller dans la rubrique 'Transferts / Types de fichiers'.
Liste indicative de suffixes connus :

1st       diz       ldif      py
ada       dtd       list      rtf
asm       f77       log       sh
bas       f90       lsp       shtml
bat       for       lua       sql
c         h         m4        src
cgi       hpp       mak       tcl
cmd       htm       mk        template
conf      html      out       tex
cpp       ics       pas       tk
csh       idl       patch     tsv
css       inc       pem       txt
csv       ini       php       wsdl
def       java      phtml     xhtml
dhtml     jdl       pl        xml
dic       js        po        xsd
dif       jsp       ps        xsl
Contributions
Fiche logiciel validé
  • Création ou MAJ importante : 11/02/10
  • Correction mineure : 20/02/13
  • Rédacteur de la fiche : Patrick Paumard - IBGC (Université Bordeaux, CNRS)
  • Relecteur(s) : Nemo Peeters (LIPM Toulouse)
  • Responsable thématique : Raphaël Tournoy (Centre pour la Communication Scientifique Directe)
Fiche archivée
L'auteur ainsi que le responsable thématique nous indiquent que ce logiciel tombe peu à peu en désuétude et qu'il n'évolue plus.
Mots-clés

Bibus : gestion de références et de données bibliographiques

Cette fiche n'est plus à jour. Elle a été archivée pour la raison exposée ci-contre.
Description
Fonctionnalités générales

Logiciel permettant de créer et gérer une base de données bibliographiques par interrogation de PubMed - http://www.pubmedcentral.nih.gov/. Les citations, stockées localement, peuvent être triées, éditées et partagées entre plusieurs utilisateurs. Le logiciel permet également d'insérer des citations dans un document rédigé avec Microsoft Word ou OpenOffice.org. Les citations sont formatées selon des préférences de styles adaptables à différents journaux scientifiques définies dans Bibus.

Autres fonctionnalités

Bibus contient un éditeur permettant de créer et de partager facilement de nouveaux styles de bibliographie.

Interopérabilité

Bibus peut importer des bases de données bibliographiques aux formats : txt, Medline, MedlineXML, Refer, Refer (EndNote), RIS, BibTex, ISI, EndNoteXML.
Bibus peut exporter des bases de données bibliographiques aux formats : Refer (EndNote), RIS, Medline, BibTex, SQlite et HTML.

Contexte d'utilisation dans mon laboratoire/service

Dans notre laboratoire nous utilisons, chaque fois que possible, des logiciels libres. Ainsi, le couple OpenOffice.org / Bibus fait merveille auprès des chercheurs, enseignants chercheurs et étudiants depuis 6 ans. Outre les fonctionnalités du logiciel, tout à fait comparables à celles d'autres grands logiciels payants, le fait de pouvoir le distribuer librement aux étudiants est un vrai plus.

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

Ce logiciel fonctionne parfaitement avec la distribution Gnu/Linux Ubuntu basée sur Debian avec la version d'OpenOffice.org fournie dans la distribution (il ne FONCTIONNE PAS avec la version téléchargée sur le site OpenOffice.org).
Il fonctionne également parfaitement bien sous Windows en conjonction avec OpenOffice.org ou MSWord (y compris la version 2007).

La version MacOS semble plus limitée et reste en développement.

Environnement du logiciel
Plates-formes

Linux : Debian 5.0, Ubuntu 9.10, Fedora 12, OpenSuse 11.2, Mandriva and ArchLinux
Windows : 98/2000/XP (non testé avec seven)

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

EndNote - http://www.endnote.com/
Logiciels bibliographies référencés dans Plume - http://www.projet-plume.org/fonctionnalites-princi...

Environnement de développement
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

https://lists.sourceforge.net/lists/listinfo/bibus...
Liste avec peu de trafic mais avec un retour d'information pertinent et rapide.

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

Importer une base de données bibliographiques depuis un autre logiciel :
Depuis EndNote
Pour importer une base de données bibliographiques de Endnote vers Bibus il faut :

  • Dans Endnote: choisir le style "Export Refer" puis choisir "Exporter au format txt".
  • Dans Bibus: choisir "import Refer (Endnote)" prendre le code page cp1252 et normalement la base devrait être importée sans souci (seuls les liens internet vers pubMed sont perdus).

Depuis RefWorks :
Refworks - http://www.refworks.com/ est un logiciel de gestion de références en ligne. (payant).

  • Dans Refworks: choisir le style "Bibliographic Software (EndNote, Reference Manager, ProCite)" puis choisir "télécharger".
  • Dans Bibus : choisir "RIS".
Contributions

Afin d'enrichir le catalogue de styles bibliographiques disponibles pour Bibus vous pouvez enregistrer vos créations sur le site : http://bibus-biblio.sourceforge.net/wiki/index.php...

Fiche logiciel validé
  • Création ou MAJ importante : 24/03/09
  • Correction mineure : 09/01/13
Mots-clés

Xen : moniteur-hyperviseur de machines virtuelles

Description
Fonctionnalités générales

Un système Xen est composé d'un hyperviseur Xen et de machines virtuelles sécurisées appelées domaines.

Il existe 2 types de domaines :

  • dom0 : le domaine privilégié créé lors de l'installation de xen et démarré au boot de la machine physique
  • domU : le ou les domaines non privilégiés hébergeant la ou les machines invitées ou encore systèmes d'exploitation invités

Les principales fonctionnalités apportées par Xen sont :

  • isolation complète entre les machines invitées
  • performances pour les machines invitées proches d'un système natif
  • très bon support du matériel (Xen utilise les pilotes du noyau du dom0)
  • possibilité de migrer des machines virtuelles entre des serveurs Xen sans interruption de service
  • possibilité de régler finement les ressources allouées aux machines virtuelles

Xen3 peut héberger des systèmes d'exploitation invités non modifiés (si le hardware le permet).

Autres fonctionnalités

Xen peut être utilisé pour :

  • consolider des serveurs en hébergeant sur une machine physique plusieurs serveurs différents (système d'exploitation et applications)
  • réaliser des plans de reprise d'activité ou de continuité de service
  • tester le fonctionnement d'une application sur plusieurs systèmes sans disposer d'autant de machines
  • tester une architecture réseau
  • surveiller des machines virtuelles, allouer des ressources, détecter des comportements inhabituels
  • réaliser un cluster en utilisant la flexibilité de gestion des machines virtuelles, leurs contrôles, leurs isolations et la possibilité de migrer pour répartir la charge
  • remplacer un multi-boot
  • tester et debugger des modifications du noyau dans une machine virtuelle « bac à sable » (sandboxed)

Xen peut utiliser, pour le stockage des machines virtuelles (du plus simple/bon marché, au plus complexe/coûteux) :

  • des fichiers images (possibilité de convertir des images VMWare via certaines procédures)
  • des partitions disques locales
  • NFS (NFS root)
  • iSCSI
  • SAN/FC
    Le tout via l'utilisation de LVM (Linux Volume Manager) ou non.
    Les 3 derniers supports, basés sur le réseau, sont essentiels pour pouvoir utiliser la fonctionnalité de "migration en live".

Au niveau réseau, la gestion se fait dans le dom0 (Attention, ça devient un peu technique...), Xen permet d'utiliser de base :

  • un mode bridge (niveau Ethernet) : tous les domaines apparaissent sur le réseau comme des machines individuelles
  • un mode NAT (niveau IP) : le dom0 joue le rôle de passerelle pour les domU
  • un mode route (niveau IP)
    Il est aussi possible d'utiliser plusieurs bridges se trouvant dans différents VLANs, ainsi chaque domU peut-être correctement isolé sur le VLAN le plus approprié, cf. http://renial.net/weblog/2007/02/27/xen-vlan/

Enfin, Xen peut exécuter des domU dans deux modes :

  • para-virtuel : moyennant quelques modifications dans les noyaux des systèmes invités, on obtient de meilleures performances dans les I/O (disques, réseaux)
  • hardware virtualization : si le matériel le supporte (technologies AMD Pacifica ou Intel VT), ce mode permet de lancer n'importe quel OS sans modification de celui-ci (typiquement pour les systèmes MS Windows). Les performances sont un peu moindres qu'en mode para-virtuel (les périphériques disques et réseaux sont alors émulés via le code de QEMU) mais il est possible d'installer des drivers para-virtualisés pour les parties sensibles (disques et réseau). De tels drivers sont disponibles dans les versions commerciales de Xen (ils sont à priori stables), des développements sont en cours pour une version Open Source (peu stables pour le moment d'après les listes de diffusion).
Contexte d'utilisation dans mon laboratoire/service


  • Au CRPP (Centre de Recherche Paul Pascal), xen est installé sur 2 serveurs (dom0) de configuration identique dont le système d'exploitation est Linux Fedora Core 8.
    Ces 2 serveurs hébergent chacun 3 machines virtuelles (domU) en Linux Fedora Core 8 (i386)
    - un replicat ldap d'authentification
    - un replicat ldap d'identification
    - un serveur ssh de secours
    D'autres machines virtuelles vont être déployées pour le webmail, le serveur de licences origin et matlab, les sites web externes ou internes.
    Les machines virtuelles sont stables, les commandes virt-manager et virsh sont très utiles pour la gestion des machines virtuelles.
    Un seul problème à signaler : au redémarrage des machines physiques les machines virtuelles n'étaient pas redémarrées automatiquement. Ce problème a été résolu après une mise à jour des paquetages xen de Linux Fedora 8.
  • Au CRI de l'Université de Pau et des Pays de l'Adour, Xen a été installé :
    - Il y a un peu plus d'un an, sur une première machine dans un but d'évaluation en semi-production, via un stockage des images simples (fichiers images ou partitions locales dédiées).
    Ce serveur héberge 7 machines virtuelles en production mais non critiques, aucun problème constaté, pas de crash, pas de perte de réseau ou d'effondrement des performances.
    - Suite au succès de la première étape, le CRI procède actuellement (depuis environ 6 mois) à une virtualisation de la plupart de ses services.
    Pour cela, nous utilisons un SAN, et des serveurs (5 actuellement) sans disques équipés de cartes FC. En cas de problème sur
    des serveurs physiques, il est possible de migrer (ou relancer en cas de crash) l'ensemble de ses machines virtuelles sur un ou plusieurs
    autres serveurs.
    Quelques services critiques actuellement virtualisés :
    - stockage (samba/NFS/FTP)
    - Webmail (apache2 / Horde)
    - listes de Diffusion (sympa)
    - reverse-proxy (ezproxy)
    - serveur d'applications Cocktail/JEFYCO
    Quelques services critiques en cours de migration :
    - serveur de messagerie IMAP/POP (cyrus)
    - serveur de bases de données (MySQL/PostgreSQL)
    Les Dom0 sont en Debian Testing (Lenny), les DomU en Debian Stable (i386 ou amd64 selon les besoins).
    Il y a aussi une machine virtuelle Windows 2003 server en semi-production, à des fins de tests de stabilité (aucun problème constaté pour le moment).
    Nous sommes très satisfaits de Xen, c'est très stable.
    Un autre avantage de la virtualisation est le temps de redémarrage très court des machines virtuelles (puisqu'il n'y a plus d'initialisation matérielle, ce qui est le plus long), même si les reboots sont rares, c'est très appréciable.

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

Les ressources documentaires peuvent parfois être un peu limitées ou obsolètes.
Voici quelques points sensibles que nous avons rencontrés :

  • il est possible d'avoir des machines virtuelles en 32 ou 64 bits sur des dom0 en 64 bits, ce qui est très pratique. Par contre,
    il est impossible de sauver/restaurer/migrer ces MV (par sauver/restaurer on entends l'état de la MV, pas son image disque).
    Cette limitation peut être contournée en utilisant un noyau 64 bits dans le domU avec des binaires en 32 bits, c'est souvent possible sans problème, à quelques exceptions près (exemple : outils de gestion de quota qui "segfaultent" dans ce cas là).
  • Version du Noyau du dom0 actuellement limitée à la 2.6.18 (si Linux), ce qui peut être limitant si la machine physique dispose de partie matérielle non supportée par cette version.
    Certaines distributions proposent des backports (?) des patchs sur des noyaux récents, mais les listes de diffusion semblent indiquer de possibles instabilités (n'ayant pas testé personnellement, je ne confirmerai ni n'infirmerai).
    L'intégration dans la branche Vanilla du noyau Linux devrait résoudre ce petit problème, mais il est vrai que cela commence un peu à tarder.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • Linux : CentOS, Debian, Fedora, Gentoo, Mandriva, OpenSuse, Redhat, Slackware, Suse, Ubuntu
  • FreeBSD
  • NetBSD
  • OpenSolaris
Plates-formes

Xen fonctionne sur les machines comportant les processeurs suivants :

  • Processeurs de type x86 (processeur de type "P6" ou Intel ou AMD des 5 dernières années)
  • Machines multiprocesseur et inclut le support pour l'hyper-threading (SMT).
  • Processeurs de type x86/64 (depuis Xen 3.0)
  • Processeurs de type IA64
  • Processeurs de type PPC
Logiciels connexes

ConVirt (anciennement xenman) : Interface graphique pour la gestion des machines virtuelles sur un ou plusieurs hyperviseur(s) GPL, http://xenman.sourceforge.net/ :

  • création des systèmes
  • administration (marche, arrêt)
  • monitoring (mémoire, CPU)

Pour ceux qui sont réfractaires à la ligne de commande :)

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

XenSource, créée par l'équipe de développement de Xen, qui a été rachetée en octobre 2007 par la société Citrix.

Eléments de pérennité

Xen est en cours d'intégration à la branche "Vanilla" du noyau Linux (cela traîne un peu cela dit...), pour l'instant, les patches permettant d'utiliser le noyau dans une domU en mode para-virtuel sont présent, il manque principalement les patches pour l'utilisation en noyau de dom0.
La société XenSource, à l'origine de Xen, a été rachetée par Citrix. Citrix commercialise donc une offre autour de Xen (outils, support/intégration), mais celui-ci (patches, hyperviseur, outils de base) reste développé en Open Source via une grande communauté, ce qui rassure quant à sa pérennité.
De plus, les principales distributions Linux "professionnelles" (RedHat, Suse) ont intégré Xen à leurs dernières versions, cela a même été, lors de leurs sorties respectives, l'une des principales fonctionnalités mises en avant.

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

Informations génériques :

A propos du réseau :

Divers (astuces, actualités, sécurité)
  • Sauvegarde des machines virtuelles dont le filesystem est sur des volumes logiques (LVM)
    Au CRPP, les commandes suivantes sont utilisées pour la sauvegarde des machines virtuelles :

    • Arrêt de la machine virtuelle ldap1
      xm shutdown -w ldap1
    • Création de /dev/mapper/lvldap1p[1234] pour /dev/vg00/ldap1
      kpartx -v -a /dev/vg00/lvldap1
    • Montage temporaire du filesystem to backup
      mount /dev/mapper/lvldap1p1 /mnt/ldap1/
    • Lancement de la sauvegarde
      /sbin/dump 0 -L FULL_ldap1 -f /BACKUP-XEN/ldap1.colddump /mnt/ldap1/
    • Démontage du filesystem
      umount /mnt/ldap1
    • Suppression des mappings
      kpartx -d /dev/vg00/lvfoo
    • Redémarrage de la machine virtuelle
      xm create --config /var/lib/xend/....
  • Sécurité :
    Le dom0 doit être le plus sécurisé possible car si le dom0 est compromis tous les autres domaines sont également vulnérables.
    Voici les bonnes pratiques à appliquer pour sécuriser le dom0 :

Fiche logiciel validé
  • Création ou MAJ importante : 25/03/12
  • Correction mineure : 02/03/14
  • Rédacteur de la fiche : Olivier Servas - ATILF (CNRS, Université Lorraine)
  • Relecteur(s) : Jean-Luc Bellon (LAL IN2P3)
    Cédric Muller (IPHC - Service Informatique)
    Sylvain Corcoral (LMGM jusqu'en mars 2010)
  • Contributions importantes : Philippe Pigeon pour les versions inférieures 1.3.2
    William Sayer pour la version 2.1
  • Responsable thématique : Maurice Libes (OSU Institut Pytheas - UMS 3470 CNRS)
Mots-clés

OCS Inventory NG : inventaire automatique de parc informatique et télédistribution

Description
Fonctionnalités générales

OCS Inventory NG est un outil d’inventaire de parc informatique. Il permet de connaitre précisément la configuration matérielle des machines du réseau et les logiciels qui y sont installés. Grâce à des agents logiciels installés sur chaque PC du parc, on peut ainsi collecter les caractéristiques matérielles et logicielles de chaque PC et les transmettre au serveur où elles seront stockées et affichées sur une interface Web. L'utilisation d'OCS Inventory NG se fait à travers une console Web avec 2 niveaux de droits : administrateur et utilisateur. schéma fonctionnel : http://www.ocsinventory-ng.org/fr/a-propos/schema-...

En définitive OCS est une application destinée à aider les administrateurs système à connaitre précisément la configuration des machines du réseau, les logiciels qui y sont installés et donc à mieux gérer leur parc.

Sur la console Web, OCS fournit une liste synoptique de chaque machine du parc. En cliquant sur chaque machine listée, on obtient plus de détail sur la configuration.

Les informations fournies par OCS sur les PC du parc sont extrêmement précises et complètes :
adresse IP, processeur, taille et type de la RAM, taille du disque, espace occupé du disque, le système d’exploitation...

Mais aussi le numéro de série du constructeur, les lecteurs logiques, les caractéristiques des cartes vidéo (avec chipset) et des cartes réseau (avec adresse MAC), des informations sur l’imprimante et son pilote, les logiciels installés, et les utilisateurs avec la date et heure à laquelle ils se sont connectés à la machine.

OCS fournit en plus :
* une vue globale de toutes les applications trouvées sur le réseau.
* une vue des licences de chaque application.
* un décompte application par application (très pratique!).
* une vue de toutes les connexions utilisateurs (logs) de toutes les machines du réseau.

OCS Inventory NG détecte tous les périphériques actifs sur le réseau (commutateurs, passerelles, imprimantes et autres matériels).
OCS Inventory NG permet le télédéploiement d'applications sur vos postes clients

Autres fonctionnalités
  • Télédéploiement de paquets logiciels : OCS Inventory NG fournit une fonctionnalité de télédiffusion et d'installation de logiciels depuis le serveur, sur les ordinateurs clients. Depuis le serveur central d'administration, vous pouvez mettre à disposition des paquets qui seront téléchargés par HTTPS et exécutés par les agents sur les postes clients. Le téléchargement des paquets se fait via un serveur HTTPS (ssl). La sécurité de cette télédistribution est basée sur une politique de certificats que le client doit présenter au serveur, et de serveur web sécurisé.
    L'installation automatique et sans interaction des paquets repose sur les "switch silent" que possèdent la plupart des paquets logiciels.
  • Possibilité de scanner le réseau pour détecter le matériel non inventorié et le classifie. (avec la fonction ipdiscover)
  • Synchronisation des données avec GLPI en utilisant le plugin OCS INENTORY NG ( http://plugins.glpi-project.org/spip.php?article153 )
Interopérabilité

L'association de OCS avec le logiciel GLPI est une force du projet car il permet de communiquer l'inventaire du parc de PC à GLPI (http://www.projet-plume.org/fiche/glpi ) où il pourra être exploité dans un contexte global (caractéristiques matériels et demandes d'assistance, autre inventaires., gestion financière, ....)

Contexte d'utilisation dans mon laboratoire/service

Collecteur automatique qui nous informe de l'ensemble des configurations matériels de nos stations et serveurs ainsi que l'ensemble des logicielles installés, pour le laboratoire de 120 personnes en interaction avec GLPI. Le serveur de gestion est installé sur 2 serveurs (un pour la base de données et un serveur virtuel pour les parties : serveur de communication, console d'administration et serveur de déploiement)
La fonction IPdiscover est utilisé pour avoir une vue sur l'ensemble des ressources (en fonction de la version de vos agents, vous pouvez faire des scans SNMP).
Actuellement, la fonction de télédistribution permettant de déployer des logiciels ou des scripts sur nos ordinateurs est en test dans cette version.

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

Le logiciel n'est pas intégré aux distributions courantes. Il est nécessaire d'installer les paquetages à part.

Systèmes d'Exploitation supportés : Linux : Centos , Debian, windows
serveur 2.1 RC1 client 2.1 RC1 rpm 1.3.2 OCS Inventory NG pour Linux : tar.gz

Utilitaires pour déployer les agents : http://www.ocsinventory-ng.org/fr/telechargement/u...

Plates-formes

Serveur+agent sur Linux et Windows, machines virtuelles : http://www.ocsinventory-ng.org/en/download/downloa...

Agents disponibles sur MacOS X, linux, windows, android, : http://www.ocsinventory-ng.org/en/download/downloa...

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Membres du projets : 12 personnes sont membres du projet
Groupe MIMOG : Groupe de travail interministériel sur les outils de gestion de parc

Eléments de pérennité

Groupe MIMOG : Groupe de travail interministériel sur les outils de gestion de parc
12ème dans le TOP 50 des DSI des grosses entreprises françaises
Trophées du libres en 2006
Offre 5 catégories de services : support, conseil, développement, déploiement, formation
http://www.ocsinventory-ng.org/index.php?page=serv...
Utilisation avec GLPI

Références d'utilisateurs institutionnels

Voir références GLPI : une majorité utilise l'interconnexion GLPI/OCS :
http://glpi-project.org/?page=refer&lang=fr

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

Documentation à lire avant toute installation !
Documentation via un wiki : http://wiki.ocsinventory-ng.org/index.php/Main_Pag...
Commencer par : http://wiki.ocsinventory-ng.org/index.php/Document...

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

Sous Linux, si les modules Perl ne s'installent pas correctement avec le script d'installation, CPAN facilite l'installation : http://www.cpan.org

Pré requis pour le serveur : système Linux ou Windows, MySQL, Apache avec les modules mod_perl et mod_php

Pour l'installation d'OCS, cela nécessite en outre un grand nombre de paquets logiciels et de modules Perl :
Apache version 1.3.33 ou supérieure ou Apache version 2.0.46 ou supérieure.
Mod_perl version 1.29 ou supérieure.
Mod_php version 4.3.2 ou supérieure.
PHP version 4.3.2 ou supérieure, avec support ZIP et GD chargé.
PERL version 5.6 ou supérieure.
Module Perl XML::Simple version 2.12 ou supérieure.
Module Perl Compress:Zlib version 1.33 ou supérieure.
Module Perl DBI version 1.40 ou supérieure.
Module Perl DBD::Mysql version 2.9004 ou supérieure.
Module Perl Apache::DBI version 0.93 ou supérieure.
Module Perl Net::IP version 1.21 ou supérieure.
Module Perl XML::Entities
Module Perl SOAP::Lite version O.66 ou supérieure.
MySQL version 4.10 ou supérieure avec moteur InnoDB activé.
Utilitaire Make tel que GNU Make.

Contributions
Fiche logiciel validé
  • Création ou MAJ importante : 03/05/10
  • Correction mineure : 24/06/13
Mots-clés

BibTeX : outil de préparation des citations et de gestion de la bibliographie des articles

  • Système : UNIX-like, Windows, MacOS X
  • Version évaluée : 0.99c
  • Langue(s) de l'interface : anglais
  • Licence : lgpl
Description
Fonctionnalités générales

Pour l'utilisateur final, typiquement un scientifique rédigeant un article en LaTeX - http://www.projet-plume.org/fr/fiche/latex, BibTeX est un outil logiciel transparent permettant d'oublier les détails de la gestion effective des citations et de la bibliographie du document en cours de création. Finies les bibliographies incomplètes ou contenant des entrées non citées, ou de style approximatif ou hétérogène. Lors de la compilation du document LaTeX, l'outil BibTeX cherche dans la base bibliographique (une liste de fichiers ASCII contenant des fiches bibliographiques au format BibTeX, de suffixe *bib) les références citées dans le *aux (sortie de la compilation LaTeX) et les ajoute, en les adaptant au style associé à l'article (un fichier *.bst (Bib STyle)), à la bibliographie en générant un fichier *bbl qui sera inclus de manière transparente dans le document. Le fichier d'information et d'erreurs sera de suffixe *blg (Bib LoG). De la même manière que LaTeX calcule et met à jour les valeurs des champs des références croisées, des numéros de pages, de figures, de sections et établit éventuellement la table des matières ..., BibTeX gère aussi la substitution des champs de citation bibliographique dans le corps du texte. Les citations manquantes sont évidemment indiquées. Le seul effort de l'auteur est de se souvenir des clefs des articles qu'il cite dans son document via la simple commande \cite{clef}.

BibTeX est aussi un format ouvert et extensible de fiches bibliographiques et un outil de gestion de base bibliographique (une collection de fiches dans un ou plusieurs fichiers). On peut inclure l'ensemble des entrées d'une base via la commande \nocite{*} dans un document LaTeX. Il sera ensuite aisé d'exporter en format PDF, HTML ou toute sortie LaTeX une base donnée et la rendre accessible a des tiers (exemple d'application: base de publication d'un laboratoire, sur un thème). Évidemment, des liens peuvent être prévus ...

Interopérabilité

Les fichiers BibTeX contenant les fiches bibliographiques sont en ASCII, modifiables par tout éditeur de texte (par exemple: Vim - http://www.projet-plume.org/fiche/vim (X)Emacs, Kedit, ...).

Il existe de nombreux filtres d'entrée et de sortie (conversion) entre le format BibTeX et d'autres formats bibliographiques, dont EndNote, CiteMed, DublinCore XML, ...

Il faut cependant voir que la conversion peut être sérieusement limitée par la non-bijectivité entre les formats (des champs dans certains formats n'existent pas dans d'autres, ou bien sont distribués dans plusieurs champs).

Certains outils tel JabRef peuvent modifier les fichiers *bib qu'il lit, par exemple les règles (début et fin des champs, protection des majuscules, des espaces, des formules chimiques).

Contexte d'utilisation dans mon laboratoire/service

Pour compiler complètement un document en LaTeX avec calcul de toutes les valeurs variables, il faut trois passes du compilateur LaTeX. BibTeX s'insère simplement entre la première et la seconde passe, tout comme le générateur d'index makeindex, d'ailleurs. Bien évidemment, il faut indiquer dans le document maître en LaTeX que l'on va faire générer automatiquement la bibliographie via BibTeX en donnant dans le code LaTeX la liste des fichiers bibliographiques (les *.bib, via la commande \bibliography{bib1,bib2, ...})et le nom du fichier de style bibliographique (le fichier *.bst, via la commande \bibliographystyle{MonStyle}). (il est superflu d'indiquer les suffixes).

Comme les fichiers bibliographiques (*.bib) ne sont pas nécessairement dans le répertoire de travail, si leurs chemins ne sont pas pris en compte dans la configuration par défaut, il faudra les indiquer soit dans le fichier LaTeX (\bibliography{/mon/chemin/BibTeX/mybooks} avec mybooks un fichier de suffixe .bib et au format BibTeX), soit dans les variables d'environnement (BIBINPUTS), soit, pour certaines versions de BibTeX, lors de l'invocation du programme bibtex lui-même (bibtex --include-directory="F:\my bibliography folder").

On devra procéder de même pour le fichier de style (*.bst) via BSTINPUTS ou un chemin complet dans \bibliographystyle{}.

BibTeX est un outil logiciel très largement utilisé pour la préparation automatique de la bibliographie pour des articles, des thèses, des notes scientifiques. Il permet d'extraire un sous-ensemble de références bibliographiques d'une ou de plusieurs bases (qui sont en fait de simples fichiers ASCII dans un format trivial) pour faire deux actions simultanées dans un fichier LaTeX en cours de compilation :

  • remplir toutes les occurrences "\cite{}" par la bonne référence bibliographique dans le bon format du style de l'article ou du livre [i.e. quelque chose du genre : [1], (Bose & Einstein), (Bose & Einstein 1928), ...)]
  • rassembler les références dans le bon format correspondant au style de l'article, livre, ... pour générer un fichier *bbl qui, soit sera inséré automatiquement dans la version camera ready du papier (sortie DVI, PDF ou PS ...), soit pourra être inséré à la main dans le fichier LaTeX.

La plupart des journaux scientifiques travaillant avec LaTeX, soit indiquent un style bibliographique générique (une poignée est présente dans une distribution LaTeX de base), soit proposent un style bibliographique adapté (il en existe des centaines).

BibTeX est hautement recommandé pour les étudiants de thèse qui gèrent plusieurs centaines de références, corollairement, ils pourront recycler trivialement ces références pour les articles associés à cette thèse. L'idéal est de commencer à collecter les fiches bibliographiques au fur et à mesure de la recherche bibliographique, en n'hésitant pas à ajouter des commentaires, des liens Web, ... dans les fiches. Concrètement, ceci peut se faire en créant un champ (optionnel, non traite par les styles), par exemple nomme notes-perso="", ...

Via la commande \nocite{*}, il est trivial de générer, pour l'ensemble des entrées d'une base ou de plusieurs bases, une sortie de l'ensemble formatée (dvi, ps, pdf, HTML, ...) avec un style donné. Les doublons peuvent être gérés. Ceci peut être utile dans plusieurs contextes, dont la mise en ligne de bases, la préparation de liste de publication d'un chercheur ou d'un laboratoire ...

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

La principale limitation pour les utilisateurs occasionnels de BibTeX semble être de bien comprendre le mécanisme de génération du fichier "bbl" et, dans le cadre de la rédaction d'un article à plusieurs, d'utiliser les bons moyens pour échanger avec les collègues sans forcer à l'usage de BibTeX ...
Il s'agit là non pas d'une limitation de BibTex en lui-même mais des efforts acceptables par un ensemble de personnes, le maillon le moins curieux limitant l'usage de l'ensemble.

En mode avancé, une des carences de BibTeX semble bien être le choix de la dizaine de type de fiches pré-existants (dont le traitement est connu par la plupart des styles des grands journaux scientifiques). On citera : @article, @proceeding, @book, @inproceeding ... Autant ceci convient très bien pour la plupart des utilisateurs, autant cela peut être bloquant pour certains usages. Par exemple, il sera délicat de gérer une base bibliographique d'un laboratoire avec les catégories nécessaires pour un quadriennal CNRS ou Université sans certaines précautions : BibTeX n'a aucun moyen pour séparer les articles des journaux à referee des autres articles, ni les articles en Français de ceux en Anglais. Quelques "clefs" supplémentaires et quelques filtres à l'aide d'outils connexes (bibtool ...) permettent de contourner ceci sans trop de problème.

On peut mettre en commun certains champs (plusieurs articles d'une même conférence) via un mécanisme de références croisées (cross-ref). Quoique intellectuellement judicieux, je ne recommande pas l'usage extensif de ces cross-references pour des grosses bases à fichiers multiples et qui seraient scriptées, d'autant qu'il faut respecter un ordre. Ceci résiste mal aux fusions, tris, séparations ...

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

BibTeX semble être intégré dans toutes les version LaTeX depuis de nombreuses années. Il semble être figé dans une très vieille mouture (0.99c), sans déficience connue. Dans les système Unix et BSD (dont Linux et MacOS-X), son arborescence est généralement sous: /usr/share/texmf/bibtex/ qui doit contenir les fichiers de style bibliographique ainsi que l'outil de génération de nouveaux fichiers de style (makebst). Il a été noté que certaines versions de BibTeX, souvent liées a des éditeurs de solutions sous plateformes MS-Windows et Apple-Mac incluent des possibilités de configuration non disponible dans la version de référence.

Les fichiers de style bibliographique ont un suffixe en .bst. Les plus fréquents, généralement présent dans les installations LaTeX actuelles, sont : acm.bst, apalike.bst, ieeetr.bst, alpha.bst ...

Par contre, il est fréquent que les styles des journaux "métier" (Nature, Science, A&A, Spie, ...) ne soient pas mis dans les arborescences communes. Les administrateurs système et réseau ne savent pas nécessairement que cela existe, ni les besoins concrets des utilisateurs. Le résultat est souvent que des co-auteurs d'un article, travaillant sur le même ordinateur d'équipe, ont des fichiers de style d'un journal dans des versions différentes ...

Plates-formes

À notre connaissance, BibTeX est présent dans toutes les versions LaTeX récentes (moins de 20 ans d'âge). Et LaTeX est disponible sur presque toutes les plateformes !

Logiciels connexes

Il existe des dizaines d'outils plus ou moins intéressants, récents, maintenus, pertinents, couvrant des manques de BibTeX, comme de disposer d'un mode de test simple des champs des fiches (il est fréquent d'oublier une accolade ou une virgule, et ça peut faire mal, comme toujours dans l'univers LaTeX !)

  • JabRef - http://www.framasoft.net/article3111.html , interface graphique en Java permettant de gérer des bases bibliographique au format BibTeX, pour ceux qui aiment les clickodromes. JabRef présente l'avantage de proposer plusieurs filtres vers d'autres formats, tant en entrée qu'en sortie. Attention aux limites déjà mentionnées.
  • Bibtool - http://www.gerd-neugebauer.de/software/TeX/BibTool... , outil de tri et d'extraction en mode commande. Autant son apprentissage initial peut être délicat, d'autant qu'une typo très gênante a traîné pendant des années dans son fichier PDF d'aide et que sa documentation en ligne est trop succincte en exemples élémentaires, autant son usage pour gérer de grosses bases (plusieurs milliers d'entrées, plusieurs fichiers) en mode script est très efficace (extraction par clef, année, auteur, type ...)
  • (X)Emacs - http://www.gnu.org/software/emacs/, qui vient désormais le plus souvent avec des modes pré-intégrés pour LaTeX et BibTeX (syntax enligthning), propose un mode BibTeX avec de nombreuses options, les plus utilisés étant probablement la vérification syntaxique des fiches et le template pour les différentes fiches possibles (@author ...). Ces templates indiquent les champs obligatoires et optionnels.
  • BibDesk - http://bibdesk.sourceforge.net/ est un gestionnaire graphique de bases bibliographiques écrit spécifiquement pour MacOS.
  • PyBliographer - http://www.pybliographer.org/ est un gestionnaire graphique de bases bibliographiques écrit en Python qui propose également un accès facile aux bases bibliographiques aux programmeurs Python.
  • CMFBibliographyAT - http://plone.org/products/cmfbibliographyat et ATBiblioList - http://plone.org/products/atbibliolist permettent d’intégrer des bases bibliographiques en format BibTeX dans un serveur Plone, ce qui est une bonne façon de gérer et en même temps publier la liste de publications d’une équipe ou d’un laboratoire.
Autres logiciels aux fonctionnalités équivalentes

Il existe des logiciels payants et non libres dans le monde Microsoft qui ont des usages proches et qui utilisent d'autres formats bibliographiques comparables (EndNote, CiteMed, DublinCore XML, ...).

En astronomie et les domaines connexes, toutes les revues de rang A proposent un style LaTeX et un style bibliographique (*.bst) associé. Je ne connais pas de collègues qui utilisent autre chose que BibTeX pour leurs bases bibliographiques en vue de publication.

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

BibTeX semble être figé vers 1988, en version 0.99c, mais son code source est disponible, et il est très simple.

Venant avec BibTeX, il existe un outil (makebst) qui permet de créer un nouveau fichier de style bibliographique (*.bst) en précisant, une à une, les règles voulues (nombre d'auteurs cités avant le et al., quel champ en gras, titre ou pas, tri alphabétique ou autre, ...). Des règles de typographie associées aux langues (de, fr, ...) sont incluses. Il faut bien voir que cette véritable usine à gaz ne doit pas être utilisée pour espérer contourner les choix stylistiques ou les supposées déficiences et limitations du style du journal dans lequel vous espérer publier ! Mais ceci peut être utilisé pour créer son style bibliographique pour sa thèse.

Eléments de pérennité

BibTeX est très largement utilisé, sans déficience connue (au sens de bug, je ne parle pas ici d'erreur de conception). C'est le format proposé par plusieurs bases bibliographiques en ligne, ouvertes ou fermées, dont ADS - http://cdsads.u-strasbg.fr/abstract_service.html
La vitalité dans les extensions (packages permettant de citer l'année au lieu de l'auteur et autres subtilités) et les outils périphériques doivent rassurer par rapport au côté figé de l'outil initial. Malheureusement, la plupart des grands journaux de rang A sont frileux sur les évolutions des outils périphériques.

Une version UTF-8 serait disponible ... Actuellement, il est nécessaire de coder les accents et autres diacritiques par les commandes classiques LaTeX () et de protéger avec des " et {}.

Références d'utilisateurs institutionnels

On pourra voir avec intérêt les Institutionnels référencés ici : http://en.wikipedia.org/wiki/BibTeX#Uses

La situation est très contrastée. Alors que dans certains domaines tels l'Astronomie les journaux scientifiques ne fournissent des styles (templates pour générer le camera ready ou le PDF) qu'en LaTeX, et les styles BibTeX associés, d’autres domaines, tel la Biologie, à l’inverse, fournissent plutôt des templates en MS-Word même si les exceptions sont nombreuses - http://www.ccrnp.ncifcrf.gov/~toms/latex.html#tex-....
En Mathématique et en Physique, la situation est plus ouverte, de très nombreux journaux proposant des styles LaTeX/BibTeX.

Il n'est malheureusement pas rare que des fichiers d'alias (telles les abréviations des noms des journaux pour un style donne ou pour une règle d'écriture donnée d'un *bib) ne soient pas directement associés aux bib, au bst, ou aux sorties d'outils tels ADS. (exemple: \ao pour Applied Optics)

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

Il existe de très nombreuses ressources en ligne, de qualité et pertinence variées. Un moteur de recherche invoqué avec habilité doit permettre de répondre aux problèmes classiques.

Le cœur du logiciel est fiable. Les outils connexes sont de qualités inégales. Il ne faut pas oublier qu'on parle d'un logiciel qui existe depuis plus de 5 lustres et est figé depuis 4 lustres ! Certains codes associes sortent directement de version donnée d'Unix (il y a un cas célèbre d'un outil lié a BibTeX, codé en C, ou il faut aller changer a la main une ligne dans le code source, posé sur un des premiers serveurs WEB ...) sans prévoir qu'ils seraient toujours utilisés aujourd'hui, en UTF8, avec un environnement pas nécessairement anglais (accents, option de tri, shells en obsolescence ...).

Documentation utilisateur

On se reportera aussi avec profit à l'annexe consacrée à BibTeX dans le livre de Leslie Lamport.

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

Dans de nombreux domaines scientifiques, des bases bibliographiques en ligne permettent de rechercher des articles à partir de mot-clefs. Dans certains cas, les fiches bibliographiques peuvent être exportées dans divers formats, dont BibTeX. Ceci permet un peuplement rapide d'une base locale et un ré-usage personnel rapide, sous réserve de bien s'assurer que le format généré est standard et que les fichiers connexes (par exemple contenant les alias des journaux) sont bien présents ... Dans certains cas, il existe même des scripts de requête sur des bases distantes pour extraire automatiquement les fiches bibliographiques à partir de mots clef (nom des auteurs, filtre sur les années, journaux, ...). À part le problème des homonymes, ceci peut aider à générer des bibliographies de laboratoires, à faire des statistiques, des taux de citation ...

Certaines équipes de laboratoire mutualisent des fichiers BibTeX. Des notices bibliographiques peuvent être ajoutées a chaque entrée, directement dans les fichiers *.bib.

Le format BibTeX est naturellement extensible, en ajoutant des champs non définis dans les types d'entrées classiques (articles, book, ...). Les champs non reconnus dans les entrées sont simplement ignorés a la compilation LaTeX. Des ajouts fréquemment rencontrés sont les liens (URL), le DOI, des notes. Malheureusement, la difficulté vient du fait qu'il faut gérer ces ajouts, en ajoutant pour chaque type de fiche, et pour tout style utilisé, des règles de transformation ... Ce n'est pas si difficile, mais les personnes compétentes sont plutôt rares, et la pérennité en souffre ...

Contributions

À titre personnel, je pense que le meilleur service à rendre à BibTeX est d'aider avec abnégation les collègues qui utilisent LaTeX, par exemple en posant les fichiers de style là ou il faut et en le faisant savoir, en étant disponible pour répondre aux questions, en glissant tel ou tel conseil, avec espoir du côté des étudiants et des thésitifs, sans réel espoir de convaincre les chercheurs confirmés qui ne voient pas le gain de temps global et la démarche qualité mais surtout la petite perte de temps initiale, et qui se décourageront parce que le fichier d'alias n'est pas la, ou que telle formule chimique a été cassée en sortie d'ADS ... Bien maîtriser l'inclusion du fichier bbl dans le document source (*tex) aide à encourager les plus téméraires des collègues dans leurs premiers essais, le grief fréquent étant de ne pas savoir comment transmettre le tout aux co-auteurs distants ou à l'éditeur -qui ne veut bien sûr qu'un seul fichier !-.

Il ne faut pas avoir peur de répéter qu'un bon ensemble de fichiers BibTeX pourra être recyclé pour tout article, note, mémoire, et sera ré-employable après la thèse, ou pour le rapport du stagiaire ... Les entrées "en trop" seront simplement ignorées.

Fiche logiciel validé
  • Création ou MAJ importante : 11/10/08
  • Correction mineure : 24/04/12
  • Rédacteur de la fiche : Pascale Hennion - LMS (Ecole Polytechnique, CNRS, Mines Paris, École Nationale des Ponts et Chaussées)
  • Relecteur(s) : Zouhir Hafidi (Laboratoire de Mathématiques Paul Painlevé)
    Philippe Depouilly (Institut de Mathématiques de Bordeaux)
  • Responsable thématique : Maurice Libes (OSU Institut Pytheas - UMS 3470 CNRS)
Fiche archivée
L'auteur a quitté le LMS et n'utilise plus LTSP. Il n'est donc plus en mesure de mettre à jour la fiche qui peut être reprise.
Mots-clés
Pour aller plus loin
Fiche en recherche de repreneur
Cette fiche est en recherche d'un repreneur. Si vous êtes intéressé(e)s, contactez-nous !

LTSP : système de clients légers sur serveur Linux

Cette fiche n'est plus à jour. Elle a été archivée pour la raison exposée ci-contre.
  • Site web
  • Système : UNIX-like
  • Version évaluée : 4.2
  • Langue(s) de l'interface : anglais
  • Licence : GPL

    La documentation est GNU Free Documentation License.

Description
Fonctionnalités générales

LTSP (Linux Terminal Server Project) permet de transformer des vieux PC ou des "clients légers" en Terminaux X.
Cela implique qu'il y ait un ou plusieurs serveurs LTSP sur le réseau, puisque les Terminaux X ne font que de l'affichage (grâce au protocole réseau xdmcp qui permet de déporter l'affichage X11 et proposer ainsi plusieurs sessions graphiques sur un même serveur depuis des postes clients)

Autres fonctionnalités

Il est possible
- d'utiliser des périphériques USB (clés, disques durs,etc.) et des lecteurs optiques sur les terminaux qui en sont équipés
- d'utiliser les cartes son des terminaux X ( pas testé au LMS)
- de connecter une imprimante sur chaque terminal ( pas testé non plus)

Interopérabilité

A l'aide de rdesktop (implémentation libre du protocole Microsoft RDP) et d'une machine Windows Terminal Server il est possible d'avoir sur son écran un bureau Windows. On peut même avoir à la fois un bureau Linux et un bureau Windows. Une combinaison de touches permet de passer de l'un à l'autre (je n'ai jamais compris pourquoi c'était mieux que de lancer une commande rdesktop, mais mes collègues ont adoré !)

Contexte d'utilisation dans mon laboratoire/service

Le système est utilisé au LMS depuis 6 ans environ.
Il y a 40 terminaux, utilisés surtout par les visiteurs et les stagiaires.
2 serveurs LTSP et 2 serveurs Windows servent à assurer la redondance.
Les terminaux marchent au choix en GNOME ou KDE.
Après 5 ans d'utilisation de PC recycles , nous avons décidé d'acheter des clients légers.

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

Le système dépend complètement du réseau.
L'utilisation des ressources du poste local ne sont pas toujours évidentes à mettre en oeuvre (périphériques USB, audio, etc.).

Environnement du logiciel
Plates-formes

Linux :
Pour la version 5.0 : Ubuntu et Debian, opensuse
Pour la version 4.2, Ubuntu/Debian, Fedora/Redhat, Slackware + sources disponibles

Logiciels connexes

fuse + ntfs3g pour faire marcher les clef USB

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Eléments de pérennité

Voir les relations avec K12 LTSP et Edubuntu (search for 'LTSP' or 'thin client')

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

site officiel : http://www.ltsp.org/

HTML Validator : extension Firefox et Seamonkey

Description
Fonctionnalités générales

Il est important, lorsqu'on développe un site web, de fournir du code html valide : il s'agit d'une condition nécessaire (pas suffisante, hélas) pour que le code soit reproduit correctement sur tous les navigateurs. Le processus de validation peut se faire en envoyant sa page sur l'outil de validation en ligne du W3C, qui se chargera alors de dire si la page est valide, et sinon d'expliquer pourquoi, à l'aide de messages d'erreur appropriés. Cependant, il s'agit d'un système relativement lourd et pénible, en particulier à cause de la nécessité de se connecter au W3C.

HTML Validator est une extension pour Firefox et Mozilla Seamonkey, qui incorpore (via des bibliothèques partagées écrites en C++) les algorithmes du W3C afin de réaliser cette validation en local, d'où une excellente interactivité ; lorsque l'extension est active, une icône est affichée en bas à droite de la fenêtre du navigateur : vert ça passe, jaune il y a des avertissements (on peut refuser de les voir), rouge il y a des erreurs. Un popup s'ouvre dès que l'on passe la souris sur l'icône, indiquant le nombre d'erreurs et d'avertissements.

Autres fonctionnalités

Si l'on double-clique sur l'icône de l'extension, une fenêtre s'ouvre, séparée en trois parties :

  • La partie supérieure affiche le code source, correctement formaté et coloré syntaxiquement.
  • La partie inférieure gauche donne la liste des erreurs et des avertissements. La ligne du code source sur laquelle une erreur ou un avertissement a été généré est surlignée.
  • Dans la partie inférieure droite se trouvent affichées des explications complémentaires sur la cause de l'erreur.
  • Il est possible de limiter la validation à certains sites seulement.
  • Il est possible de "masquer" certaines erreurs : cela ne rendra pas votre page valide, mais si vous avez 500 fois la même erreur (pages dynamiques par exemple), cela peut vous aider à découvrir la 501ème ...
  • On peut redemander la validation après que les scripts javascript de la page aient été exécutés, cela dit je n'ai pas réussi à faire fonctionner correctement cette fonctionnalité (sous gnu/linux en tout cas).
  • Il est possible de demander aussi à valider l'accessibilité de son site : on peut configurer le niveau d'accessibilité.
  • Pour du code html 5 : le moteur interne ne fonctionne pas en html 5, l'extension va donc automatiquement faire valider votre page par le W3C de manière totalement transparente pour vous. Les résultats sont rapportés dans la fenêtre dédiée au code source exactement de la même manière que si la validation était faite en interne (il y a cependant une ligne d'info. pour vous dire ce qu'il en est). L'extension se charge de lire la page html et de l'envoyer au W3C, de sorte qu'il est possible de valider des pages non encore mises en ligne.
Interopérabilité

L'objectif de la chose est d'obtenir des fichiers parfaitement interopérables (HTML correct), cela dit l'outil tourne exclusivement sur les navigateurs de la famille Mozilla : Firefox, Seamonkey.

Contexte d'utilisation dans mon laboratoire/service

Écriture de sites ou d'applications web.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Difficultés d'installation gnu/linux (cf. ci-dessous).
  • Pas de validation des CSS.
  • Si l'on utilise simultanément l'extension Firebug, une erreur javascript est presque systématiquement générée ("oTidyBrowser is not defined"). La page http://blog.hackzilla.org/archive/2008/11/22/firef... explique comment corriger le problème. Personnellement, je préfère soit ignorer l'erreur javascript, soit désactiver html-validator lorsque je débogue le javascript ...
  • Un bouton permet (théoriquement) de nettoyer le code : on peut en effet grâce à lui obtenir quelques suggestions d'amélioration et ainsi apprendre des choses sur le standard HTML qu'on utilise, cela dit cette fonctionnalité ne remplacera jamais la correction manuelle du code.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Dès lors que Firefox est installé, il est très simple d’installer HTML Validator :

Installation sous gnu/linux : la procédure d'installation indiquée ci-dessus ne fonctionne pas sous linux (on vous dit que HTML Validator n'est pas disponible sous votre environnement, ce qui est faux). Il suffit d'aller sur http://users.skynet.be/mgueury/mozilla/download.html et de cliquer sur le lien adhoc (linux 32 bits ou 64 bits, selon les cas) pour installer proprement l'extension.

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Il existe d'autres extensions Firefox équivalentes (mais elles n'ont pas obligatoirement les mêmes algorithmes).
Le W3C propose un service de validation en ligne qui utilise exactement les mêmes algorithmes (http://validator.w3.org/).

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

Marc Gueury semble être le développeur unique de cette extension.

Eléments de pérennité

Marc Gueury a, à cette occasion, fondé un site web collaboratif en anglais - http://www.htmlpedia.org - qui héberge un wiki sur HTML et CSS, ainsi que les forums sur HTML Validator. Malheureusement, ce site est aujourd'hui très peu actif (il n'y a rien par exemple sur html 5).

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

Des forums en anglais, pas très chargés mais toujours vivants, sont accessibles à http://www.htmlpedia.org/phpBB/

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

HTML Validator apporte une grande interactivité dans le processus de validation, ce qui incite le développeur à valider régulièrement son code : on ne se retrouve donc plus avec des dizaines d'erreurs à corriger ; il est beaucoup plus simple de corriger ses erreurs au fur et à mesure.

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

Qtiplot : tableur et traceur de graphes 2D et 3D

Description
Fonctionnalités générales

Qtiplot est un logiciel qui implémente d'abord les fonctionnalités d'un tableur : à partir d'une table de 2 colonnes et plus, on pourra tracer des graphes 2D de corrélation entre les valeurs respectives des paramètres contenues dans ces colonnes.
Il permet également, en utilisant du calcul matriciel de tracer des graphes 3D, possède des fonctions d'analyse des données : statistiques par colonnes, par rangées, tri des données, de lissage, permet de dériver ou d'intégrer des données, de calculer et tracer des transformées de Fourier rapides.

Autres fonctionnalités
  • Importation de projets Origin
  • Utilisation de scrypts Python ou muParser
  • Une fonctionnalité intéressante pour les biochimistes est de pouvoir faire des régressions non linéaires de données expérimentales pondérées par les barres d’erreurs (permet de déterminer des paramètres de fixation protéine/ligand ou des paramètres de cinétique enzymatique).
Interopérabilité

Les scripts muParser sont inclus dans plusieurs logiciels scientifiques du domaine public :

  • kst : traceur de données scientifiques pour Linux KDE, muParser est utilisé par le plugin Marquardt Levenberg
  • Transition Maker 2 : crée des séquences de transition pour le traitement video (MS Windows)
  • Trininaut : un lanceur de programmes avec des extra features (Platform: WinXP, Win2K)
  • muParser est utilisé dans l'application DS4' MatriX , un logiciel pour gérer les systèmes de laser. (Platform: Linux)
  • Geodes Geodes est un nouveau logiciel dynamique géometrie pour Mac OS X.

Les projets et fichiers matrices, feuilles de calcul et graphes d'Origin (*.OPJ, *.OGM, *.OGW et *.OGG, ) peuvent être importés sous Qtiplot ; en revanche l'exportation de fichiers Qtiplot vers d'autres formats, si elle est prévue (il existe une option de menu pour cela) ne semble pas encore implémentée dans la version décrite.

Contexte d'utilisation dans mon laboratoire/service

QtIplot est utilisé en remplacement d'Origin sur les machines Linux ou sous Windows quand il y a trop d'utilisateurs pour le nombre de licences.

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

Problèmes liés à l'installation :

  1. Installation à partir d'installeurs binaires

    • Il n'est possible de télécharger des binaires pour Linux, Windows et Mac-OS qu'en souscrivant un contrat de maintenance "single-user binaries maintenance contract" ou "multi-user binaries maintenance contract" pour un coût assez faible (20 € pour une licence seule , 150 € pour 10 licences, 250 € pour un nombre illimité d'installations) avec un support technique minime (respectivement 2 heurs, 12 heures et 24 heures par an).
    • Installation sous Windows : la version QtiPlot 0.9.2 nécessite l'installation préalable de Python 2.5 ;
    • lors de l'installation de la version 0.9.7.3 , j'avais déjà Python 2.5 préinstallé mais je suppose qu'il est toujours nécessaire d'installer Python 2.5 préalablement.
    • Installation sous Linux : des binaires aux formats RPM ou DEB sont téléchargeables, pour les versions 0.9 , 0.9.1 et 0.9.2 . Pour Fedora 6 et 7 il est indispensable d'installer Python 2.5 au préalable car la version disponible dans la distribution est antérieure.
    • même remarque pour l'installation des versions 0.9.7 sous Linux que pour l'installeur Windows.
  2. Installation par compilation de l'application
    Qtiplot est disponible gratuitement à partir des sources, toutefois sa compilation sous Linux n'est pas triviale et nécessite un grand nombre de dépendances dont beaucoup ne sont pas fournies selon les distributions.

Dépendances:
QtiPlot utilise les bibliothèques : Qt (4.4.0), Qwt (5.1.1), QwtPlot3D, GSL, muParser, zlib (1.2.3), et liborigin.
Pour permettre l'utilisations de scripts Python, QtiPlot utilise Python 2.5, SIP (4.7.6) et PyQt (4.4.2).

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

Disponible dans les dépôts universe d’Ubuntu.
Les versions 0.9.7.3 sont téléchargeables sous forme binaire pour Windows, MacOS X et linux (tar.bz2) , pour Linux les installeurs 0.9.7.1 sont disponibles en fichiers rpm et deb.

Plates-formes

Windows, Linux, MacOS-X, systèmes i386 et x86_64

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Ce projet a été initié par Ion Vasilief en 2000. Depuis 2006, de nouveaux contributeurs l'ont rejoint et le projet est hébergé par BerliOS Developper.

Eléments de pérennité

Alors que les premières versions n'existaient qu'en anglais et en allemand, puis en russe et en espagnol, les versions 0.9.7 de Qtiplot sont disponibles également en français, en suédois en bientôt en japonais.
Qtiplot 0.9.8.3 existe aussi en version beta pour Windows et MacOS-X.
Sous Debian et les distributions qui en dérivent (Ubuntu / kubuntu ...) qtiplot peut être installé automatiquement avec la commande "apt-get install qtiplot"

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

Il existe 3 forums anglophones hébergés par l'Université de Berlin : https://developer.berlios.de/forum/?group_id=6626

  • Developers : relatif à la programmation,
  • General Discussion : pour tous les sujets,
  • Help : pour les besoins d'aide et partager les "trucs et astuces".
Documentation utilisateur
Divers (astuces, actualités, sécurité)

QtiPlot peut être integré à LaTeX, standard de fait de publication scientifique: les feuilles de calcul peuvent être exportées sous forme de tables .tex et les plots peuvent être exporté comme figures .tex utilisant les systèmes graphiques TikZ/Pgf .

Syndiquer le contenu