{{tag>brouillon programmation IDE Java}} ---- {{ application:applications:logo_intellij_idea.png|Logo d'IntelliJ IDEA}} ====== IntelliJ IDEA ====== **IntelliJ IDEA** (couramment appelé //IntelliJ//) est un [[wpfr>Environnement de développement intégré]] (IDE) [[:java|Java]] développé et édité par JetBrains. **IntelliJ** est un IDE complet misant sur la productivité avec des systèmes d'auto-complétion intelligente, d'analyse de code en temps réel, de refactoring avancé ; l'intégration d'outils de tests et de debugging ; et une pléthore de raccourcis clavier permettant de réaliser presque n'importe quelle tâche rapidement sans jamais lever les mains du clavier pour utiliser la souris. {{ :application:applications:intellij_saucy_01.png?800 |IntelliJ IDEA Community Edition 13 sur Ubuntu}} JetBrains a également décliné la plate-forme IntelliJ afin de proposer différents IDE adaptés à d'autres langages de programmation : * [[:pycharm|PyCharm]] pour [[:python|Python]], qui supporte également également Django, Flask, Google App Engine, Pyramid et web2py dans son édition payante. * [[:rubymine|RubyMine]] pour [[:rubyonrails|Ruby on Rails]]. * [[:webstorm|WebStorm]] pour Javascript, CoffeeScript, TypeScript, [[:dart|Dart]] et [[:nodejs|Node.js]]. * [[:phpstorm|phpStorm]] pour le [[:php|PHP]], qui supporte également de nombreux frameworks tels que Symfony2, Drupal, WordPress, Laravel, Magento, CakePHP ou Zend Framework 2. * [[:clion|CLion]] pour le [[:programmation#langage_cc|C et le C++]]. * Et enfin **AppCode** pour Objective-C et Swift (disponible uniquement sur MacOS). On peut également citer [[:androidstudio|Android Studio]], l'IDE édité par Google destiné au développement d'applications [[:android|Android]] en Java et C/C++. ===== Les éditions d'IntelliJ IDEA ===== **IntelliJ** est disponible dans deux éditions : La **Community Edition** est sous licence Apache et propose le support des langages basés sur JVM les plus populaires, tels que Java SE, Groovy et Scala ; permet le développement d'applications Android et intègre JUnit, TestNG, Ant et Maven. La **Ultimate Edition** est propriétaire et payante et apporte le support de Jave EE, de nombreux frameworks Java web (Spring, GWT et Struts pour ne citer qu'eux), des outils de conception avancé et de PHP, Python, Ruby et Node.js. Les différences entres les deux éditions [[http://www.jetbrains.com/idea/features/editions_comparison_matrix.html|sont listées ici]]. Il est à noter que l'//Ultimate Edition// est gratuite pour les enseignants, étudiants et projets open-source. ===== Installation ===== ==== Pré-requis ==== Afin d'utiliser IntelliJ (et de développer en Java), vous devez avoir un [[wpfr>JDK]] (Java Development Kit) installé. Pour cela, vous pouvez [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>openjdk-8-jdk]]**. ==== Depuis la logithèque Ubuntu ==== Seul IntelliJ IDEA 13 Community Edition est disponible dans la logithèque. Pour une version plus récente ou l'Ultimate Edition, reportez-vous à la section suivante. IntelliJ est disponible dans la [[:software-center|Logithèque Ubuntu]] et peut être installé très facilement en quelques clics, ce dernier vous proposera de cliquer sur acheter, la possession d'un compte [[https://login.ubuntu.com/|Ubuntu One]] ou/et [[https://login.launchpad.net/|Launchpad]] est nécessaire pour son installation, mais vous n'aurez rien à payer, IntelliJ étant indiqué comme étant gratuit. | {{ :application:applications:intellij_saucy_02.png?400 |}} | {{ :application:applications:intellij_saucy_03.png?400 |}} | {{ :application:applications:intellij_saucy_04.png?400 |}} | ==== Depuis le site officiel ==== JetBrains propose de télécharger les deux éditions d'IntelliJ sur [[http://www.jetbrains.com/idea/download/|son site]]. Cette méthode permet d'avoir la dernière version d'IntelliJ et c'est la seule qui permet d'installer l'//Ultimate Edition//. {{ :application:applications:intellij_telechargement.png?500 |}} - Téléchargez l'édition que vous souhaitez (//Community Edition// ou //Ultimate Edition//). - Ouvrez un [[:terminal]], déplacez-vous dans le dossier où se trouve l'archive que vous venez de télécharger et rentrez la [[:commande_shell|commande]] - Pour la //Community Edition// sudo tar -zxvf ideaIC-.tar.gz -C /opt/ - Pour la //Ultimate Edition// sudo tar -zxvf ideaIU-.tar.gz -C /opt/ - Pour lancer IntelliJ pour la première fois, entrez la commande /opt/idea*/bin/idea.sh Lors du premier lancement, IntelliJ vous proposera de créer un raccourci que vous pourrez utiliser par la suite pour le lancer. ===== Création de votre premier projet Java ===== - Lancez IntelliJ - La fenêtre suivante s'affiche, cliquez sur **Create New Project** {{:application:applications:intellij_tuto_1.png?200|}} - Sur la fenêtre //New Project//, en face de //Project SDK// cliquez sur **New** puis **JDK** {{:application:applications:intellij_tuto_2.png?200|}} - Sélectionnez le JDK que vous souhaitez utiliser et cliquez sur **OK** {{:application:applications:intellij_tuto3.png?200|}} - Cliquez sur **Next** deux fois {{:application:applications:intellij_tuto_4.png?200|}} - Entre un nom pour votre projet et cliquez sur **Finish*** {{:application:applications:intellij_tuto_5.png?200|}} - On va d'abord créer un package. Sélectionnez le dossier //src// de votre projet, appuyez sur les touches **Alt** et **Inser**. Un menu apparaît, commencez à taper "package" et appuyez sur **Entrée** une fois **Package** sélectionné. (Vous pouvez aussi faire un clic-droit sur le dossier et sélectionner **New → Package**) {{:application:applications:intellij_tuto_6.png?200|}} - Entrez le nom du package (par exemple, //org.example//) et cliquez sur **OK** - Nous allons maintenant créer une classe. Sélectionnez le package et appuyez sur les touches **Alt** et **Inser**. //Java Class// devrait être sélectionné, appuyez sur **Entrée** {{:application:applications:intellij_tuto_7.png?200|}} - Entrez le nom de la classe (par exemple, //Main//) et cliquez sur **OK** - Maintenant que la classe est créée, nous allons créer la méthode main. Tapez //psvm// et appuyez sur **Entrée**. La méthode main est générée. {{:application:applications:intellij_tuto_8.png?200|}} {{:application:applications:intellij_tuto_9.png?200|}} - Et si on affichait quelque chose ? Tapez //sout// et appuyez sur **Entrée**, la fonction //System.out.print()// sera générée. Entrez ensuite le texte que vous voulez afficher. {{:application:applications:intellij_tuto_10.png?200|}} {{:application:applications:intellij_tuto_11.png?200|}} {{:application:applications:intellij_tuto_12.png?200|}} - La prochaine étape est d'exécuter ce programme. Allez dans **Run → Edit Configuratiions...** {{:application:applications:intellij_tuto_13.png?200|}} - ===== Conseils et astuces ===== * **Utilisez un maximum les raccourcis clavier**. Ça parait bête mais IntelliJ a vraiment été conçu autour de ces raccourcis. De plus presque toutes les fonctionnalités sont à portée de raccourcis clavier. * Je vous invite à regarder la présentation [[https://www.voxxed.com/blog/presentation/presentation-42-intellij-idea-tips-tricks-45-minutes/|42 IntelliJ IDEA Tips and Tricks in 45 Minutes]] (en anglais) qui présente la plupart des raccourcis et astuces les plus pratiques d'IntelliJ. * Quelques anti-sèches bien pratiques : [[https://www.jetbrains.com/idea/help/keyboard-shortcuts-you-cannot-miss.html|Keyboard Shortcuts You Cannot Miss]], [[https://www.jetbrains.com/idea/help/navigating-through-the-source-code.html|Navigation Through the Source Code]] et [[https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf|IntelliJ Default Keymap]] (PDF). * Toujours concernant les raccourcis clavier, ne soyez pas tenté de les modifier afin qu'ils correspondent à ceux d'Eclipse ou Netbeans. Apprendre les raccourcis clavier d'un nouvel IDE est long et fastidieux, mais ça vaudra le coup ! * Pour économiser de la batterie sur un ordinateur portable, activez le "Power Save Mode" sous **File → Power Save Mode**. Ceci aura pour effet de désactiver les inspections automatiques du code qui ont tendance à consommer des ressources (et donc de la batterie !) en arrière-plan.