Contenu | Rechercher | Menus

Différences

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

Lien vers cette vue comparative

Both sides previous revision Révision précédente
Prochaine révision
Révision précédente
programmation [Le 16/03/2013, 15:36]
TravellingFroggy [HTML / XHTML / CSS]
programmation [Le 06/07/2015, 16:07] (Version actuelle)
darkjam [C++]
Ligne 2: Ligne 2:
 ---- ----
  
 +<note warning>​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 extérieurs"​ vous donnera quelques sites de qualité sur la programmation </​note>​
 +===== Outils généraux =====
 +==== Outils de gestion de version (Versionning) ====
 +Les outils de gestion de version (versionning) 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 (comit). 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]]
  
 +**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 connexion. Par contre pour se synchroniser avec une branche extérieure,​ il est nécessaire d'​avoir un accès à cette branche.
 +  * [[:​bzr|Bazaar]] - Gestionnaire de versions distribuées,​ développé par [[:​Canonical]]
 +  * [[:​hg_mercurial]] - Gestionnaire de versions distribuées
 +  * [[:git]] - Gestionnaire de versions
 +  ​
  
-=====L'​apprentissage ​de la programmation===== +==== Outils de comparaison ​de fichiers ​==== 
-Programmation visuelle : +  * [[:diff]] - outil de comparaison ​de fichiers ​et de création de patchs
-   * **[[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+  * [[:sdiff]] - outil de comparaison de fichiers côte à côte
-   ​* [[algobox|AlgoBox]] : logiciel pour découvrir les algorithmes+  * [[:meld]] - outil graphique qui compare vos fichiers et dossiers. 
-   ​* [[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+  [[:diffuse]] - outil graphique ​de comparaison de fichiers
-   ​* [[Turtle Art]] ([[http://​wiki.laptop.org/​go/​Turtle_Art|site]]: environnement ​de programmation graphique+  * [[:tkdiff]] - outil graphique ​(interface X11) de comparaison de fichiers
-   ​* [[KTurtle ]] ([[http://​edu.kde.org/​kturtle/​|site]]), une initiation très sympathique ​(plutôt pour les enfants, mais pas quevia le fameux logo+  * [[:xxdiff]] - outil graphique ​(interface X11de comparaison de fichiers et de dossiers
-   ​* [[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+  * [[:kompare]] - outil graphique de comparaison de fichiers ​et dossiers
-   ​* [[App inventor]] (de Google) ([[http://​appinventor.googlelabs.com/​learn/​setup/​setuplinux.html|site]])+  * [[:vimdiff]] - outil de comparaison de fichiers. 
-   ​* [[squeak]] : langage ​de programmation à la souris, orienté objet, basé sur Smaltalk ​et à visée éducative.+  * [[:gvimdiff]] - outil graphique de comparaison de fichiers
 +  * [[:kdiff3]] - outil graphique ​de comparaison ​et de merge de fichiers et dossiers.
  
-Des ressources libres : 
-   * [[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]]. 
-   * [[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]]. 
-   * [[le_monde_du_libre#​universites_et_communautes_pedagogiques|Universités et communautés pédagogiques]]. 
-   * [[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). 
  
-Voir aussi le portail [[education]].+==== UML ====
  
-====Langage C / C++====+  * [[:​Umbrello]] - un modeleur UML pour KDE 
 +  * [[:dia]] - Créateur de diagrammes pour gnome 
 +  * [[:​ArgoUML]] - Outil de modélisation UML. Logiciel en java, téléchargable : [[http://​argouml.tigris.org/​|site]] 
 +  * [[:bouml]] - Autre outil UML, permet l'​export du modèle uml en C++, Java, Idl, Php et Python. Présent dans les dépôts jusqu'​à Precise (12.04LTS). 
 +==== XML ==== 
 +  * [[:Xslt]] - Les processeurs XSLT.
  
 +===== Environnement de Développement Intégré =====
 +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.
  
-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)+Web HTML, CSS, Javascript
  
-Livre : [[http://www.framabook.org/c20h.html|Le C en 20 heures]] (framabook), [[http://fr.wikibooks.org/wiki/Programmation_C|Programmation C sur wikibook]]+{{icons:icon-ubuntu.png?​nolink20}} : dépôt officiel : installation simple. 
 + 
 +{{icons:​important.png?​nolink20}} : installation manuelle : peu être compliquée pour un débutant. 
 + 
 +{{icons:​process-stop.png?​nolink20}} : non disponible. 
 + 
 +==== EDI généralistes ==== 
 +^ EDI ^ Langages ^ Dépôt ^ PPA ^ Téléchargement \\ Compilation ^ Notes ^ 
 +[[:Anjuta]] | C, C++, Java, Python | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​important.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} | Version obsolète dans les dépôts \\ S’intègre bien dans Gnome (GTK) | 
 +| [[:​aptana_studio]] | Web, Python, PHP, Ruby | {{icons:​process-stop.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} | {{icons:​important.png?​nolink20}} | Existe aussi en tant que plugins pour [[:​Eclipse]] | 
 +| [[:​Code_Blocks]] ​| C, C++, Fortan, Python | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​important.png?​nolink20}} | {{icons:​important.png?​nolink20}} | IDE orienté C, C++ et bibliothèques\\ Extensible par plugins | 
 +| [[:​Eclipse]] | Java, C, C++, Web, PHP, Python, Ruby | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} | {{icons:​important.png?​nolink20}} | Version obsolète dans les dépôts \\ Par défaut ​en java, demande l'​installation de plugins pour les autres langages | 
 +| [[:Geany]] | WebC, C++, JAVA, PHP, Python, Ruby... | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} |{{icons:​important.png?​nolink20}} | IDE très léger et polyvalent. Il est aussi considéré comme un éditeur de texte | 
 +| [[:jEdit]] | Web, C, C++, JAVA, PHP, Python... | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} |{{icons:​important.png?​nolink20}} | é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]] | C, C++, Java, Python, Ruby, Perl, Fortran, ADA, PHP | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​important.png?​nolink20}} | {{icons:​important.png?​nolink20}} | IDE très complet avec débogueur intégré. | 
 +| [[:​NetBeans]] | Web, C, C++, JAVA, PHP, Ruby | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} |{{icons:​important.png?​nolink20}} | IDE libre, complet et multiplate-formes codé en Java | 
 +| [[:​MonoDevelop]] | C#, .NET, C++, Java | {{icons:​icon-ubuntu.png?​nolink20}} | {{icons:​important.png?​nolink20}} | {{icons:​process-stop.png?​nolink20}} | S'​utilise comme Visual Studio.| 
 + 
 +  * [[:​eiffelstudio]] : IDE complet et libre pour ISE Eiffel. 
 + 
 + 
 +==== Éditeur de texte==== 
 +Une alternative à l'​utilisation d'un EDI est le développement à l'aide d'un éditeur de texte suivi d'une compilation manuelle. 
 +  * [[:Emacs]] - Éditeur de texte très puissant mais long à maîtriser. 
 +  * [[:Vim]] - Éditeur de texte très puissant mais long à maîtriser. 
 +  * [[:SciTE]] - Éditeur de texte léger et performant. 
 +  * [[:Nano]] - Un éditeur en console facile à maîtriser. 
 +  * [[:gEdit]] - Éditeur de texte léger, assez performant et plutôt configurable. 
 +  * [[:Kate]] - Éditeur de texte à tout faire, inclus dans KDE, gérant la coloration syntaxique pour l'​édition de la plupart des codes sources ; 
 +  * [[https://​atom.io/​|Atom]] - Éditeur de texte léger avec de nombreux plugins. Aussi disponible via un [[:PPA]] fourni par [[https://​launchpad.net/​~webupd8team/​+archive/​ubuntu/​atom|WebUpd8 team]]. 
 +  * [[http://brackets.io/​|Brackets]] - Éditeur de texte légerAussi disponible via un [[:PPA]] fourni par [[https://launchpad.net/​~webupd8team/​+archive/​ubuntu/​brackets|WebUpd8 team]].
  
-====Unix et Terminal console====+===== Système =====
  
-   * [[Terminal]] +   * [[:Terminal]] 
-   * [[console]] +   * [[:console]] 
-   * [[liste des applications console]]+   * [[:liste des applications console]] 
 +   * [[:​tutoriel:​script_shell|Script shell]] - Introduction au script shell
 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]] 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]]
  
 +===== Langages généralistes ====
 ====Python==== ====Python====
  
-   * [[Acire]] : un outil graphique d'aide à l'​apprentissage de la programmation en 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. +   * [[:kiki]] : un outil pour tester et apprendre les expressions ​rationnelles ​de Python. 
-   * [[idle]] : un éditeur facile à prendre en main. +   * [[: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. +   * [[:RUR-PLE]] : un environnement d'​apprentissage de la programmation Python de manière amusante, en programmant un robot. 
-   * [[http://www.france-ioi.org/|France-ioi]] : Site de programmation ​Python de manière ludique.+   * [[http://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]] - [[http://​eric-ide.python-projects.org/|Eric Python IDE]] Comment installer l'​éditeur Python Eric. 
 +   * [[: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** 
 ====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 ?
 +   * [[:​iReport]] ​
 +   * Tutoriel sur les bases de Java : [[http://​openclassrooms.com/​courses/​apprenez-a-programmer-en-java| Apprenez à programmer en Java]] sur l'ex site du zéro, OpenClassrooms.
  
-   * [[Eclipse]] : un environnement très complet, notamment pour le langage Java.+==== Ruby ==== 
 +  ​* [[:​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
  
-===== Le développement Web =====+==== C++ ==== 
 +Cours:  
 + 
 +[[https://​www.youtube.com/​channel/​UCS2e0hEJMhwd6bNscS60xTg/​videos|Formation en vidéo sur le langage C]] (par [[http://​doc.ubuntu-fr.org/​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]] (OpenClassrooms,​ ex Site du Zéro) 
 + 
 +Nous vous invitons à consulter le [[:support programmation C]] mis à votre disposition : 
 +  * [[:​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]]) 
 + 
 +==== Pascal ==== 
 + 
 +  * [[:​Lazarus]] - IDE basé sur Free Pascal et semblable à Delphi 
 +  * [[:fpc]] - Compilateur Free Pascal 
 +  * [[:gpc]] - Compilateur Pascal GNU 
 + 
 + 
 +==== Microsoft .NET / C# / VB .NET ==== 
 +  * [[:Mono]] - Comment installer Mono? (implémentation libre de la plate-forme de développement ​Microsoft .NET) 
 + 
 + 
 +===== 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.
 +
 +Cours : [[https://​www.youtube.com/​watch?​v=864l7IeIvXA&​list=PLVwwX16606JUa95xmLYvi1YBgiVPLHvtt|Formation au développement web en vidéo]] (HTML 5, CSS 3 , PHP, SQL, JavaScript et XML) par [[http://​doc.ubuntu-fr.org/​utilisateurs/​naoki|Naoki]]
  
 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 ==== 
-//Voir le paragraphe "​[[programmation#​HTML / XHTML / CSS|HTML/​XHTML/​CSS]]"​ ci-dessous.//​ 
  
 ==== 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 (alternative libre au Flash) 
-  * [[Flash]] : création d'​animations Flash+  * [[:Flash]] : création d'​animations Flash
  
 ==== 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 ====
Ligne 93: Ligne 175:
  
 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. 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.
-===== 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 ==== 
-  * [[:​compilation|Compilation]] - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml. 
-  * [[:​tutoriel:​compilation|Compilation de logiciels]] 
- 
-==== Création de paquets .deb ==== 
-Les paquets .deb sont les "​installeurs"​ de programmes d'​Ubuntu,​ ces pages vous expliquent comment les créer. 
- 
-  * [[:​projets:​ecole:​paquets|Comment créer un paquet .deb]] 
- 
-==== IDE - EDI : écrire, compiler et déboguer un programme ==== 
- 
-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. 
- 
-  * [[Anjuta]] : IDE complet et léger ! 
-  * [[aptana_studio]] : IDE HTML, JavaScript, AJAX. Des plugins permettent le développement PHP, Ruby on Rails. 
-  * [[Code_Blocks]] : IDE extrêmement complet et pratique. 
-  * [[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. 
- 
-Une alternative à l'​utilisation d'un EDI est le développement à l'aide d'un éditeur de texte suivi d'une compilation manuelle. 
- 
-==== Outils de gestion de version (Versionning) ==== 
-Les outils de gestion de version (versionning) permettent la synchronisation facile des équipes de développement,​ ils sont même quasiment indispensables quand il s'agit de travailler en équipe dispersé à travers le monde... 
- 
-  * [[CVS_Server]] : 
-  * [[:git]] - Gestionnaire de version 
-  * [[:​Subversion]] - Gestionnaire de version (aussi appelé SVN) 
-  * [[: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==== 
-  * [[:diff]] - outil de comparaison de fichiers et de création de patch. 
-  * [[:sdiff]] - outil de comparaison de fichiers côte à côte. 
-  * [[:meld]] - outil graphique qui compare vos fichiers et dossiers. 
-  * [[:​diffuse]] - outil graphique de comparaison de fichiers. 
-  * [[:tkdiff]] - outil graphique (interface X11) de comparaison de fichiers. 
-  * [[: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==== 
- 
-Voir le tutoriel [[:​tutoriel:​internationaliser_un_logiciel_libre|Comment internationaliser un logiciel libre]]. 
-=====IDE pour création de logiciel multiplate-formes===== 
- 
-  * [[qt]], [[qtcreator]] 
-  * [[wxWidgets]] 
-  * [[Lazarus]] 
- 
-surcouche applicative. 
-  * [[java]] ​ 
-  * [[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]]) 
- 
-=====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 ===== 
-  * Voir la page [[developpement de jeux video]] 
- 
-===== Logiciels et utilitaires (par langages) ===== 
-==== Les outils de base 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 ==== ==== 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é. 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) ; +  * [[: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 ; +  * [[:​Seamonkey]],​ éditeur HTML et navigateur web ensemble; 
-  * [[Amaya]], édition XHTML conçu par le [[wpfr>​World_Wide_Web_Consortium|W3C]] et l'​[[wpfr>​INRIA]] avec visualisation des animations svg ; +  * [[:BlueGriffon]],​ éditeur HTML supportant les plus récentes technologies Web (HTML5, CSS3), ​avec des add-ons ​pour des fonctions de base payants ; 
-  * [[Dreamweaver]],​ éditeur HTML payant.+  * [[: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. 
 +  * [[:​Firebug]] | Très bonne extension de Firefox qui permet d'​éditer,​ debugger, ​ monitorer du CSS, HTML, et du JavaScript live. 
 +  * [[:​LibreOffice]] Writer, permet de créer des pages html simples et rapidement ; 
 +  * [[:Cssed]], éditeur et validateur de feuilles de style CSS ; 
 +  * [[:​w3c-markup-validator]],​ validateur HTML ; 
 +  * [[:Komodo Edit]], éditeur (HTML, CSS, RUBY, PYTHON…) simple et performant ;
  
-**É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 ==== 
-  * [[:Glade]] - Logiciel 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 ==== ==== PHP ====
 ===Serveur=== ===Serveur===
-  * [[apache]]+  * [[:apache]]
   * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php)   * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php)
  
 ===Éditeur=== ​ ===Éditeur=== ​
-  * [[:Geany]] : éditeur simple, léger mais avec de nombreuses fonctionnalités. (interface GTK+) 
   * [[:​Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+)    * [[:​Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+) 
   * [[:​gPHPEdit]] : éditeur syntaxique orienté PHP.   * [[:​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=== ​ ===Framework=== ​
-  * [[symfony]] : framework PHP très en vogue+  * [[:symfony]] : framework PHP très en vogue
   * Jelix : framework PHP français assez léger et assez simple d'​utilisation   * 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.   * [[:​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]]) +  * [[: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]]) +  * [[: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]].+  * [[:Atomik]] : le petit dernier, super léger ... peut-être trop. Vous pouvez vous faire une idée avec l'​[[http://​openclassrooms.com/courses/​atomik-framework-un-framework-php-simple-et-leger|article du site du zéro]].
  
 ===Cache PHP=== ===Cache PHP===
   * [[:​php-APC|APC]]   * [[:​php-APC|APC]]
-  * [[eAccelerator]] +  * [[:eAccelerator]] 
-  * [[XCache]]+  * [[:XCache]]
  
-==== Python ==== +=== Packages ​=== 
-  * [[:IPython]] - Shell pour Python amélioré. +  * [[https://getcomposer.org|Composer]] : Gestionnaire ​de package
-  * [[eclipse#​eclipse_pour_python|PyDev]] - Greffon d'​[[:​Eclipse]] dédié au développement de projets en Python. +  * [[https://packagist.org|Packagist]] : regroupe des packages utilisable avec composer
-  * [[: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. +
-==== 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 ==== +==== NodeJs ​====
-  * [[:​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 ==== +Basé sur JavaScript [[:nodejs]] est un langage de script exécuté coté serveur. 
-  * [[:MonoDevelop]] - Logiciel permettant le développement d'​applications ​C#VB.NET mais aussi C++ et Java +===== Le développement d'​applications ===== 
-  * [[:Mono]] - Comment installer Mono 1.1.(implémentation ​libre de la plate-forme de développement ​Microsoft ​.NET)+Cette partie concerne aussi bien la simple compilation,​ la programmation de petits programmes que la création de programmes ambitieux ! 
 + 
 +==== Compiler un programme ​==== 
 +  * [[:compilation|Compilation]] - Indique comment installer les compilateurs ​C, C++Java, Fortran, Pascal et Ocaml. 
 +  * [[:tutoriel:​compilation|Compilation de logiciels]] 
 + 
 +==== Création de paquets ​.deb ==== 
 +Les paquets ​.deb sont les "​installeurs"​ de programmes d'​Ubuntu,​ ces pages vous expliquent comment les créer. 
 + 
 +  * [[:​projets:​ecole:​paquets|Comment créer un paquet .deb]] 
 +  * [[:​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 ? 
 + 
 +====Internationaliser un programme==== 
 + 
 +Voir le tutoriel [[:​tutoriel:​internationaliser_un_logiciel_libre|Comment internationaliser un logiciel ​libre]]. 
 + 
 +====Développement Androïd==== 
 +  * [[https://​github.com/​ubuntu/​ubuntu-make/​|Ubuntu-make]] : Projet pour rendre plus simple la configuration d'un environnement ​de développement ​pour Androïd. 
 + 
 +===== Développement de jeux vidéo ===== 
 +  * Voir la page [[:​developpement de jeux video]] 
 + 
 +===== Logiciels et utilitaires (par langages===== 
 +==== Les outils de base de données ==== 
 +  * [[:​DbVisualizer]] - Outil générique de connexion aux bases de données
  
 ==== 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 ====
   * [[:Gambas]] - Présentation de l'IDE Gambas (IDE proche de Visual Basic).   * [[: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]] (dans les dépôts officiels) 
-   ​*[[GIAC-Xcas]] +   *[[:GIAC-Xcas]] 
-   ​*[[Yacas]] +   *[[:Yacas]] 
-   ​*[[Pari]] +   *[[:Pari]] 
-   ​*[[Euler]]+   *[[:Euler]]
  
 +==== 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 ​pour émuler une "​box" ​(l'image d'une machine pré-paramétré
-| [[:​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 
-  * [[: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 ?   * [[:sdl]] - Comment utiliser la SDL en C ?
   * [[:fmod]] - Comment utiliser la fmod en C/C++ ?   * [[:fmod]] - Comment utiliser la fmod en C/C++ ?
Ligne 369: Ligne 287:
  
   * [[wpfr>​Liste des algorithmes]] / [[http://​en.wikipedia.org/​wiki/​List_of_algorithms|List of algorithm]]   * [[wpfr>​Liste des algorithmes]] / [[http://​en.wikipedia.org/​wiki/​List_of_algorithms|List of algorithm]]
 +  * [[http://​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 302:
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​Fabien26]].//​ [[utilisateurs:​Phossele]]+//​Contributeurs : [[utilisateurs:​Fabien26]].//​ [[utilisateurs:​Phossele]], [[utilisateurs:​darkjam]]


Le contenu de ce wiki est sous licence : CC BY-SA v3.0