Product SiteDocumentation Site

5. Modifications dans Fedora pour les développeurs

5.1. Outils de développement

5.1.1. Ada

Ada est un langage de programmation moderne conçu pour les grosses applications de longue durée - et les systèmes embarqués en particulier - où la fiabilité et l'efficacité sont essentielles. À l'origine, il a été développé au début des années 80 (cette première version étant généralement connue sous le nom de Ada 83) par une équipe dirigée par le Dr. Jean ICHBIAH au CII-Honeywell-Bull en France. Ce langage a été révisé et amélioré dans un souci de compatibilité ascendante au début des années 90, sous la direction de Mr. Tucker TAFT de la société Intermetrics aux États-Unis. Le langage résultant, Ada 95, a été le premier langage orienté objet mondialement reconnu (ISO). Sous l'égide du standard ISO, quelques modifications (mineures) ont été apportées à la norme en tant qu'avenant ; cette version du langage est aussi connu comme Ada 2005. Des travaux sur quelques fonctionnalités supplémentaires (incluant la prise en charge des annotations) sont actuellement en cours et devraient être achevés en 2012.
Fedora 16 inclut les plus récents outils Open Source de développement Ada.
  • Fedora 16 inclut un kit d'outils complet pour le développement Ada : un compilateur (gcc-gnat), un créateur de projet (gprbuild) et un IDE (GPS) entre autres.
  • Ada peut s'utiliser avec les outils les plus populaires tels que : GTK, Qt, zeromq, Database (PostgreSQL, MySQL and SQLite) etc.

5.1.2. archive-autoconf

L'archive Autoconf GNU est une collection de plus de 450 macros, pour GNU Autoconf, sur laquelle ont participé d'amicaux défenseurs de la cause à travers tout internet. La version 2011.04.12 est à présent incluse dans Fedora 16. Référez-vous à http://www.gnu.org/software/autoconf-archive/index.html pour des détails sur le projet.

5.1.3. be

Bugs Everywhere est un logiciel de suivi d'anomalies distribué, conçu en complément des systèmes de contrôle de révision. En utilisant le système de contrôle de révision distribué en tant que moteur de gestion de l'état des anomalies, nous gagnons plusieurs fonctions pratiques :
  • les anomalies sont suives en même temps que le code − lorsqu'une branche est fusionnée, les évolutions de code et les modifications en rapport avec les anomalies que la branche contient sont fusionnées entre-elles. Nous n'avons plus à nous inquiéter de savoir si la correction est appliquée dans la branche de développement mais pas encore dans la branche de production ;
  • les utilisateurs peuvent modifier l'état complet des anomalies en étant hors-ligne, contrairement à beaucoup de logiciels de suivi d'anomalies centralisés ;
  • lorsqu'un utilisateur révise votre code source, il obtient l'état actuel des anomalies facilement ;
  • nous pouvons toujours fournir une interface internet conviviale pour les utilisateurs. Dans ce modèle, une interface internet devient simplement un autre client qui fusionne avec le dépôt principal.
La version 1.0.1 est incluse dans Fedora 16.

5.1.4. btpasser

btparser est un décodeur et analyseur syntaxique, qui fonctionne avec des syntaxes produites par le correcteur d'anomalie GNU. Il peut analyser un fichier de trace pour produire un arbre de structures C, permettant aux développeurs d'analyser les threads et les echanges de la trace pour les exploiter. La page du projet Trac est disponible à l'adresse https://fedorahosted.org/btparser/.

5.1.5. caribou-devel

Caribou est une application de saisie de texte et une interface utilisateur de navigation qui a été développée comme une alternative au clavier virtuel de GNOME. L'objectif principal de Caribou est de créer une solution viable pour les personnes qui accèdent à leur ordinateur principalement grâce à un dispositif de commutation.
Le but initial est de produire un clavier virtuel adapté pour les personnes qui peuvent utiliser une souris mais pas un clavier physique. Ce clavier virtuel pourra aussi être utile pour les utilisateur d'écrans tactiles ou de tablettes. http://live.gnome.org/Caribou.

5.1.6. cddlib-static

cddlib est une bibliothèque C d'implémentation de la méthode de description double de Motzkin et al. permettant de générer tous les sommets (ou extrémités) et les rayons extrêmes d'un polyèdre général convexe. http://www.ifor.math.ethz.ch/~fukuda/cdd_home/.

5.1.7. D2

Le langage de programmation D2 est disponible sur Fedora 16. D est un langage moderne avec de hautes performances proche de C/C++ avec une syntaxe facile à utiliser. Les développeurs C/C++ et Java peuvent aisément migrer vers D.
Plus de détails sont disponibles sur la page des fonctionnalités. Plus d'informations sur le langage D sont disponibles à l'adresse http://www.digitalmars.com/d/2.0/index.html.

5.1.8. emacs-ecb

