{{tag>Xenial programmation python ide}}
----
====== Eric IDE======
Eric est un environnement de développement intégré ([[IDE]] - pour Integrated Development Environment) très complet adapté à la programmation [[Python]] et [[Ruby]].
Son développement s'appuie sur le langage [[python]] et le framework [[Qt]] via la librairie [[pyQt]]. Eric intègre le composant d'édition open-source [[https://www.scintilla.org/|Scintilla]] ainsi que les outils de développement proposés par Qt tels que Qt Designer et Qt Assistant.
Son système d'extensions (plugin) fait de lui un IDE modulable qui convient aussi bien aux programmateurs débutants qu'aux professionnels, en particulier pour le développement de logiciels graphiques aliant Python et Qt.
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]].
* Disposer d'une connexion à Internet configurée et activée.
===== Installation =====
==== Via les dépôts Ubuntu ====
L'installation d'une ancienne version de Eric IDE peut se faire à partir des dépôts d'Ubuntu. Installer simplement le paquet **[[apt>eric]]**
==== Compilation de versions plus récentes ====
Eric IDE est en évolution constante, il est donc conseillé d'installer la [[https://sourceforge.net/projects/eric-ide/files/eric6/stable/ | dernière version disponible sur sourceforge]].
__Remarque :__ Si un fichier eric6-i18n-fr-xx.xx.tar.gz est présent sur le serveur, cela signifie que la version xx.xx est disponible en français.
* __Installation de dépendances__
sudo apt-get install mercurial build-essential qt5-default qtbase5-dev qttools5-dev-tools libqt5scintilla2-11 python3-pyqt5.qtwebkit python3-pyqt5.qtsvg python3-pyqt5.qtsql python3-pyqt5.qsci
* __Téléchargement des sources de Eric6 et installation__
wget https://sourceforge.net/projects/eric-ide/files/eric6/stable/17.12/eric6-17.12.tar.gz
tar -zxvf eric6-17.12.tar.gz
cd eric6-17.12
sudo python3 install.py
===== Lancement de l'application =====
Une fois l'installation effectuée, eric6 est disponible dans vos menus sous l'onglet Développement.
Vous pouvez également le lancer en ligne de commande :
eric6
===== Installations complémentaires =====
====Outils de développement de Qt ====
Eric6 permet de faire le lien avec des outils externes tels que QtDesigner (création d'interfaces graphiques), Qt Assistant (aide), et les outils de traduction d'application Qt Linguist et Qt Translation Converter.
* __Pour installer ces outils dans leur version **Qt4** :__
sudo apt-get install qt4-designer qt4-dev-tools
* __Pour la version **Qt5** :__
sudo apt-get install qttools5-dev-tools
Il faut ensuite configurer Eric pour utiliser ces outils. Pour cela, aller dans le menu //Configuration>Préférences>Qt>Outils Qt// afin de changer le paramètre **Qt-Prefix**.
Selon que vous ayez une architecture 32 ou 64 bits, et que vous souhaitiez utiliser Qt4 ou Qt5, indiquer l'une des directions suivantes :
/usr/lib/i386-linux-gnu/qt4/bin/
/usr/lib/i386-linux-gnu/qt5/bin/
/usr/lib/x86_64-linux-gnu/qt4/bin/
/usr/lib/x86_64-linux-gnu/qt5/bin/
Se rendre ensuite dans //Configuration>Afficher les outils externes// et cliquer sur //Rechercher// afin de vérifier que ces outils ont bien été détectés.
====Documentations ====
De même que pour les outils de dévellopement, vous pouvez installer diverses documentations qui seront intégrées au menu **Aide** d'Eric :
Installer, au choix, les documentations suivantes **[[apt>python2.7-doc|Python2]], [[apt>python3-doc|Python3]], [[apt>qt4-doc-html|Qt4]], [[apt>qt5-doc-html|Qt5]], [[apt>python-qt4-doc|PyQt4]] et [[apt>pyqt5-doc|PyQt5]]**
Pour installer toutes les documentations en une seule commande :
sudo apt-get install python2.7-doc python3-doc qt4-doc-html qt5-doc-html python-qt4-doc pyqt5-doc
Renseigner ensuite la direction des différentes documentations à utiliser dans le menu : //Configuration>Préférences>Aide>Sources de documentation//
__Python2 :__/usr/share/doc/python2.7/html/index.html
__Python3 :__/usr/share/doc/python3/html/index.html
__Qt4 :__/usr/share/doc/qt4-doc-html/html/index.html
__Qt5 :__/usr/share/doc/qt5-doc-html/html/index.html
__Pyqt4 :__ /usr/share/doc/python-qt4-doc/html/index.html
__Pyqt5 :__ /usr/share/doc/pyqt5-doc/html/index.html
====Compilateurs de ressources et de fenètres et extracteur de traductions====
Installer **[[apt>pyqt4-dev-tools]]** ou **[[apt>pyqt5-dev-tools]]**
====Coloration syntaxique Pygments====
Eric supporte par défaut la coloration syntaxique de nombreux langage par l'utilisation de la librairie QScintilla. Si vous souhaitez bénéficier d'une coloration syntaxique pour un langage spécifique, installer simplement le paquets **[[apt>python-pygments]]** ou **[[apt>python3-pygments]]** qui supporte encore plus de langage.
Definir ensuite dans les préférences la coloration à utiliser en fonction du type de fichier
//Configurartion>Préférences>Editeurs>Analyseurs syntaxinques>Types de fichiers//
===Exemple du ReStructuredText===
Par exemple, pour bénéficier de la coloration syntaxique des fichiers de type ReStructuredText (utilisés notament pour la documentation [[sphinx]] des programmes python), modifier les paramètres de la manière suivante :
//Configurartion>Préférences>Editeurs>Analyseurs syntaxinques>Types de fichiers//
__Patern de nom de fichier :__ *.rst
__Analyseur syntaxique :__ Alternatif
__Analyseur alternatif :__ ReStructuredText
**__Remarque :__** Il est également possible de bénéficier d'une fonction très pratique d'aperçu pour ce type de fichier et d'autres, en installant le paquet **[[apt>python-docutils]]** ou **[[apt>python3-docutils]]**
====Correction orthographique PyEnchant====
Installer le paquet **[[apt>python3-enchant]]**
Activer et configurer ensuite la fonctionalité dans le menu //Configuration>Préférence>Editeur>Correction orthographique//
====Auto-complétion et calltips====
L'autocomplétion et les calltips sont effectués grace à des **APIs** interprétés par **Qscintilla**. Pour utiliser un API particulier, il faut le compiler.
Pour cela :
* Ouvrir le menu //>Configuration>Préférences>Éditeurs>APIs//
* Sélectionner l'option //Compiler les APIs automatiquement//
* Séléctionner votre //language// de programmation, par exemple //Python3//
* Ajouter un API //à partir des APIs installés// ou //à partir des APIs de plugins//
* Cliquer sur compiler les APIs
* Configurer à votre gout les paramètres de //>Configuration>Préférences>Éditeurs>Autocomplétion// et //>Configuration>Préférences>Éditeurs>Calltips//
Par défaut, seuls les APIs de Eric (Fonctions internes de l'IDE, utiles uniquement à son développement) et de [[https://zope.org/|Zope]] sont installés.
* Pour avoir accès à l’auto-complétion des module de **Python** (dans ses différentes versions), il faut tout d'abord installer le paquet **[[apt>libqscintilla2-doc]]**.
* En ce qui concerne l'API de **PyQt4**, il semble qu'il soit absent des paquets Debian/Ubuntu (dites moi si je me trompe...). Pour le récupérer chez nos amis d'Archinux et l'installer en une ligne de commande :
wget -qO- https://www.archlinux.org/packages/extra/x86_64/pyqt4-common/download/ | unxz | tar x -O usr/share/qt4/qsci/api/python/PyQt4.api | sudo tee /usr/share/qt5/qsci/api/python/PyQt4.api
* Idem pour **PyQt5.api** :
wget -qO- https://www.archlinux.org/packages/extra/x86_64/pyqt5-common/download/ | unxz | tar x -O usr/share/qt/qsci/api/python/PyQt5.api | sudo tee /usr/share/qt5/qsci/api/python/PyQt5.api
===== Configuration =====
L'essentiel de la configuration a lieu dans le menu //Configuration// et en particulier //Configuration>Préférences//
Les différentes barres d'outils sont entièrement paramétrables et même détachables par clics-droit et glisés-déposés. Le menu //Configuration>Barres d'outils// aide également à cette tâche
===== Installation d'extensions =====
Une des forces d'Eric réside dans ses nombreux plugins. Contrairement à ce que l'on pourrait croire, l'installation de nouveaux plugins ne se fait pas par l'onglet //Plugins>Installation de plugins// mais par celui //Plugins>Référentiels de plugins//
===== Utilisation =====
FIXME: A compléter par les utilisateurs. Vos différentes expériences sont les bienvenues
===== Voir aussi =====
* **(en)** [[http://eric-ide.python-projects.org|Site officiel du logiciel]]
* **(en)** [[https://www.scintilla.org/|Page officielle de Scintilla]]
* **(en)** [[http://qt-project.org/|Page officielle du projet Qt]]
* **(en)** [[http://www.riverbankcomputing.com/software/pyqt/intro|Page officielle de PyQt]]
* **(fr)** [[https://forum.ubuntu-fr.org/viewtopic.php?id=1720471|Fil de discussion sur le forum Ubuntu-fr]]
----
//Contributeurs principaux : [[utilisateurs:Davy39|Davy]].//