IDE

Fiche logiciel validé
  • Création ou MAJ importante : 27/01/10
  • Correction mineure : 27/01/10
  • Auteur : Pierre Raybaut - DAM Île-de-France (CEA)
  • Relecteur(s) : Konrad Hinsen (Centre de Biophysique Moléculaire)
    Bertrand Rossé (CEA-DAM Bruyères-le-Châtel)
  • Responsable thématique : Violaine Louvet (Institut Camille Jordan)
Mots-clés

Spyder : environnement de développement Python (et C, C++, Fortran)

Description
Fonctionnalités générales

Spyder est un environnement de développement Python (et C/C++/Fortran) qui présente les fonctionnalités suivantes :

  • éditeur de code avec coloration syntaxique, complétion de code, analyse de code temps-réel et explorateur de fonctions et de classes ;
  • console interactive (interne) et console externe (exécutée dans un processus séparé) avec les caractéristiques suivantes :
    • completion de code contextuelle,
    • espace de travail (similaire au "Workspace" de MATLAB) pour lister et modifier via une interface graphique les variables globales (nombres réels, chaînes de caractères, tableaux, listes, etc.),
    • aide automatique et dynamique sur les objets utilisés (dont les modules, fonctions, classes, méthodes, etc.),
    • historique.
Autres fonctionnalités