emacs-ecb est un explorateur de code basé sur Emacs. Il affiche quelques fenêtres informatives qui permettent une navigation aisée dans un code source et un aperçu selon :
  • une arborescence ;
  • une liste de fichiers sources dans le dossier actuel (avec la prise en charge complète et l'affichage de l'état-VC) ;
  • une liste de fonctions/classes/méthodes/... dans le fichier utilisé, (ECB utilise CEDET-semantic, ou Imenu, ou etags pour avoir cette liste. Ainsi tous les langages pris en charge par chacun de ces outils sont automatiquement pris en charge par ECB) ;
  • un historique des fichiers visités récemment (regroupés selon plusieurs critères) ;
  • une fenêtre ecb directe et autoactualisée pour l'analyseur semantic permettant l'autocompletion ;
  • la barre de progression ;
  • le résultat de la compilation (la fenêtre de compilation) et d'autres modes tels que l'aide, grep etc. ou tout ce que l'utilisateur destine à être affiché dans cette fenêtre.
Plus d'informations sur http://ecb.sourceforge.net/.

5.1.9. frama-c

frama-c est un outil d'analyse de code source C, qui peut être utilisé seul, ou intégré avec Emacs. frama-c intègre un explorateur de source qui peut mesurer de simples métriques logicielles, tels que la ligne de code (SLOC), la profondeur d'appel ou la complexité cyclomatique d'un projet. Il est aussi capable de générer de simples graphiques d'appel. Diverses assertions sur le code peuvent être testées et le code peut être validé suivant un certain nombre de théorèmes. frama-c accepte les modules écrits par les utilisateurs afin de réaliser des analyses personnalisées supplémentaires. Plus d'informations surframa-c sont disponibles sur http://frama-c.com/.

5.1.10. Modules GCC Python

Les modules GCC qui intègrent Python 2 et Python 3 sont maintenant disponibles, autorisant les développeurs à plonger plus facilement dans le fonctionnement fondamental de GCC (ex. d'ajouter de nouveaux avertissements compilateur). Visitez la pages des fonctionnalités pour plus de détails.

5.1.11. jruby

jruby est une implementation Java du langage Ruby, offrant aux programmeurs de Ruby l'indépendance de la plateforme Java. La version 1.6.2 de jruby est nouvelle pour Fedora 16. La page internet est disponible à l'adresse http://jruby.org.

5.1.12. libpipeline

libpipeline fournit un ensemble de fonctions permettant de manipuler le pipeline de sous-processus d'une manière flexible et pratique. http://libpipeline.nongnu.org/.

5.1.13. osm-gps-map-devel

osm-gps-map-devel est un composant GTK+ (compatible Python) qui, lorsqu'on entre des coordonnées GPS, trace une route et donne les points d'intérêts avec un affichage dynamique. Ce logiciel télécharge les données de carte sur quelques sites dont openstreetmap.org. http://nzjrs.github.com/osm-gps-map/.

5.1.14. Perl 5.14

Fedora 16 est livré avec Perl 5.14, qui se targue d'être compatible avec la version 6 d'Unicode, de posséder une gestion des exceptions plus fiable, plus cohérente et d'avoir une prise en charge de l'IPV6 améliorée en plus de meilleures performance de la gestion de la mémoire. Pour la liste complète des modifications (incluant les changements de syntaxe), rendez-vous, sur la documentation officielle de Perl : http://perldoc.perl.org/perl5140delta.html.

5.1.15. qwtpolar-devel

qwtpolar-devel est une bibliothèque permettant le tracé de graphiques polaires. http://qwtpolar.sourceforge.net/.

5.1.16. shunit2

shunit2 est un environnement applicatif de tests unitaires pour les scripts shell, similaire à PyUnit ou JUnit. http://code.google.com/p/shunit2/.

5.1.17. Analyses Statiques des Modules Cpython

Fedora est maintenant livré avec gcc-with-cpychecker, une variante de GCC, qui ajoute des vérificateurs de compilation supplémentaires pour les modules d'extension Python écrits en C, détectant plusieurs problèmes communs (ex. erreurs de comptage de référence).

5.1.18. why-emacs

why-emacs est une extension Emacs pour l'outil de vérification de logiciels Why. http://why.lri.fr/. Why prend en charge de nombreux démonstrateurs dont Ergo, haRVey and Zenon et bien d'autres encore.

5.1.19. wso2

Nouveau dans Fedora 16, l'environnement intégré de service Web WSO2 en C++, est une bibliothèque C++ pour le fonctionnement et utilisation des services Web en C++. Fedora inclut la version 2.1.0 de l'environnement intégré. La documentation est disponible sur http://wso2.org/project/wsf/cpp/2.0.0/docs/.

5.2. Haskell

5.2.1. GHC

ghc a été mis à jour vers la version 7.0.4 avec son lot de résolutions d'anomalies.

5.2.2. Haskell Platform

haskell-platform a été mis à jour vers la dernière version stable 2011.2.0.1.

5.2.3. Nouveaux paquets

Les nouveaux paquets comprennent cabal-dev, leksah et diverses nouvelles bibliothèques.