KDevelop Tour d horizon et retour d expériences (C++)



Documents pareils
Environnements de développement (intégrés)

Projet de développement

Éléments de programmation et introduction à Java

Tutoriel code::blocks

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Systèmes de gestion de code source

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES

Développeur C/C++ AFDX / ARINC / CAN / TCP/IP

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Outils de développement collaboratif

µrv : Realité Virtuelle

Point sur les solutions de développement d apps pour les périphériques mobiles

Environnements et Outils de Développement Cours 1 Introduction

Visual Paradigm Contraintes inter-associations

Développeur - Conseiller - Formateur web

IBM Power Systems - IBM i IBM Rational

Loïc Rossignol Ingénieur Consultant

Création d installateurs pour Windows avec InnoSetup

Builds et tests Utilisation de CMake et de Dart

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

SonarQube : une autre vision de votre logiciel

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

C O M P E T E N C E S

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Offres de stages 2011/2012

Optimisation de logiciels de modélisation sur centre de calcul

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Ingénieur R&D en bio-informatique

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Débogage de code* Mardi 13 décembre Romaric DAVID Université de Strasbourg - Direction Informatique Pôle HPC. hpc.unistra.

Retour d'expérience avec : OCS Inventory & GLP

9 rue Lucien Roullier Goussainville / INGÉNIEUR SYSTÈME LINUX

Conventions d écriture et outils de mise au point

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Joomla! Création et administration d'un site web - Version numérique

Programmation stochastique

Programmation Mobile Android Master CCI

wxwidgets dans un environnement Microsoft Windows

ECLIPSE ET PDT (Php development tools)

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Chapitre I Notions de base et outils de travail

UE Programmation Impérative Licence 2ème Année

Installation et compilation de gnurbs sous Windows

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Vous pouvez trouver un échantillon de mon travail sur

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Formation : Langues : Types d Intervention et Secteurs d Activité :

Serveur de travail collaboratif Michaël Hoste -

Catalogue des stages Ercom 2013

L'automatisation open source pour SI complexes

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Z i e d Z a i e r ( )

Logiciels Open Sources et le Secteur Privé

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Travailler à l'ensimag avec son matériel personnel

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Installation LTE-SIM. Simulation du réseau 4G (LTE-SIM) en vue d optimiser les ressources spectrales de l opérateur.

Travailler à l'ensimag avec son matériel personnel

Générer du code à partir d une description de haut niveau

Bonnes Pratiques de Développement PHP. Pascal MARTIN SQLI Forum PHP 2009, Paris

Introduction aux Bases de Données Relationnelles Conclusion - 1

Cours d Algorithmique et de Langage C v 3.0

Systèmes en réseau : Linux 1ère partie : Introduction

Android. Présentation d Android. Florent Garin

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Initiation à JAVA et à la programmation objet.

Burckel Thomas. Formation. Compétences

CATALOGUE DES OFFRES O2i INGÉNIERIE POUR LES PLATEFORMES ÉDITORIALES

Linux sur le poste de travail. Histoires d'un Unix sur le bureau de l'utilisateur

Logiciels libres et Open source

Guide d installation TV sur ordinateur Internet 3G+

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

S1 Boostez votre productivité avec la version 9 des solutions Rational pour IBM i

Logiciel Libre dans l'entreprise. BOUABID Mohamed Amine

les techniques d'extraction, les formulaires et intégration dans un site WEB

Calcul Scientifique avec 3

Évaluation et implémentation des langages

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Travailler à l'ensimag avec son matériel personnel

Introduction à Eclipse

Installation et prise en main

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Comment travailler avec les logiciels Open Source

Objet : demande d emploi

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Gestion collaborative de documents

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

PROFIL EXPERIENCE ARCHITECTE LINUX, OPEN SOURCE, COORDINATEUR SÉCURITÉ EMEA

Transcription:

KDevelop Tour d horizon et retour d expériences (C++) 2e rencontre DevelopR6 25 mars 2010 F. Langrognet F. Langrognet () KDevelop Mars 2010 1 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 2 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 3 / 27

Historique Historique 1998 : Mise en place du projet KDevelop Objectif : bâtir un IDE pour KDE facile à utiliser Langage : uniquement C/C++ 2001 : KDevelop 2.0 2004 : KDevelop 3.0 (complètement réécrit) Langages supportés : C++, Java, Python, PHP,... Plugins 1er mai 2010 : KDevelop 4.0.0 Complètement réécrit - encore! Beaucoup de nouveautés et fonctionnalités améliorées Version 3.9.95 (ubuntu 9.10) : disponible uniquement pour le C++ F. Langrognet () KDevelop Mars 2010 4 / 27

