Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
programmation [Le 03/10/2013, 09:54]
193.253.176.55
programmation [Le 20/05/2023, 22:28] (Version actuelle)
90.91.63.138 [liens à corriger] Ajout d'un accent manquant.
Ligne 1: Ligne 1:
-{{tag>​portail ​BROUILLON}}+{{tag>​portail}}
 ---- ----
 +====== Programmation ======
 +<​note>​Cette page n'a pas la vocation de recenser la totalité des langages ni des outils disponibles. Il y en a tellement, et chaque programmeur a sa façon de faire. Une partie [[#​liens_externes|"​liens externes"​]] vous donnera quelques sites de qualité sur la programmation.</​note>​
  
 +===== Outils généraux =====
 +==== Documentation hors ligne ====
 +  * [[:​Devhelp]] : Consultation hors ligne de documentation principalement sur le développement GTK+ et GNOME.
 +  * **[[apt>​zeal]]** : Consultation hors ligne de documentation sur plus de 190 langages de programmation. [[https://​zealdocs.org/​|Site de zeal]]\\
  
 +==== Outils de gestion de version (Versionning) ====
 +Les outils de gestion de version permettent la synchronisation facile des équipes de développement,​ ils sont même quasiment indispensables quand il s'agit de travailler en équipes dispersées à travers le monde.
 + 
 +**Système centralisé** : Basé sur le modèle client serveur, le gestionnaire doit posséder une connexion au serveur pour effectuer des modifications sur la branche principale (commit). Il est possible d'​avoir une copie locale qui permet de travailler en mode déconnecté,​ mais qui devra être synchronisée avec le serveur.
 +  * [[:CVS]] : Gestionnaire de versions plus ancien (ancêtre de SVN)
 +  * [[:​CVS_Server]] : Tutoriel sur la création d'un serveur CVS
 +  * [[:​Subversion]] - Gestionnaire de versions (aussi appelé SVN)
 +  * [[:Trac]] - Environnement de suivi de projet technique basé sur [[:​Subversion]]
  
-=====L'​apprentissage de la programmation===== +**Système distribué** : Basé sur le modèle d'​égal à égal, chaque machine ​est responsable ​de sa partie. Tant que l'on travaille sur sa partie, il n'est pas nécessaire d'​avoir une connexionPar contre ​pour se synchroniser avec une branche extérieure,​ il est nécessaire d'avoir un accès à cette branche
-Programmation visuelle : +  * [[:git]] - Gestionnaire ​de versions créé par Linus Torvalds et très répandu
-   * **[[Scratch]]** ([[http://​scratch.mit.edu/​|site]]) ​est un **langage ​de programmation graphique (et collaboratif dans l'esprit du libre)** pour les enfants de 8 ans et plus. Créé par le MIT, il rassemble des millions de projets faits par des enfants. +  * [[:bzr|Bazaar]] - Gestionnaire de versions distribuéesdéveloppé par [[:Canonical]] 
-   * [[algobox|AlgoBox]] : logiciel ​pour découvrir les algorithmes. +  * [[:​hg_mercurial]] - Gestionnaire ​de versions distribuées 
-   * [[Etoys]] ([[http://​wiki.laptop.org/​go/​Etoys|site]]) ​est une mise en œuvre de [[http://​wiki.laptop.org/​go/​Squeak|Squeak]] à de l'aide  [[http://​wiki.laptop.org/​go/​Smalltalk_Development_on_XO|Smalltalk]], ​un langage de programmation orienté objet+   
-   ​* [[Turtle Art]] ([[http://​wiki.laptop.org/​go/​Turtle_Art|site]]) : environnement ​de programmation graphique+==== Outils ​de comparaison de fichiers ====
-   ​* [[KTurtle ]] ([[http://​edu.kde.org/​kturtle/​|site]])une initiation très sympathique (plutôt pour les enfants, mais pas que) via le fameux logo. +
-   ​* ​[[Alice]] ([[http://​www.alice.org/​|site]]) est un logiciel libre d'​éducation conçu pour enseigner aux élèves la programmation orientée objet et événementielle. +
-   ​* [[App inventor]] (de Google) ([[http://​appinventor.googlelabs.com/​learn/​setup/​setuplinux.html|site]]). +
-   * [[squeak]] : langage ​de programmation à la souris, orienté objet, basé sur Smaltalk et à visée éducative. +
-   * [[renpy|Ren’Py]] Outil pour Créer des BD interactives et jeux-videos.+
  
-Des ressources libres : +  * [[:diff]] ​outil de comparaison de fichiers et de création de patchs. 
-   * [[http://​www.france-ioi.org/​|France-ioi]] : Site de découverte ​de la programmation,​avec des concours pour les écoles, pour différents langages avec un **parcours lycée**. +  * [[:sdiff]] - outil de comparaison ​de fichiers côte à côte. 
-   ​* [[http://fr.wikiversity.org/wiki/​D%C3%A9partement:​Programmation_informatique|Wikiversité : Département programmation information]], et [[http://fr.wikiversity.org/wiki/​Logique_%28sciences_de_l%27ing%C3%A9nieur%29|logique]]+  ​[[:meld]] - outil graphique qui compare vos fichiers et dossiers
-   ​* [[http://fr.wikibooks.org/wiki/Programmation|Wikibook : Département programmation]], et [[http://fr.wikibooks.org/wiki/Approfondissements_de_lyc%C3%A9e/​Logique|Approfondissements de lycée : la Logique]]. +  * [[http://diffuse.sourceforge.net/|diffuse]] - outil graphique de comparaison de fichiers. **(Paquet non disponible sur [[focal|Ubuntu 20.04]]**((https://packages.ubuntu.com/search?​suite=default&​section=all&​arch=any&​searchon=names&​keywords=diffuse)).) 
-   * [[le_monde_du_libre#​universites_et_communautes_pedagogiques|Universités et communautés pédagogiques]]+  * [[https://sourceforge.net/projects/​tkdiff/|tkdiff]] - outil graphique (interface X11) de comparaison de fichiers. 
-   [[http://translate.google.com/translate?js=y&prev=_t&hl=fr&ie=UTF-8&layout=1&​eotf=1&​u=http%3A%2F%2Fwww.e-booksdirectory.com%2Fprogramming.php&​sl=en&​tl=fr|Liste de Livres libres ​de programmation]], et [[http://translate.google.com/translate?​js=y&​prev=_t&​hl=fr&​ie=UTF-8&​layout=1&​eotf=1&​u=http%3A%2F%2Fwww.e-booksdirectory.com%2Fprogramming.php&​sl=en&​tl=fr|sur les domaines de l'​informatique]] (en->fr).+  * [[http://furius.ca/xxdiff/|xxdiff]] - outil graphique (interface X11) de comparaison de fichiers et de dossiers. **(Paquet non disponible sur [[focal|Ubuntu 20.04]]**((https://packages.ubuntu.com/search?suite=default&section=all&arch=any&searchon=names&keywords=xxdiff)).
 +  * [[https://​apps.kde.org/​kompare/​|kompare]] - outil graphique ​de comparaison ​de fichiers et dossiers. 
 +  * [[:vimdiff]] - outil de comparaison de fichiers. 
 +  * [[:gvimdiff]] - outil graphique de comparaison de fichiers. 
 +  * [[https://apps.kde.org/kdiff3/​|kdiff3]] ​outil graphique de comparaison et de merge (fusionnement) de fichiers et dossiers. 
 +  * [[https://​sourcegear.com/​diffmerge/#​|diffmerge]] - outil graphique de comparaison et de merge (fusionnement).
  
-Voir aussi le portail [[education]]. +==== UML ==== 
-====Langage C / C++====+//Voir la page [[:uml|page sur UML]]//
  
 +==== XML ====
 +//Voir la page [[:Xslt]] - Les processeurs XSLT.//
  
-Cours: [[http://www.siteduzero.com/​tutoriel-3-14189-apprenez-a-programmer-en-c.html|Apprenez à programmer en C]] [[http://​www.siteduzero.com/​tutoriel-3-11406-programmez-avec-le-langage-c.html|Le C++ facile]] (Site Du Zéro)+===== IDE (Environnement de Développement Intégré) ===== 
 +//Les IDE sont les principaux outils des développeursIls bénéficient d'​une ​[[:IDE|page de documentation dédiée]].//
  
-Livre : [[http://​www.framabook.org/​c20h.html|Le C en 20 heures]] (framabook),​ [[http://fr.wikibooks.org/​wiki/​Programmation_C|Programmation C sur wikibook]]+==== Éditeur de texte==== 
 +Une alternative à l'​utilisation d'​un ​[[:IDE]] est l'​emploi d'un éditeur de texte et d'​outils complémentaires individuels.
  
-====Unix et Terminal console====+//Voir la page [[:​editeur_de_texte#​editeurs_orientes_developpement|éditeurs orientés pour la programmation]].//​
  
-   * [[Terminal]] +===== Système ===== 
-   * [[console]] +   * [[:Terminal]] 
-   * [[liste des applications console]] +   * [[:console]] 
-Livre : [[http://​www.framabook.org/​Pour_aller_plus_loin_avec_la_ligne_de_commande.html|Unix. Pour aller plus loin avec la ligne de commande]]+   * [[:liste des applications console]] 
 +   * [[:tutoriel:​script_shell|Script shell]] - Introduction au script shell
  
 +===== Langages généralistes ====
 ====Python==== ====Python====
 +   * [[:kiki]] : un outil pour tester et apprendre les expressions rationnelles de Python.
 +   * [[:idle]] : un éditeur facile à prendre en main.
 +   * [[https://​sourceforge.net/​projects/​rur-ple/​|RUR-PLE]] : un environnement d'​apprentissage de la programmation Python de manière amusante, en programmant un robot.
 +   * [[https://​inforef.be/​swi/​python.htm|Livres]] : Livres "​Apprendre à programmer avec Python"​ de Gérard Swinnen sous licence Creative Commons
 +   * [[:​IPython]] - Shell pour Python amélioré.
 +   * [[:Eric]] - Environnement de développement intégré adapté à la programmation Python et Ruby.
 +   * [[:SPE]] - Comment installer l'​[[http://​pythonide.stani.be/​|éditeur Python SPE]].
 +   * [[:​wingware|WingIDE]] - Environnement de développement professionnel dédié au développement de projets en Python.
 +   ​*[[:​gEcrit]] [[http://​gecrit.sourceforge.net/​]] - Nouvel IDE pour Python. (n'est plus en développement)
 +   ​*[[:​spyder|Spyder]] - **__S__cientific __PY__thon __D__evelopment __E__nvi__R__onment**
 +   ​*[[:​PyCharm]] est un [[wpfr>​Environnement de développement intégré]] (IDE) [[:​python|Python]] développé et édité par JetBrains basé sur la plateforme [[:​intellij|IntelliJ]].
 +
 +//​[[:​python|Voir la page dédiée à python]]//
  
-   * [[Acire]] : un outil graphique d'aide à l'​apprentissage de la programmation en Python. 
-   * [[kiki]] : un outil pour tester et apprendre les expressions régulières de Python. 
-   * [[idle]] : un éditeur facile à prendre en main. 
-   * [[RUR-PLE]] : un environnement d'​apprentissage de la programmation Python de manière amusante, en programmant un robot. 
-      * [[http://​inforef.be/​swi/​python.htm|Livres]] : Livres "​Apprendre à programmer avec Python"​ de Gérard Swinnen sous licence Creative Commons 
 ====Java==== ====Java====
 +   * [[:Java]] - Comment installer le support Sun Java //(JRE)// (installation,​ exécution des « .jar » et plugin de Mozilla Firefox) ?
 +   * [[:​jbuilder2005|JBuilder 2005]] - Comment installer l'​environnement de développement intégré Borland JBuilder 2005 ?
 +   * Tutoriel sur les bases de Java : [[http://​openclassrooms.com/​courses/​apprenez-a-programmer-en-java| Apprenez à programmer en Java]] sur OpenClassrooms.
 +   * [[:​eclipse]] - Comment installer l'IDE Eclipse pour java
 +   * [[:​intellij_idea|IntelliJ IDEA]] - énormément complet, gestion [[:​git|Git]] intégré, et terminal inclus
 +
 +//​[[:​java|Voir la page dédiée à java]]//
 +
 +==== Ruby ====
 +  * [[https://​arcadia-ide.org/​|Arcadia IDE]]  - IDE en TCL/TK et dedié à ruby, possède un debogueur. Accessible depuis gem ou sur rubyforge
 +  * [[:​rubyonrails|Ruby on Rails]] : Rails est un framework open-source d'une grande qualité destiné aux développements d'​applications et services web en Ruby. 
 +
 +//​[[:​ruby|Voir la page dédiée au Ruby]]//
 +
 +==== C et C++ ====
 +Voir la page [[gcc|GCC, le jeu de compilateurs GNU]]
 +
 +Cours **(fr)**:
 +  * [[https://​www.youtube.com/​channel/​UCS2e0hEJMhwd6bNscS60xTg/​videos|Formation en vidéo sur le langage C]] (par [[:​utilisateurs/​naoki|Naoki]])
 +  * [[http://​fr.openclassrooms.com/​informatique/​cours/​apprenez-a-programmer-en-c|Apprenez à programmer en C]]
 +  * [[http://​fr.openclassrooms.com/​informatique/​cours/​programmez-avec-le-langage-c|Le C++ facile]] (sur OpenClassrooms)
  
-   * [[Eclipse]] : un environnement très completnotamment pour le langage Java.+Nous vous invitons à consulter le [[:support programmation C]] mis à votre disposition : 
 +  ​* [[:Qt-Creator]] - l'IDE par excellence pour développer en Qt débogueurauto-complétion,​ facilité de prise en main...
  
-===== Le développement Web =====+//​[[:​support_programmation_c|Voir la page dédié à la programmation C/C++]]// 
 + 
 +==== Pascal ​==== 
 +  * [[:​Lazarus]] - IDE basé sur Free Pascal et semblable à Delphi 
 +  * [[:fpc]] - Compilateur Free Pascal 
 + 
 +==== Microsoft .NET / C# / VB .NET ==== 
 +Pour programmer en [[:​csharp|C#​]] ou VB.NET sur GNU/Linux, la solution actuellement conseillée est [[https://​learn.microsoft.com/​fr-FR/​dotnet/​core/​introduction|.NET]],​ plateforme gratuite, open source et multiplateforme. 
 + 
 +Le framework [[:​mono|Mono]],​ une implémentation libre de la plateforme de développement ​Microsoft .NET, est toujours disponible mais il est aujourd'​hui dépassé, puisqu'​il correspond à la version 4.x de .NET. 
 + 
 +//​[[:​csharp|voir la page dédiée à C#]]//\\ 
 +//​[[:​mono|voir la page dédiée à Mono]]// 
 + 
 +===== Web =====
 Le développement web, création de pages internet et de script PHP, etc. Le développement web, création de pages internet et de script PHP, etc.
  
 Voir aussi la [[:​entreprise#​creation_de_sites_web|sélection du portail "​entreprise"​]]. Voir aussi la [[:​entreprise#​creation_de_sites_web|sélection du portail "​entreprise"​]].
  
-==== Éditeurs ​de pages web ==== +==== Maquettage ​de site avec un logiciel de mockup ​==== 
-//Voir le paragraphe "[[programmation#​HTML ​XHTML CSS|HTML/XHTML/CSS]]" ci-dessous.//​+Un logiciel de mockup est un outil bien pratique qu’il faut compter dans sa toolbox au moment de se lancer dans un projet de création de site web. C’est ce type de logiciel qui va vous permettre de concevoir les maquettes fonctionnelles ou wireframes des pages de votre site. 
 +  * Balsamiq : outil payant mais vraiment facile à prendre en main ([[https://support.balsamiq.com/installation/linux/|Page en anglais]] expliquant comment l'​installer avec Wine) 
 +  * [[:​pencilevolus|Pencil Evolution]] : outil gratuit
  
 ==== Création d'​animations pour le web==== ==== Création d'​animations pour le web====
-  * [[SVG]] : création d'​animations SVG (alternative libre au Flash) +  * [[:SVG]] : création d'​animations SVG 
-  * [[Flash]] : création d'​animations Flash+  * HTML5 - JavaScript (AJAX-JQuery)
  
 ==== Mise en ligne du site ==== ==== Mise en ligne du site ====
-//Voir le portail [[FTP]].// +//Voir le portail [[:FTP]].//
- +
  
 ==== Vérification du rendu des sites créés==== ==== Vérification du rendu des sites créés====
-//Voir le portail [[navigateur]].// +//Voir le portail [[:navigateur]].//​
- +
-==== PHP ==== +
-//Voir le paragraphe "​[[programmation#​php1|PHP]]"​ ci-dessous.//+
  
 ==== Systèmes de gestion de contenu (CMS) ==== ==== Systèmes de gestion de contenu (CMS) ====
-//Voir le portail [[CMS]].//+//Voir le portail [[:CMS]]//
  
 ==== Serveurs de développement web==== ==== Serveurs de développement web====
-  * [[XAMPP]] : un serveur web de développement facile +  * [[:XAMPP]] : un serveur web de développement facile 
-  * [[RubyOnRails]]:​ Rails est un framework de développement d'​applications web basé sur le concept Modèle-Vue-Controleur (MVC). +  * [[:RubyOnRails]]:​ Rails est un framework de développement d'​applications web basé sur le concept Modèle-Vue-Controleur (MVC). 
-  * voir aussi le portail sur les [[serveur|applications réseaux et serveurs]].+  * voir aussi le portail sur les [[:serveur|applications réseaux et serveurs]].
  
 ====Transformation C/C++ (ou autres ) vers javascript / html ==== ====Transformation C/C++ (ou autres ) vers javascript / html ====
  
-Description du processus : +Description du processus :
    - compiler code (c++ par exemple ) vers LLVM. Des compilateurs : llvm-gcc, clang, ...    - compiler code (c++ par exemple ) vers LLVM. Des compilateurs : llvm-gcc, clang, ...
    - Compiler le code LLVM vers javascript ​    - Compiler le code LLVM vers javascript ​
-     ​- ​Emscripten ([[http://code.google.com/​p/​emscripten/|site]]) +     ​- ​ [[https://emscripten.org/|Emscripten]] 
-     ​- ​llvm js backend ([[http://​github.com/​dmlap/​llvm-js-backend|site]]) a vérifier+     ​- ​ [[https://​github.com/​dmlap/​llvm-js-backend|llvm js backend]] (à vérifier)
  
-[[wpfr>Html5]] implémente les websockets, et une plage mémoire pour des applications web.+[[wpfr>HTML5]] implémente les websockets, et une plage mémoire pour des applications web.
  
-   * NativeClient ([[http://​code.google.com/​p/​nativeclient/​|site]])( de google ) Lancer du code natif dans une application web : nécessite ​un navigateur ​compatible ​+[[wpfr>​Google_Native_Client]] est un logiciel de sandbox qui permet l'​exécution ​de code natif x86 dans un environnement confiné et contrôlé par un navigateur ​web. (source ​Wikipédia)
  
 +Le compilateur [[https://​ocsigen.org/​js_of_ocaml/​|Js_of_ocaml]] propose une compilation presque complète depuis l'​OCaml vers le JavaScript. Tous les navigateurs récents sont compatibles.
  
-Le compilateur **js_of_ocaml** ([[http://​ocsigen.org/​js_of_ocaml/​]]) propose une compilation presque complète depuis l'​OCaml vers le JavaScript. Tous les navigateurs récents sont compatibles. +==== HTML / XHTML / CSS ====
-===== Le développement d'​applications ===== +
-Cette partie concerne aussi bien la simple compilation,​ la programmation de petits programmes que la création de programmes ambitieux !+
  
-==== Compiler un programme ==== +Le [[wpfr>​WYSIWYG]] est le fait de voir directement ce que l'on édite au format final, c'est-à-dire que ce que vous éditez ressemble fortement au résultat final publié.
-  * [[:​compilation|Compilation]] - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml. +
-  * [[:​tutoriel:​compilation|Compilation de logiciels]]+
  
-==== Création de paquets .deb ==== +  * [[:​Seamonkey]],​ éditeur HTML (Composer) et navigateur web ensemble; 
-Les paquets .deb sont les "​installeurs" ​de programmes d'Ubuntuces pages vous expliquent comment les créer.+  * [[:​BlueGriffon]],​ éditeur HTML supportant ​les plus récentes technologies Web (HTML5, CSS3), avec des add-ons pour des fonctions ​de base payants ; 
 +  * **[[wpfr>​Dreamweaver]]**,​ éditeur HTML payant, s'installe parfaitement avec [[:​Wine]]. 
 +  * [[:​LibreOffice]] Writerpermet de créer ​des pages html simples et rapidement ; 
 +  * [[:​w3c-markup-validator]],​ validateur HTML ; 
 +  * [[:Komodo Edit]], éditeur (HTML, CSS, RUBY, PYTHON…) simple et performant ; 
 +  * [[:​Sublime-Text]] éditeur léger reconnaissant ​ 44 langages de programmation et permet l'​ajout de fonctionnalités avec des plugins
  
-  ​* [[:projets:ecole:​paquets|Comment créer un paquet .deb]]+==== PHP ==== 
 +===Serveur=== 
 +  ​* [[:apache]] 
 +  * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php)
  
-==== IDE - EDI : écrire, compiler et déboguer un programme ====+===Éditeur=== 
 +  * [[:​Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+) 
  
-Tout d'​abord, ​**qu'est ce qu'un EDI ?*Un EDI ([[wpfr>​Environnement_de_développement_intégré]]est un logiciel 3 en 1 permettant au programmeur ​d'écrire, de compiler ​et de déboguer son programme ​avec un seul logiciel.+===Framework=== 
 +  ​[[:​symfony]] : framework PHP très en vogue 
 +  ​[[https://​www.laravel.com/​|Laravel]] : framework PHP riche et très populaire 
 +  * Jelix : framework PHP français assez léger et assez simple d'utilisation 
 +  ​* [[:​zend-framework|Zend Framework]] : Zend Framework ​est un framework open-source ​d'une grande qualité destiné aux développements d'​applications web et de services web avec PHP. 
 +  * [[https://​www.codeigniter.com/​|CodeIgniter]] : un framework très léger et plus facile à prendre en main que Symphony et ZenFramework. 
 +  * [[:​FuelPHP]] : un successeur pour CodeIgniter ? (voir [[http://​www.novius-labs.com/​quel-framework-choisir-nous-votons-fuelphp,​29.html|l'​article de Novius labs]]) 
 +  * [[wpfr>​Atomik_Framework]]:​ le petit dernier, super léger ... peut-être trop. le projet n'est plus en développement depuis 2014.
  
-  * [[Anjuta]] : IDE complet et léger ! +=== Packages === 
-  * [[aptana_studio]] ​IDE HTML, JavaScript, AJAX. Des plugins permettent le développement PHP, Ruby on Rails. +  * [[https://​getcomposer.org|Composer]] : Gestionnaire ​de package
-  * [[Code_Blocks]] : IDE extrêmement complet et pratique. +  * [[https://packagist.org|Packagist]] : regroupe des packages utilisable ​avec composer
-  * [[Eclipse]] : IDE complet. Utilise Java. Les plugins permettent de développer dans de nombreux langages (Java, C/C++, PHP...) ! +
-  * [[eiffelstudio]] : IDE complet et libre pour ISE Eiffel. +
-  * [[Emacs]] : éditeur ​de texte. Emacs, comme son homologue vim, permet de coder dans tous les langages (et bien plus encore). Emacs est hautement personnalisable,​ c'est un véritable couteau suisse pour développeurs+
-  * [[Geany]] ​bon IDE très léger. +
-  * [[jEdit]] : éditeur de texte écrit en Java. Des dizaines de plugins permettent d'​ajouter des fonctionnalités très variées, de la gestion de projet à l'​exécution de commandes. +
-  * [[KDevelop]] : IDE complet pour KDE (légèrement difficile à prendre en main). +
-  * [[Lazarus]] : IDE multiplateforme semblable à Delphi pour le Pascal Objet. Il permet de compiler le même code source pour une multitude d'​architectures,​ de systèmes d'​exploitation et de widgetset (GTK, QT, win32/64, etc.). +
-  * [[MSEide]] : IDE multiplateforme pour le Pascal Objet. ([[http://www.msegui.org/|site]]) +
-  * [[NetBeans]] : IDE libre, complet et multiplatformes codé en Java et permettant de programmer ​avec pas mal de langages de programmation comme PHP, Java, C/C++... +
-  * [[QDevelop]] : IDE léger dédié à la programmation Qt. +
-  * [[Qt-creator]] : IDE **officiel** de la librairie QT, agréable et complet ! +
-  * [[Vim]] : éditeur léger principalement en mode texte. Il permet de coder dans tous les langages. Bien connu pour son efficacité après apprentissage,​ il est présent au moins dans sa version de base (vi) sur tous les systèmes UNIX. +
-  * [[WinDev]], [[WebDev]], [[WinDevMobile]] : IDE ou AGL complé.+
  
-Une alternative à l'​utilisation d'un EDI est le développement à l'aide d'un éditeur de texte suivi d'une compilation manuelle.+==== NodeJs ==== 
 +Basé sur JavaScript [[:​nodejs]] ​est un environnement ​d'exécution exécuté coté serveur.
  
-==== Outils de gestion de version (Versionning) ​==== +===== Le développement d'​applications ===== 
-Les outils de gestion de version (versionning) permettent ​la synchronisation facile des équipes de développementils sont même quasiment indispensables quand il s'​agit ​de travailler en équipe dispersé à travers le monde...+Cette partie concerne aussi bien la simple compilationla programmation de petits programmes que la création ​de programmes ambitieux !
  
-  * [[CVS_Server]] : +==== Compiler un programme ==== 
-  * [[:git]] - Gestionnaire de version +  * [[:compilation|Compilation]] - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml. 
-  * [[:Subversion]] - Gestionnaire de version (aussi appelé SVN) +  * [[:tutoriel:compilation|Compilation ​de logiciels]]
-  * [[:Trac]] - Environnement de suivi de projet technique basé sur [[Subversion]] +
-  * [[:bzr|Bazaar]] - Gestionnaire ​de version distribué, développé par [[Canonical]] +
-  * [[:​hg_mercurial]] - Gestionnaire de version distribué +
-  * [[:CVS]] - Autre gestionnaire de version plus ancien (ancêtre de SVN)+
  
-====Outils ​de comparaison de fichiers==== +==== Création ​de paquets .deb ==== 
-  ​* ​[[:diff]] - outil de comparaison de fichiers et de création de patch. +Les [[:deb|paquets ​.deb]] sont les "​installeurs" ​de programmes d'​Ubuntu,​ ces pages vous expliquent comment les créer
-  * [[:sdiff]] - outil de comparaison de fichiers côte à côte+ 
-  * [[:meld]] - outil graphique qui compare vos fichiers et dossiers. +  * [[:projets:ecole:​paquets|Comment créer un paquet ​.deb ?]] 
-  * [[:diffuse]] - outil graphique de comparaison de fichiers. +  * [[:tutoriel:​creer_un_paquet|Comment créer un paquet à partir ​de sources compilables ?]] 
-  * [[:tkdiff]] - outil graphique (interface X11) de comparaison de fichiers. +  * [[:tutoriel:​creer_un_meta_paquet|Comment créer un méta-paquet DEB ?]]
-  * [[:xxdiff]] - outil graphique (interface X11) de comparaison de fichiers et de dossiers. +
-  * [[:kompare]] - outil graphique ​de comparaison de fichiers et dossiers. +
-  * [[:vimdiff]] - outil de comparaison de fichiers. +
-  * [[:gvimdiff]] ​outil graphique de comparaison de fichiers. +
-  * [[:kdiff3]] - outil graphique de comparaison et de merge de fichiers et dossiers.+
  
 ====Internationaliser un programme==== ====Internationaliser un programme====
  
-Voir le tutoriel [[:​tutoriel:​internationaliser_un_logiciel_libre|Comment internationaliser un logiciel libre]]. +Voir le tutoriel [[:​tutoriel:​internationaliser_un_logiciel_libre|Comment internationaliser un logiciel libre ?]].
-=====IDE pour création de logiciel multiplate-formes=====+
  
-  * [[qt]], [[qtcreator]] +====Développement Android==== 
-  * [[wxWidgets]] +  * [[https://​github.com/​ubuntu/​ubuntu-make/​|Ubuntu-make]] : Projet pour rendre plus simple la configuration d'un environnement de développement pour Android.
-  * [[Lazarus]] +
-  * [[WinDev]], [[WebDev]], [[WinDevMobile]]+
  
-surcouche applicative. +**Android Studio** 
-  * [[java]]  +  * [[https://​developer.android.com/​studio|Android Studio]]: Atelier logiciel d'​applications natives Android proposé par Google 
-  * [[wpfr>XUL]] [[https://​wiki.mozilla.org/​XUL%3aIDE|Liste d'ide wiki mozilla]], XUL Gear ([[https://addons.mozilla.org/​en-US/​firefox/​addon/​162046/|site]])+ ​**Voir aussi ** 
 +  * [[android_sdk|Développer des applications pour Android]] 
 +  * [[android ​|Page « Android » de cette Documentation]] 
 +  * [[https://developer.android.com/ |documentation officielle Android]]
  
-=====L'​architecture dirigée par les modèles ou MDA (pour l'​Anglais Model Driven Architecture)===== 
-[[wpfr>​Model Driven Architecture]](wikipedia). 
- 
-explication : Un exemple typique de l'​approche MDA est la génération automatique de code source à partir d'une modélisation UML, qui suppose de combiner : 
-    * le standard UML et l'​outil de modélisation qui l'​implémente (ex : Rose, Together) 
-    * des templates de génération UML→code source et l'​outil de génération de code qui s'​appuie dessus 
-    * le tout intégré dans une '​chaîne'​ de production 
- 
-    * [[eclipse#​eclipse_et_mda|Eclipse et MDA]] : les extensions pour eclipse 
-    * [[Acceleo]] ([[http://​www.acceleo.org/​pages/​accueil/​fr|site]]) 
-    * [[Netbeans]] 
-    * [[AndroMDA]] ([[http://​www.andromda.org/​index.php|site]]) 
- 
-    * [[OpenArchitectureWare]] ([[http://​www.openarchitectureware.org/​|site]]) 
-    * [[OpenMdx]] ([[http://​www.openmdx.org/​|site]]) 
-    * ModFact ([[http://​modfact.lip6.fr/​ModFactWeb/​index.jsp|site]]) 
-    * [[OOMEGA]] ([[http://​www.oomega.net/​|site]]) 
-    * [[XDoclet]] ([[http://​www.xdoclet.org/​|site]]) 
-    * [[Jamda]] ([[http://​jamda.sourceforge.net/​|site]]) 
-    * [[Middlegen]] ([[http://​boss.bekk.no/​boss/​middlegen/​index.html|site]]) 
- 
-    * Liste [[http://​en.wikipedia.org/​wiki/​Model-driven_development#​Tools|MDD (Model Driven Development,​ développement piloté par les modèles)]] 
-    * MDAD (Model Driven Application Development,​ développement d'​application piloté par les modèles) 
- 
-Voir aussi [[http://​www.delicious.com/​search?​p=model+driven&​chk=&​context=main|&​fr=del_icio_us&​lc=|sur delicicious]],​ [[http://​www.modelbased.net/​mda_tools.html|MDA tools]] 
 ===== Développement de jeux vidéo ===== ===== Développement de jeux vidéo =====
-  * Voir la page [[developpement de jeux video]]+//Voir la page [[:developpement de jeux video|Développement de jeux vidéo]]//
  
 ===== Logiciels et utilitaires (par langages) ===== ===== Logiciels et utilitaires (par langages) =====
 ==== Les outils de base de données ==== ==== Les outils de base de données ====
   * [[:​DbVisualizer]] - Outil générique de connexion aux bases de données   * [[:​DbVisualizer]] - Outil générique de connexion aux bases de données
- 
-==== C/C++/Qt ==== 
-Nous vous invitons à consulter le [[support programmation C]] mis à votre disposition : 
-  * [[:​Kdevelop]] - IDE C++ très complet avec débogueur intégré. 
-  * [[:​eclipse#​installation_du_support_de_c|Eclipse-CDT]] 
-  * [[:Anjuta]] 
-  * [[:​Anjuta-Opencv]] 
-  * [[:​code_blocks|Code::​Blocks]] - IDE de type Dev-C++. 
-  * [[Qt-Creator]] - l'IDE par excellence pour développer en Qt : débogueur, auto-complétion,​ facilité de prise en main... 
-  * [[:​edyuk|Edyuk]] - IDE C++/Qt4 très complet avec débogueur intégré. 
-  * [[:​Qdevelop]] - IDE C++/Qt4 plutôt complet avec débogueur intégré ([[http://​biord-software.org/​fr/​qdevelop/​|site]]) 
-  * [[:​MonoDevelop]] - Logiciel permettant le développement d'​applications C#, VB.NET mais aussi C++ et Java. S'​utilise comme Visual Studio. 
-==== HTML / XHTML / CSS ==== 
- 
-**Éditeurs WYSIWYG**: 
- 
-Le [[wpfr>​WYSIWYG]] est le fait de voir directement ce que l'on édite au format final, c'​est-à-dire que ce que vous éditez ressemble fortement au résultat final publié. 
- 
-  * [[Kompozer]],​ éditeur HTML (conseillé pour les débutants en création de site web) ; 
-  * [[BlueGriffon]],​ éditeur HTML supportant les plus récentes technologies Web (HTML5, CSS3), certains add-ons sont payants ; 
-  * [[Amaya]], édition XHTML conçu par le [[wpfr>​World_Wide_Web_Consortium|W3C]] et l'​[[wpfr>​INRIA]] avec visualisation des animations svg ; 
-  * [[Dreamweaver]],​ éditeur HTML payant. 
- 
-**Éditeurs non-WYSIWYG**:​ 
- 
-  * [[Bluefish]],​ éditeur de texte orienté vers le développement web ; 
-  * [[OpenOffice.org]] Writer et [[LibreOffice]] Writer, peuvent permettre de créer des pages html simples et rapidement ; 
-  * [[quanta|Quanta+]] ; 
-  * [[Geany]], éditeur léger et rapide utilisant GTK2 ; 
-  * [[Gedit]], éditeur de texte simple, inclus dans GNOME, gérant la coloration syntaxique pour l'​édition de codes sources (HTML, XHTML, C/C++, Java…) ; 
-  * [[Kate]], éditeur de texte à tout faire, inclus dans KDE, gérant la coloration syntaxique pour l'​édition de la plupart des codes sources ; 
-  * [[Cssed]], éditeur et validateur de feuilles de style CSS ; 
-  * [[Emacs]]; éditeur de texte à tout faire, gérant également la coloration syntaxique pour l'​édition de codes sources de quasiment tous les types ; l'​extension [[nxhtml|nXhtml]] apporte complétion et validation xhtml. 
-  * [[w3c-markup-validator]],​ validateur HTML ; 
-  * [[Komodo Edit]], éditeur (HTML, CSS, RUBY, PYTHON…) simple et performant ; 
-  * [[Aptana Studio]], éditeur HTML, CSS, XSLT permettant de travailler via FTP comme Dreamweaver. 
- 
-//Voir aussi les "​Éditeurs de texte multi-langages"​ ci-dessous.//​ 
- 
-==== Éditeurs de texte multi-langages===== 
-  * [[:Emacs]] - Éditeur de texte très puissant mais long à maîtriser. 
-  * [[:Vim]] - Éditeur de texte très puissant mais long à maîtriser. 
-  * [[:Geany]] - EDI(([[wpfr>​Environnement_de_développement_intégré|Environnement de développement intégré]])) léger et multi-langages. 
-  * [[:SciTE]] - Éditeur de texte léger et performant. 
-  * [[:Nano]] - Un éditeur en console facile à maîtriser et performant. 
-  * [[:gEdit]] - Editeur de texte léger, assez performant et plutôt configurable. 
- 
-//Voir aussi les "​Éditeurs non-WYSIWYG"​ ci-dessus.//​ 
- 
-==== Interfaces GTK+ 2 ==== 
-  * [[Anjuta]]/​[[:​Glade]] - AGL permettant de créer des interfaces GTK+ 2 pour vos applications 
-  * [[Lazarus]] - IDE permettant de compiler le code source d'un programme pour plusieurs widgetset, dont GTK+ 2. 
-==== Java ==== 
-  * [[:Java]] - Comment installer le support Sun Java //(JRE)// (installation,​ exécution des « .jar » et plugin de Mozilla Firefox) ? 
-  * [[:​NetBeans]] - Comment installer l'​environnement de développement intégré NetBeans (l'IDE de Sun) ? Avec concepteur de fenêtre intégré 
-  * [[:​Eclipse]] - Comment installer l'​environnement de développement intégré Eclipse ? 
-  * [[:​jbuilder2005|JBuilder 2005]] - Comment installer l'​environnement de développement intégré Borland JBuilder 2005 ? 
-  * [[:jEdit]] - Installer jEdit (traduction,​ plugins, etc.) 
-  * [[:​iReport]] - 
-  * [[:geany]] - simple d'​utilisation ​ 
- 
-==== Pascal ==== 
- 
-  * [[:​Lazarus]] - IDE basé sur Free Pascal et semblable à Delphi 
-  * [[MSEide]] - Autre IDE basé sur Free Pascal ([[http://​www.msegui.org/​|site]]) 
-  * [[:fpc]] - Compilateur Free Pascal 
-  * [[:gpc]] - Compilateur Pascal GNU 
- 
-==== PHP ==== 
-===Serveur=== 
-  * [[apache]] 
-  * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php) 
- 
-===Éditeur=== ​ 
-  * [[:Geany]] : éditeur simple, léger mais avec de nombreuses fonctionnalités. (interface GTK+) 
-  * [[:​Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+)  
-  * [[:​gPHPEdit]] : éditeur syntaxique orienté PHP. 
-  * [[:​eclipse#​installation_du_support_pour_php|PHP-Eclipse]] : cet environnement de développement sous forme de plugin PHP pour Eclipse permet un débuggage avancé des scripts avec gestion de projets... (interface Java) + des générateurs de code (MBA) à partir de diagramme UML. 
-  * [[Netbeans PHP]] 
- 
-===Framework=== ​ 
-  * [[symfony]] : framework PHP très en vogue 
-  * Jelix : framework PHP français assez léger et assez simple d'​utilisation 
-  * [[:​zend-framework|Zend Framework]] : Zend Framework est un framework open-source d'une grande qualité destiné aux développements d'​applications web et de services web avec PHP. 
-  * [[CodeIgniter]] : un framework très léger et plus facile à prendre en main que Symphony et ZenFramework. (voir la [[http://​social.hecube.net/​2009/​05/​framework-php-quel-framework-choisir-entre-codeigniter-cakephp-symphony-zend/​|revue de Hecube]]) 
-  * [[FuelPHP]] : un successeur pour CodeIgniter ? (voir [[http://​www.novius-labs.com/​quel-framework-choisir-nous-votons-fuelphp,​29.html|l'​article de Novius labs]]) 
-  * [[Atomik]] : le petit dernier, super léger ... peut-être trop. Vous pouvez vous faire une idée avec l'​[[http://​www.siteduzero.com/​informatique/​tutoriels/​atomik-framework-un-framework-php-simple-et-leger|article du site du zéro]]. 
- 
-===Cache PHP=== 
-  * [[:​php-APC|APC]] 
-  * [[eAccelerator]] 
-  * [[XCache]] 
- 
-==== Python ==== 
-  * [[:​IPython]] - Shell pour Python amélioré. 
-  * [[eclipse#​eclipse_pour_python|PyDev]] - Greffon d'​[[:​Eclipse]] dédié au développement de projets en Python. 
-  * [[:Eric]] - [[http://​eric-ide.python-projects.org/​|Eric Python IDE]] - Comment installer l'​éditeur Python Eric. 
-  * [[:geany]] - Un EDI léger et rapide utilisant GTK2. 
-  * [[:SPE]] - Comment installer l'​[[http://​pythonide.stani.be/​|éditeur Python SPE]]. 
-  * [[:​wingware|WingIDE]] - Environnement de développement professionnel dédié au développement de projets en Python. 
-   ​*[[gEcrit]] [[http://​gecrit.sourceforge.net/​]] - Nouvel IDE pour Python. 
-   ​*[[spyder|Spyder]] - **__S__cientific __PY__thon __D__evelopment __E__nvi__R__onment** 
-==== Ruby ==== 
-  * [[NetBeans]]:​ IDE libre, complet et multiplatformes codé en Java et permet de programmer avec pas mal de langages de programmation comme Ruby,​PHP,​Java,​C/​C++,​.. 
-  * [[aptana_studio]]: ​ IDE HTML, JavaScript, AJAX. Des plugins permettent le développement PHP, Ruby on Rails. 
-  * [[:geany]] - Un EDI léger et rapide utilisant GTK2. 
-  * [[http://​arcadia.rubyforge.org/​|Arcadia IDE]]  - IDE en TCL/TK et dedié à ruby, possède un debogueur. Accessible depuis gem ou sur rubyforge 
-  * [[:​rubyonrails|Ruby on Rails]] : Rails est un framework open-source d'une grande qualité destiné aux développements d'​applications et services web en Ruby.  
- 
-==== Script shell ==== 
-  * [[:​tutoriel:​script_shell|Script shell]] - Introduction au script shell 
-==== UML ==== 
-  * [[:​Umbrello]] - un modeleur UML pour KDE 
-  * [[:dia]] - Créateur de diagramme pour gnome 
-  * [[:​ArgoUML]] - Outil de modélisation UML 
-  * [[:Gaphor]] - Autre outil UML 
-  * [[:bouml]] - Autre outil UML, permet l'​export du modèle uml en C++, Java, Idl, Php et Python. 
-==== XML ==== 
-  * [[:Xslt]] - Les processeurs XSLT. 
- 
-==== Microsoft .NET / C# / VB .NET ==== 
-  * [[:​MonoDevelop]] - Logiciel permettant le développement d'​applications C#, VB.NET mais aussi C++ et Java 
-  * [[:Mono]] - Comment installer Mono 1.1.x ? (implémentation libre de la plate-forme de développement Microsoft .NET) 
  
 ==== Cross compilation Linux - Windows ==== ==== Cross compilation Linux - Windows ====
- +//[[:/​tutoriel/​comment_utiliser_mingw32_pour_faire_des_executables_windows | MingW32]] - Cross Compilateur permettant le développement sous Linux d'​applications **C** à exécuter sous Windows//
-  * [[:/​tutoriel/​comment_utiliser_mingw32_pour_faire_des_executables_windows | MingW32]] - Cross Compilateur permettant le développement sous Linux d'​applications **C** à exécuter sous Windows +
-  * [[Lazarus]] - IDE supportant la cross compilation à partir de et vers une multitude de plateformes (dont de Linux à Windows). +
-==== Gambas ==== +
-  * [[:Gambas]] - Présentation de l'IDE Gambas (IDE proche de Visual Basic). +
- +
-==== FLASH ==== +
-//Voir le portail "​[[Flash]]"​.//+
  
 ==== Calcul formel ==== ==== Calcul formel ====
-   ​*[[Maxima]] ​(dans les dépôts officiels) +   *[[:Maxima]] 
-   ​*[[GIAC-Xcas]] +   *[[:GIAC-Xcas]] 
-   ​*[[Yacas]] +   *[[:Yacas]] 
-   ​*[[Pari]] +   *[[:Pari]] 
-   ​*[[Euler]]+   *[[:Euler]] 
 +   ​*[[:​SageMath]]
  
 +==== Virtualisation ====
  
-==== à trier ==== +Les outils présentés ici sont utilisés pour virtualiser un environnement tel qui peut l'​être dans les applications client/​serveur.
-à trier FIXME+
  
-^ Logiciel ^ Description ^ +  * [[:docker]] - utilise le noyau de l’hôte ​pour virtualiser des services ou des applications dans des conteneurs
-[[:Aptana_Studio]] | Editeur qui se rapproche du mode code de Dreamweaver |  +  ​* ​[[:vagrant]] - utilise ​[[:virtualbox]] ou [[vmware|VMware]] pour émuler une "​box"​ (l'image d'une machine pré-paramétré) [[wpfr>​Vagrant]]
-| [[:​Eclipse]] | Environnement de développement qui peut être utilisé ​pour les langages web (PHP, Xhtml, Javascript, CSS...) grâce à des greffons de qualité| +
-|[[:Netbeans]] | Environnement de développement qui peut être utilisé pour les langages web (PHP, Xhtml, Javascript, CSS...) Ide très performant avec de multiple extension facile à installer. | +
-[[:ezPublish]] | | +
-[[:Firebug]] | Tres bonne extension de Firefox qui permet d'éditer, debugger, ​ monitorer du CSS, HTML, et du JavaScript live.   | +
-| [[:Harpia]] | Permet de développer des applications de traitement ​d'images de manière simple et totalement graphique. ​ | +
-| [[:Mozilla Composer]] | Editeur WYSIWYG | +
-| [[http://​www.openkomodo.com/​|OpenKomodo]] | Editeur avec browser intégré, génial avec auto completion. | +
-| [[:Quanta]] | Environnement de développement Web qui prend en charge la plupart des langages utilisés sur le Web (XHTML, PHP, Javascript, CSSKDE | +
-[[:Screem]] | Développement web, éditeur gnome pour html et xml, le programme a des problèmes avec Ubuntu 8.04 |+
  
 ==== Autres ==== ==== Autres ====
-  * [[:cvs_server]] - Installation ​d'un serveur CVS +  * [[:sdl]] - une bibliothèque permettant de réaliser des fenêtres, elle possède ​d'autres modules tel que l'​image,​ le son, les polices ​d'écriture via freetype2.
-  * [[:CVS]] - Installation et utilisation ​d'un client cvs +
-  * [[:​tutoriel:​creer_un_paquet]] - Comment créer un paquet à partir de sources compilables ? +
-  * [[:​tutoriel:​creer_un_meta_paquet]] - Comment créer un méta-paquet DEB ? +
-  * [[:sdl]] - Comment utiliser la SDL en C ?+
   * [[:fmod]] - Comment utiliser la fmod en C/C++ ?   * [[:fmod]] - Comment utiliser la fmod en C/C++ ?
   * [[:​programmation_sur_livecd|programmation_sur_livecd]] - Comment programmer sur un live CD ?   * [[:​programmation_sur_livecd|programmation_sur_livecd]] - Comment programmer sur un live CD ?
  
 ===== Les outils d'​analyse et d'​optimisation du code ===== ===== Les outils d'​analyse et d'​optimisation du code =====
-Aller sur [[:​analyseur_de_code_static|la pages des analyseurs de code static]]+//Voir la page [[:​analyseur_de_code_static|analyseurs de code static]]//
  
-=====Ressources=====+===== Reverse engineering ​===== 
 +==== Si vous pratiquez le reverse engineering ​====
  
-====Liens internes====+  *[[android_sdk#​java_decompileur_project]],​ Observer du code JAVA par décompilation.
  
 +=====Ressources=====
 ====Liens externes==== ====Liens externes====
  
-  * [[wpfr>​Liste des algorithmes]] / [[http://​en.wikipedia.org/​wiki/​List_of_algorithms|List of algorithm]]+  * [[wpfr>​Liste des algorithmes]] / [[https://​en.wikipedia.org/​wiki/​List_of_algorithms|List of algorithm]] 
 +  * [[https://​www.developpez.com/​|www.developpez.com]] : le site propose de nombreux tutoriels de programmation à la fois sur les langages Web et les langages applicatifs. 
 +  * [[http://​devdocs.io|devdocs.io]] : propose les documentations en anglais de nombreux languages tel que HTML, PHP, C, C++...
  
 ===== Pages concernant la programmation ===== ===== Pages concernant la programmation =====
Ligne 382: Ligne 272:
 ---- ----
 ===== liens à corriger ===== ===== liens à corriger =====
-FIXME les [[http://​doc.ubuntu-fr.org/​developpement?​do=backlink|pages pointant vers l'​ancienne page "developpement"]] doivent être corrigées pour pointer vers la page "​programmation"​.+FIXME les [[:​developpement?​do=backlink|pages pointant vers l'​ancienne page "développement"]] doivent être corrigées pour pointer vers la page "​programmation"​.
  
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​Fabien26]].//​ [[utilisateurs:​Phossele]]+//​Contributeurs : [[utilisateurs:​Fabien26]].//​ [[utilisateurs:​Phossele]], [[utilisateurs:​darkjam]],​ [[utilisateurs:​Tinato]],​
  • programmation.1380786870.txt.gz
  • Dernière modification: Le 03/10/2013, 09:54
  • par 193.253.176.55