Ce qui distingue Spyder des autres environnements de développement, c'est l'intégration parfaite des bibliothèques scientifiques Python telles que NumPy (calcul numérique, algèbre linéaire), SciPy (traitement du signal et de l'image) ou encore matplotlib (visualisation de données 2D/3D) dans un environnement très proche de celui de MATLAB. Ainsi, il est possible dans Spyder d'importer/d'exporter des données de/vers MATLAB (fichiers .mat) - d'autres formats sont également pris en charge (avec, par exemple, l'importation de fichiers texte sous la forme de tableaux).

Enfin, Spyder intègre également les fonctionnalités suivantes :

  • éditeur de variables d'environnement ;
  • gestion de chemins d'accès (PYTHONPATH) ;
  • analyse de code approfondie avec pylint ;
  • recherche avancée (expressions régulières) dans des répertoires contenant des fichiers texte (sources Python ou autres).
Interopérabilité

Import/export dans l'espace de travail :

  • échanges avec MATLAB : import/export de fichiers .mat ;
  • autres formats pris en charge : import de fichiers texte .txt, .asc, .csv et d'images aux formats .png, .jpg, etc.

Editeur de code :

  • sources Python : .py, .pyw
  • sources C/C++/Fortran : .c, .cpp, .h, .hpp, .f, .for, .f90
  • autres formats pris en charge : .bat, .properties, .ini
  • n'importe quel autre type de fichier texte, mais sans coloration syntaxique
Contexte d'utilisation

Spyder (avec Python) est utilisé :

  • en remplacement de MATLAB,
  • pour le traitement interactif de données et pour le développement de scripts Python pour le calcul scientifique.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Distribution Python : Python(x,y) 2.6+ (http://www.pythonxy.com)
Distributions Linux : Debian (en cours de test), Gentoo

Plates-formes

GNU Linux, Microsoft Windows XP/Vista/7, MacOS X

Logiciels connexes

Python 2.5 ou 2.6

matplotlib 0.98+ : fiche Fiche Plume

NumPy 1.1+ : fiche Fiche Plume

SciPy 0.6+

pylint

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

Projet Python(x,y) (http://www.pythonxy.com)

Eléments de pérennité

Largement distribué auprès d'une communauté de plusieurs milliers d'utilisateurs (ceux de Python(x,y)).

Références d'utilisateurs institutionnels

Installé sur tous les réseaux internes du CEA/DAM Île-de-France

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche logiciel à valider
  • Création ou MAJ importante : 19/06/09
  • Correction mineure : 16/11/09
  • Auteur : Arnaud Tizon - CENBG (CNRS IN2P3)
  • Responsable thématique : Jean-Luc Archimbaud (UREC)
Mots-clés

Piklab : environnement de développement intégré pour micro contrôleurs PIC (similaire à MPLAB)

Ce logiciel est en cours d'évaluation par la communauté PLUME. Si vous utilisez ce logiciel en production dans notre communauté, merci de déposer un commentaire.
Description
Fonctionnalités générales

Piklab est un environnement de développement intégré (EDI), pour les applications à base de micro contrôleurs du fabricant Microchip (PIC et DSPIC). Grâce à ses fonctions intégrées et à l'intégration de nombreux outils externes, Piklab permet :

  • la gestion de projets,
  • l'édition des fichiers sources constituant le projet, avec coloration syntaxique,
  • la compilation avec notamment SDCC et GPUTILS(d'autres outils sont supportés),
  • la simulation des micro contrôleurs avec GPSIM (quelques circuits sont supportés seulement),
  • la programmation avec la plupart des programmateurs//bootloaders : série, parallèle, ICD2, Pickit2, PicStart+ // Tiny, Pickit2, et PicdemFSUSB,
  • le débuggage avec l'outil ICD2.
Interopérabilité

Plusieurs compilateurs peuvent être intégrés à Piklab :

  • GNU PIC Utilities and Small Device C Compiler
  • MPLAB C30
  • PICC (PICC-Lite, PICC, and PICC-18)
  • MPLAB C18
  • JAL and JALV2
  • BoostC, BoostC++, and BoostBasic
  • CCS
  • MPC
  • CC5X
Contexte d'utilisation

Je possède l'ICD2 et je programme de temps en temps des PIC18F4550. J'ai pu tester les différentes fonctionnalités de Piklab avec succès autour de ce circuit et notamment le debuggage. La version des logiciels que j'utilise : Kubuntu 8.04LTS ; Piklab 0.15.4 ; SDCC 2.9 ; gputils 0.13.7 beta ; exécutif de debuggage ICD2 celui de la version 8.3 de MPLAB (important pour que le débuggage fonctionne correctement)

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

Piklab est un logiciel en développement, il contient probablement des bugs.
Tous les circuits de Microchip ne sont pas supportés, voir la liste : http://piklab.sourceforge.net/devices.php

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

Ubuntu, Fedora

Plates-formes

Ubuntu, Kubuntu, Mandriva, Fedora
Programmateur et Debugger ICD2 ; "Bootloader" PICDEM FSUSB .

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

MPLAB est l'EDI gratuit de Microchip fonctionnant sous Windows
PIKDEV

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

projet sourceforge : http://sourceforge.net/

Eléments de pérennité

Le projet a débuté en 2005, le pourcentage d'activité est de 99% sur le site de sourceforge et la dernière version est sortie en Octobre 2009(version 15.7). Les outils externes tel que SDCC, GPUTILS, GPSIM, sont régulièrement mis à jours et il y a beaucoup de ressources disponibles sur internet.

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

http://piklab.wiki.sourceforge.net/
dans les sous-menus de "Documentation"

Contributions

Il est possible de contribuer sans même avoir des connaissances en informatique, voir:
http://piklab.wiki.sourceforge.net/How+to+Help

Présentations ENVOL 2008 (Formation pour le dEveloppemeNt et la ValOrisation des Logiciels en environnement de recherche)

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 29/10/08
  • Correction mineure : 22/09/09

Présentations ENVOL 2008 (Formation pour le dEveloppemeNt et la ValOrisation des Logiciels en environnement de recherche)

Cette école ENVOL (Formation pour le dEveloppemeNt et la ValOrisation des Logiciels en environnement de recherche) a été financée par le CNRS. Elle a eu lieu du 19 au 24 octobre 2008, près d'Annecy avec 90 participants (stagiaires et intervenants), développeurs ou responsables de projets de développements de différents laboratoires ou services CNRS, INRA, INRIA, universités...

L'objectif était de présenter des méthodes et outils de développement, l'ensemble du cycle de vie du logiciel (empaquetage, diffusion, gestion de communautés, maintenance, sécurité...), les valorisations possibles et les licences, ceci avec des retours d'expérience, en se focalisant sur l'environnement de laboratoires de recherche et les logiciels libres.

Plus d'informations sur l'école...

ENVOL, PLUME, RELIER

Méthodes de développement

Outils de développement

Sécurité

Assurance qualité logiciel (bonnes pratiques)

Valorisation, licences, contexte juridique, services dédiés

Eco-système

Vie du logiciel

Retours d'expériences

Fiche logiciel validé
  • Création ou MAJ importante : 16/02/10
  • Correction mineure : 16/02/10
  • Auteur : Laurent Lequievre - LASMEA (CNRS, Université Blaise Pascal (Clermont-Ferrand))
  • Relecteur(s) : Pascal Dayre (IRIT)
    Florent Langrognet (Département de Mathématiques de Besancon)
  • Contributions importantes : Pascal Dayre
  • Responsable thématique : Violaine Louvet (Institut Camille Jordan)
Mots-clés
Pour aller plus loin

KDevelop : Environnement de Développement Intégré KDE multiplateforme

Description
Fonctionnalités générales

Le projet KDevelop a démarré en 1988 et fait partie des EDI (environnement de développement intégré en français ou IDE en anglais) pour KDE (K Desktop Environment, environnement de bureau libre), permettant le développement de projets en divers langages de programmation tels que C, C++, Java, Pascal, PHP, Perl, Python, Ruby, Ada…
Il a été développé avec le toolkit graphique Qt, conçu par la société Trolltech : cf la fiche PLUME.

Très bon environnement de développement sous Linux, KDevelop est devenu depuis la version 2 multiplateforme : Windows (via cygwin) et Mac OSX ( http://www.kdevelop.org/index.html?filename=3.0/sc... ).

Il permet l’utilisation de systèmes de gestion de projets tels que Automake (outils GNU), Qmake (librairie Qt/Trolltech), ANT (projets JAVA) avec la possibilité de les configurer de manière graphique. Il permet aussi de gérer son propre makefile “à la main”.
Il est doté de tous les outils classiques d’un IDE moderne tels que la complétion de code, browsers de classes ou de fichiers du projet, un debugger, une liaison à un SVG (Système de Gestion de Version) et également à un CMS (Configuration Management System), une aide à la création d’une documentation ou encore une aide au développement d’interfaces utilisateur …

Autres fonctionnalités

KDevelop facilite la création de la documentation Doxygen à tout moment du développement d'un projet. Il intégre des outils de debug comme gdb ou le debugger java utilisable graphiquement, avec notamment la possibilité de mettre des points d'arrêt, de visualiser le contenu de variables, de faire du pas à pas ou encore de suivre la pile d'appel (backtrace).
Son éditeur de code par défaut est Kate, mais on peut le changer en utilisant celui de Qt par exemple ou tout éditeur qui utilise l'interface KTextEditor de KDE.
Il intégre valgrind (sous licence GPL), suite d'outils de profilage et de débuggage mémoire pour C / C++. Les 3 outils principaux de valgrind sont Memcheck (un détecteur de fuites mémoires), Cachegrind (un simulateur de caches) et Callgrind (un profileur). De plus, l'utilisation de KCachegrind (intégré dans KDevelop) permet de visualiser de manière conviviale les données produites par ces outils : cartes, graphes d'appels, nombre d'appels, coût de chaque appel, ...
KDevelop supporte plusieurs systèmes de contrôle de version tels que CVS ou Subversion et également un CMS (Configuration Management System) tel que Perforce ou Clearcase.
KDevelop est muni de nombreux modèles (template) permettant aux développeurs de construire leur application à partir d'une trame. On peut aussi trouver de nombreux templates écrit dans la communauté du logiciel libre et qui peuvent enrichir KDevelop sous forme de plugin.
Enfin, Il intègre également les outils Qt-Designer pour la création d'interface graphique et Qt-Linguist pour la gestion de l'internationalisation.

Contexte d'utilisation

Dans le laboratoire LASMEA nous avons utilisé cet IDE pour développer un logiciel pour la navigation visuelle en robotique (c++,Qt et Mysql). L'idée générale de ce logiciel est de découper le trajet d'un véhicule intelligent en une somme d'arcs auxquels on associe une mémoire visuelle sous forme d'images, de points2D et points3D. A partir de cette base de données topologiques acquise par apprentissage, le véhicule muni d'un algorithme de commande complexe fait en sorte de suivre ce trajet.

Cf aussi la liste des applications créées avec KDevelop : http://www.kdevelop.org/index.html?filename=users....

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
Plates-formes

Linux, Windows (via cygwin), Mac OSX

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

De très nombeux contributeurs et correcteurs : http://www.kdevelop.org/index.html?filename=bugs.html

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Documentation expliquant comment on peut faire une interface QT4 à la souris et développer rapidement une application en langage C++ au moyen de kdevelop.

Fiche logiciel validé
Mots-clés

NetBeans : Environnement de Développement Intégré (EDI ou IDE)

  • Site web
  • Système : UNIX-like
  • Téléchargement
  • Version évaluée : 5.5, 6.0, 6.1
  • Langue(s) de l'interface : anglais
  • Licence : MPL

    La licence est la CDDL (Common Development and Distribution License) est une licence open source créée par Sun Microsystems, basée sur la Mozilla Public License, version 1.1.
    Pour la Free Software Foundation, il s'agit d'une licence libre incompatible avec la GNU GPL pour quelques détails.
    http://fr.wikipedia.org/wiki/Common_Development_an...

Description
Fonctionnalités générales

Netbeans est l'environnement de Développement Intégré (EDI) supporté par SUN. Il est particulièrement bien adapté pour le développement d'applications WEB. Il remplace l'IDE Java Studio Creator.
C'est un IDE moderne offrant un éditeur avec des codes couleurs et un ensemble de signes, des modèles de projets multi-langage et de différents types (application indépendante, distribuée, plugin, mobiles, ...), le refactoring, l'éditeur graphique d'interfaces et de pages web pour supporter le programmeur dans son travail. Il permet d'accéder rapidement à la documentation détaillée, de naviguer dans les sources et de faire des recherches d'usage des classes, méthodes et propriétés. Netbeans indique à l'utilisateur les erreurs et fait des propositions pour y remédier. Un déboggeur permet l'exécution pas à pas. Un suivi des ressources utilisées (cpu, mémoire) par le logiciel développé peut être fait via un profiler. Un framework de test unitaire tel que Junit peut être utilisé ( http://www.projet-plume.org/fiche/junit ).

L'EDI NetBeans fournit des outils pour construire tous les composants Java EE, ce qui inclut les Enterprise Java Beans (EJBs), les pages web, les servlets, et les services web.
Il intégre le serveur d'application Glassfish, ce qui permet de facilement développer des EJB et de les déployer.
Il intégre la norme WebService JAX-WS. Il est aisé de lier un WS avec un EJB pour faire son implémentation.

Pour plus d'information, vous pouvez consulter la présentation de Netbeans lors de l'école ENVOL2008 ( http://www.projet-plume.org/ecole-envol2008 ) décomposée en 3 parties :
http://www.projet-plume.org/files/ENVOL_EnvDev_III...
http://www.projet-plume.org/files/ENVOL_EnvDev_III...
http://www.projet-plume.org/files/ENVOL_EnvDev_III...

Autres fonctionnalités

Pour faire des applications, des éditeurs visuels sont disponibles pour construire rapidement des applications web basées sur des standards utilisant Ajax, CSS, JavaScript, et JSF.
D'autres langages que Java sont possibles tels que C/C++, Ruby, SOA (WSDL, XML), UML, PHP.

L'environnement de développement peut être étendu par un ensemble de plugins que la communauté des contributeurs développe. Par suite, il est possible d'étendre l'EDI à tout langage ( http://plugins.netbeans.org/PluginPortal/faces/Mai... )
Par exemple, le plugin Subversion permet de transformer l'IDE en environnement de développement collaboratif.

Netbeans est également un moteur graphique servant de base logicielle pour le développement de RAD (Rich Application Desktop). Il offre un framework RCP (Rich Client Programming) pour développer tout type d'application graphique en utilisant l'environnement graphique Swing de Java ( http://platform.netbeans.org/, http://www.javapassion.com/netbeans/masterindex.ht... ).

Interopérabilité

Il est possible d'importer des projets Eclipse vers Netbeans avec NetBeans IDE 4.1 ou supérieur. Il suffit d'installer "Eclipse Project Importer" : http://www.netbeans.org/kb/articles/import-eclipse...

Contexte d'utilisation

Netbeans nous a permis d'implémenter les services web multimédias du projet européen KPLAB respectant la norme JAX-WS. Les EJB permettent l'implémentation de WS à état pour la mise en oeuvre de services collaboratifs. Le serveur d'application J2EE Glassfish facilite le déploiement en local lors du développement ou sur un serveur ad hoc pour l'exploitation.

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

L'utilisation de Netbeans pour le développement d'IHM Javax pose un certain nombre de problèmes :

  • le code généré ne doit pas être édité manuellement car le parser de code risque de ne pas reconnaître les modifications. Le code est placé dans des blocs non éditables.

  • le code généré est complexe et donc difficile à comprendre en dehors de NetBeans.

  • pour le développement d'IHM dans de grands projets on peut se poser la question des interopérabilités dans le temps avec les différentes versions de NetBeans. C'est un risque à prendre en compte.

Environnement du logiciel
Plates-formes

Windows, Linux, Mac OS X et Solaris (Sparc, x86), open VMS

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

Sun est l'éditeur de Java et se doit de proposer un IDE de développement qui utilise bien sur Java et autres langage de programmation. Après la débacle du précédent IDE FORTE, NetBeans semble prendre sa place dans la communauté des développeurs. Certains développeurs le préfère à Eclipse pour des raisons de performance.

Références d'utilisateurs institutionnels

INRIA, IRISA, INRA, CNRS

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)
Contributions

La contribution au projet Netbeans peut se faire de différentes manières :

Topcased : atelier de développement d'applications et de systèmes critiques

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 2.3.0
  • Langue(s) de l'interface : anglais
  • Licence : autre

    La majeure partie des composants de TOPCASED sont publiés sous licence EPL 1.0 (Eclipse Public License).
    gPM est diffusé sous LGPL.
    Quelques composants expérimentaux sont disponibles sous d'autres licences (voir sur leur site GForge).

Description
Fonctionnalités générales

L'objectif de Topcased est de couvrir l'ensemble des besoins de développement logiciel et système (la branche descendante du cycle en V), ainsi que les besoins transverses comme la gestion de configuration, la gestion des changements ou l'ingénierie des exigences.
L'atelier suit une approche de type MDE (Model Driven Engineering, ou Ingénierie dirigée par les modèles) au niveau de ses fonctionnalités et de ses méthodes de développement.

Les différents composants sont regroupés sous la forme de 2 paquets :

● Toolkit (composants Topcased à vocation industrielle, et respectant les niveaux de qualité définis par le projet) :
http://gforge.enseeiht.fr/frs/?group_id=52

● Fonctionnalités expérimentales (prototypes, maquettes et composants en incubation) :
http://gforge.enseeiht.fr/frs/?group_id=52.

Ils peuvent aussi être téléchargés séparément :

● Editeur ADELE (pour le langage AADL - Architecture Analysis and Design Language) : http://gforge.enseeiht.fr/frs/?group_id=73

● Editeur SAM (Structured Analysis Model, langage dédié au découpage fonctionnel système et logiciel) : http://gforge.enseeiht.fr/frs/?group_id=33

● Editeur UML (basé sur le modèle Eclipse d'UML) : http://gforge.enseeiht.fr/frs/?group_id=34

● Editeur SysML : http://gforge.enseeiht.fr/frs/?group_id=20.

● etc.

Autres fonctionnalités

○ Tramway (outil de traçabilité) : http://gforge.enseeiht.fr/frs/?group_id=7 et http://gforge.enseeiht.fr/frs/?group_id=47

○ gPM: méta-outil de gestion de tickets (une sorte de bugzilla entièrement configurable en fonction des types de tickets et de processus) : http://gforge.enseeiht.fr/frs/?group_id=63

Vous pouvez aussi installer ces fonctionnalités à partir de : http://topcased-mm.gforge.enseeiht.fr/release/upda...

Contexte d'utilisation

Ce logiciel est conçu afin d'accompagner le développement de systèmes et applications critiques (avionique embarquée, application des systèmes aérospatiaux, logiciel automobile, etc.).

Il met à la disposition des utilisateurs un ensemble de composants couvrant tout le cycle de développement (spécification, conception, codage / réalisation). Ces composants peuvent bien sûr être utilisés séparément, ou en sous-ensemble répondant à vos besoins. Dans bien des cas, les éléments génériques de l'atelier (générateurs de texte, outils de transformation de modèle, etc.) vous permettront de les adapter facilement à vos besoins.

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

Comme indiqué plus haut, le toolkit TOPCASED regroupe les outils considérés comme stables et matures.
Mais de nouveaux composants expérimentaux apparaissent fréquemment. Leur niveau de maturité et de documentation est en général faible : contacter directement leur développeurs (voir la page de ces projets sur la forge TOPCASED) si vous souhaitez les mettre en oeuvre.

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

Divers composants issus de TOPCASED sont maintenant intégrés au projet Eclipse Modeling Project (à partir d'Eclipse 3.4). Notamment ECORE Tools, pour l'édition de modèles ECORE, et EMF Search pour la recherche dans les modèles.

Plates-formes

Toutes les plates-formes supportées par Eclipse. Les composants Topcased sont en particulier testés sur :
● Linux
● MacOS X
● Windows

Topcased est disponible en version pré-packagée (RCP Windows, Linux & Mac) à l'adresse http://gforge.enseeiht.fr/frs/?group_id=52 .
Ces paquets RCP contiennent tous les plugins nécessaires. Il ne reste qu'à installer une JRE ou JDK 1.5.

Logiciels connexes

Eclipse, ainsi que certains composants connexes comme Acceleo ou openArchitectureWare, en fonction des fonctionnalités recherchées.

Autres logiciels aux fonctionnalités équivalentes

Il n'existe pas à ce jour un logiciel "opensource" aussi complet que Topcased. Cependant il y a par exemple des éditeurs UML concurrents, mais ce type de composant n'est qu'une petite partie de Topcased.

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

Pôle de compétitivité "Aerospace Vallée".

Eléments de pérennité

Environ 30 partenaires Industriels et Académiques (AIRBUS, ATOS Origin, CS, CNRS/LAAS, IRIT, ENSEEIHT, MICOUIN CONSULTING, SEI, TECTOSTAGES, THALES ...)
Un des objectifs du projet est justement d'assurer la pérennité des outils de génie système et logiciel.

Références d'utilisateurs institutionnels

CEA
CNRS/LAAS
ENSEEIHT
IRIT
INRIA (VASY, ESPRESSO, TRISKELL, ...)
ONERA

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

En anglais
● Sur le site http://www.topcased.org
● Pour l'installation : http://gforge.enseeiht.fr/docman/view.php/52/3003/...

Contributions

Vos contributions sont les bienvenues : vous pouvez soumettre vos patchs via l'outil de suivi des changements : https://gforge.enseeiht.fr/tracker/?group_id=52
La forge du projet peut héberger des composants connexes.

Syndiquer le contenu