Ecosystème Ecosystème naturel Développement en C++ sous Linux/KDE 15 langages supportés Mais aussi... Version windows (cygwin) et Mac OS F. Langrognet () KDevelop Mars 2010 5 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 6 / 27

Aperçu des fonctionnalités Langages / Fonctionnalités F. Langrognet () KDevelop Mars 2010 7 / 27

Fonctionnalités (1) Présentation des fonctionnalités de KDevelop 3.5.3 (et... 4.0) 15 langages Ada, C, C++, Objective-C, SQL, Fortran, Haskell, Java, PHP, Pascal, Perl, Python, Ruby, Bash Construction de projet autotools qmake cmake ant (java) F. Langrognet () KDevelop Mars 2010 8 / 27

Fonctionnalités (2) Edition (texte/classes) Coloration syntaxique Indentation automatique Complétion automatique Aide à l ouverture/fermeture de parenthèses, accolades Utilisations de variables (KDevelop4) Aide à la création de classe Visualisation de classes : Classe mère, classes dérivées Membres privés, publics, protégés Liste des utilisations des méthodes/fonctions F. Langrognet () KDevelop Mars 2010 9 / 27

Fonctionnalités (3) Editeur d IHM QT Designer SGV cvs svn perforce clearcase git (KDevelop4) mercurial (KDevelop4) F. Langrognet () KDevelop Mars 2010 10 / 27

Fonctionnalités (4) Debugger Points d arrêts conditionnels Liste d appel Etat des variables Génération automatique de documentation Doxygen pour C++ F. Langrognet () KDevelop Mars 2010 11 / 27

Fonctionnalités (5) Kits de développement QT (QT Designer, QT Linguist) GTK wxwidgets superwaba GBA Développement de plugins KDE Kate KFile Konqueror Noatun... KDevelop F. Langrognet () KDevelop Mars 2010 12 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 13 / 27

KDevelop4 Nouveau langage : C# Quelques améliorations (parmi d autres) Nouveaux SGV (décentralisés) : git mercurial bazaar Tests CppUnit, QTest Edition (coloration, navigation dans les classes,... ) F. Langrognet () KDevelop Mars 2010 14 / 27

KDevelop4 - Edition (1) Coloration syntaxique F. Langrognet () KDevelop Mars 2010 15 / 27

KDevelop4 - Edition (2) Complétion automatique F. Langrognet () KDevelop Mars 2010 16 / 27

KDevelop4 - Edition (3) Information contextuelle F. Langrognet () KDevelop Mars 2010 17 / 27

KDevelop4 - Edition (4) Edition de classes, navigation F. Langrognet () KDevelop Mars 2010 18 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 19 / 27

Développement de Mixmod avec KDevelop Mixmod/KDevelop Logiciel de classification de données Ecrit en C++ (et avec QT) Développé sous Linux Distribué pour Linux, Windows Edition Debugger cmake Valgrind KCacheGrind (SVN) (Doxygen) F. Langrognet () KDevelop Mars 2010 20 / 27

Utilisation de cmake cmake cmake -> KDevelop cmake. -GKDevelop3 Possibilité de créer des projets CodeBlocks, Eclipse CDT KDevelop -> cmake Configuration de cmake depuis KDevelop F. Langrognet () KDevelop Mars 2010 21 / 27

Utilisation de valgrind Valgrind Outil d analyse dynamique de code C++ (comme Purify) Utilisation de valeurs ou de pointeurs non initialisés Accès à des zones mémoire libérées ou non allouées Libération à tort d une zone mémoire (ex : 2 delete d une même zone) Non libération de mémoire allouée Passage d arguments invalides à certaines fonctions de la librairie standard F. Langrognet () KDevelop Mars 2010 22 / 27

Utilisation de kcachegrind KCachegrind Navigateur pour les données produites par des outils de profilage F. Langrognet () KDevelop Mars 2010 23 / 27

PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 24 / 27

Et si l on partait des besoins? Un IDE pour C++ Critères de choix : Gratuit, Payant Linux, Windows Fonctionnalités : complétion de code, gestionnaire de version, debugger,... F. Langrognet () KDevelop Mars 2010 25 / 27

Conclusion KDevelop IDE très complet Nombreux outils pour le C++ valgrind, KCacheGrind, Doxygen,... Création facile de projets divers QT, WxWidgets,... Edition de texte, navigation classes, fichiers de grande qualité (KDevelop4) Debugger performant Utilisation sous Windows, MacOS très marginale Cross compilation? Création de package? Projet actif et pérenne F. Langrognet () KDevelop Mars 2010 26 / 27

KDevelopR6 FIN Merci de votre attention Florent Langrognet F. Langrognet () KDevelop Mars 2010 27 / 27