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édentesRévision précédente
Prochaine révision
Révision précédente
programmation [Le 26/07/2021, 13:18] – liste pour un élément -> "délisté" + lien interne vers langage + indentation inutile supprimé 92.171.148.109programmation [Le 20/02/2026, 10:06] (Version actuelle) – [liens à corriger] FrancoisA30
Ligne 1: Ligne 1:
 {{tag>portail}} {{tag>portail}}
-----+
 ====== Programmation ====== ====== 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> <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 ===== ===== Outils généraux =====
-===== Documentation hors ligne =====+==== Documentation hors ligne ==== 
 +  * Documentation des logiciels et composants installés dans Ubuntu accessibles dans /usr/share/doc
   * [[:Devhelp]] : Consultation hors ligne de documentation principalement sur le développement GTK+ et GNOME.   * [[: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]]\\   * **[[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) ==== ==== Outils de gestion de version (Versionning) ====
Ligne 28: Ligne 30:
   * [[:sdiff]] - outil de comparaison de fichiers côte à côte.   * [[:sdiff]] - outil de comparaison de fichiers côte à côte.
   * [[:meld]] - outil graphique qui compare vos fichiers et dossiers.   * [[:meld]] - outil graphique qui compare vos fichiers et dossiers.
-  * [[:diffuse]] - outil graphique de comparaison de fichiers. +  * [[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)).) 
-  * [[:tkdiff]] - outil graphique (interface X11) de comparaison de fichiers. +  * [[https://sourceforge.net/projects/tkdiff/|tkdiff]] - outil graphique (interface X11) de comparaison de fichiers. 
-  * [[:xxdiff]] - outil graphique (interface X11) de comparaison de fichiers et de dossiers. +  * [[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)).) 
-  * [[:kompare]] - outil graphique de comparaison de fichiers et dossiers.+  * [[https://apps.kde.org/kompare/|kompare]] - outil graphique de comparaison de fichiers et dossiers.
   * [[:vimdiff]] - outil de comparaison de fichiers.   * [[:vimdiff]] - outil de comparaison de fichiers.
   * [[:gvimdiff]] - outil graphique de comparaison de fichiers.   * [[:gvimdiff]] - outil graphique de comparaison de fichiers.
-  * [[:kdiff3]] - outil graphique de comparaison et de merge de fichiers et dossiers. +  * [[https://apps.kde.org/kdiff3/|kdiff3]] - outil graphique de comparaison et de merge (fusionnement) de fichiers et dossiers. 
-  * [[diffmerge]] - outil graphique de comparaison et de merge.+  * [[https://sourcegear.com/diffmerge/#|diffmerge]] - outil graphique de comparaison et de merge (fusionnement).
  
 ==== UML ==== ==== UML ====
-//Voir la page [[:uml|page sur UML]]//+<note>Voir la page [[:UML]].</note>
  
 ==== XML ==== ==== XML ====
-//Voir la page [[:Xslt]] - Les processeurs XSLT.//+<note>Voir la page [[:XSLT]] - Les processeurs XSLT.</note>
  
 ===== IDE (Environnement de Développement Intégré) ===== ===== IDE (Environnement de Développement Intégré) =====
-//Les IDE sont les principaux outils des développeurs. Ils bénéficient d'une [[:IDE|page de documentation dédiée]].//+Les IDE sont les principaux outils des développeurs. Ils bénéficient d'une [[:IDE|page de documentation dédiée]].
  
 ==== Éditeur de texte==== ==== Éditeur de texte====
 Une alternative à l'utilisation d'un [[:IDE]] est l'emploi d'un éditeur de texte et d'outils complémentaires individuels. Une alternative à l'utilisation d'un [[:IDE]] est l'emploi d'un éditeur de texte et d'outils complémentaires individuels.
  
-//Voir la page [[:editeur_de_texte#editeurs_orientes_developpement|éditeurs orientés pour la programmation]].//+<note>Voir la page [[:editeur_de_texte#editeurs_orientes_developpement|éditeurs orientés pour la programmation]].</note>
  
 ===== Système ===== ===== Système =====
Ligne 56: Ligne 58:
    * [[:liste des applications console]]    * [[:liste des applications console]]
    * [[:tutoriel:script_shell|Script shell]] - Introduction au script shell    * [[: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]] 
  
 ===== Langages généralistes ==== ===== Langages généralistes ====
 ====Python==== ====Python====
-   * [[:Acire]] : un outil graphique d'aide à l'apprentissage de la programmation en Python. 
    * [[:kiki]] : un outil pour tester et apprendre les expressions rationnelles 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.
    * [[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://sourceforge.net/projects/rur-ple/|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+   * [[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é.    * [[:IPython]] - Shell pour Python amélioré.
-   * [[:Eric]] - [[http://eric-ide.python-projects.org/|Eric Python IDE]] - Comment installer l'éditeur Python Eric.+   * [[:Eric]] - Environnement de développement intégré adapté à la programmation Python et Ruby.
    * [[:SPE]] - Comment installer l'[[http://pythonide.stani.be/|éditeur Python SPE]].    * [[: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.    * [[: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)    *[[: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**    *[[:spyder|Spyder]] - **__S__cientific __PY__thon __D__evelopment __E__nvi__R__onment**
-   *[[utilisateurs:blackeco:brouillon-pycharm|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]].+   *[[:PyCharm]] est un [[:IDE]] [[:Python]] développé et édité par JetBrains basé sur la plateforme [[:intellij|IntelliJ]].
  
 //[[:python|Voir la page dédiée à python]]// //[[:python|Voir la page dédiée à python]]//
  
-====Java====+==== Java ====
    * [[:Java]] - Comment installer le support Sun Java //(JRE)// (installation, exécution des « .jar » et plugin de Mozilla Firefox) ?    * [[: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 ?    * [[:jbuilder2005|JBuilder 2005]] - Comment installer l'environnement de développement intégré Borland JBuilder 2005 ?
Ligne 85: Ligne 85:
  
 ==== Ruby ==== ==== Ruby ====
-  * [[https://arcadia-ide.org/|Arcadia IDE]]  - IDE en TCL/TK et dedié à ruby, possède un debogueur. Accessible depuis gem ou sur rubyforge+  * [[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.    * [[: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]]// //[[:ruby|Voir la page dédiée au Ruby]]//
 +
 +==== Rust ====
 +
 +une excellente vidéo de présentation de **Rust** : [[https://vid.freedif.org/w/bTDSwrteuWprd7eCA8Wyfx]].
  
 ==== C et C++ ==== ==== C et C++ ====
-Cours **(fr)**: +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]])   * [[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/apprenez-a-programmer-en-c|Apprenez à programmer en C]]
Ligne 98: Ligne 104:
 Nous vous invitons à consulter le [[:support programmation C]] mis à votre disposition : 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...   * [[: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é. 
  
 //[[:support_programmation_c|Voir la page dédié à la programmation C/C++]]// //[[:support_programmation_c|Voir la page dédié à la programmation C/C++]]//
  
 ==== Pascal ==== ==== Pascal ====
-  * [[:Lazarus]] - IDE basé sur Free Pascal et semblable à Delphi+  * [[:Lazarus]] - [[:IDE]] basé sur Free Pascal et semblable à Delphi
   * [[:fpc]] - Compilateur Free Pascal   * [[:fpc]] - Compilateur Free Pascal
  
 ==== Microsoft .NET / C# / VB .NET ==== ==== Microsoft .NET / C# / VB .NET ====
-Comment installer Mono? (implémentation libre de la plate-forme de développement Microsoft .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]]// //[[:mono|voir la page dédiée à Mono]]//
 +
 +===== Langages et pseudo-langages spécialisés =====
 +==== Bases de données ====
 +Le langage [[wpfr>Structured_Query_Language|SQL]] avec un noyau de commandes commun à [[mysql|MySQL]], [[mariadb|MariaDB]], [[sqlite|SQLite]], [[postgresql|PostgreSQL]] et aussi certaines bases propriétaires.
 +
 +En pseudo langage, il y a les [[wpfr>Mapping_objet-relationnel|ORM]] tel que, pour le [[:php|PHP]] : [[wpfr>Doctrine_(ORM)|Doctrine]], [[https://laravel.com/docs/5.0/eloquent|Eloquent]]…
  
 ===== Web ===== ===== Web =====
Ligne 122: Ligne 136:
  
 ==== 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
   * HTML5 - JavaScript (AJAX-JQuery)   * HTML5 - JavaScript (AJAX-JQuery)
-  * <del>[[:Flash]] : création d'animations Flash</del> - **OBSOLÈTE** 
  
 ==== Mise en ligne du site ==== ==== Mise en ligne du site ====
Ligne 142: Ligne 155:
 ====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 
       [[https://emscripten.org/|Emscripten]]       [[https://emscripten.org/|Emscripten]]
-      [[http://github.com/dmlap/llvm-js-backend|llvm js backend]] (à 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.
Ligne 160: Ligne 173:
   * [[:Seamonkey]], éditeur HTML (Composer) et navigateur web ensemble;   * [[:Seamonkey]], éditeur HTML (Composer) et navigateur web ensemble;
   * [[:BlueGriffon]], éditeur HTML supportant les plus récentes technologies Web (HTML5, CSS3), avec des add-ons pour des fonctions de base payants ;   * [[:BlueGriffon]], éditeur HTML supportant les plus récentes technologies Web (HTML5, CSS3), avec des add-ons pour des fonctions de base payants ;
-  * [[:Amaya]], édition XHTML conçu par le [[wpfr>World_Wide_Web_Consortium|W3C]] et l'[[wpfr>INRIA]] avec visualisation des animations svg ; 
   * **[[wpfr>Dreamweaver]]**, éditeur HTML payant, s'installe parfaitement avec [[:Wine]].   * **[[wpfr>Dreamweaver]]**, éditeur HTML payant, s'installe parfaitement avec [[:Wine]].
-  * [[: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 ;   * [[:LibreOffice]] Writer, permet de créer des pages html simples et rapidement ;
   * [[:w3c-markup-validator]], validateur HTML ;   * [[:w3c-markup-validator]], validateur HTML ;
Ligne 173: Ligne 184:
   * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php)   * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php)
  
-===Éditeur=== +===Éditeur===
   * [[:Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+)    * [[:Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK+) 
-  * [[:gPHPEdit]] : éditeur syntaxique orienté PHP. 
  
-===Framework=== +===Framework===
   * [[:symfony]] : framework PHP très en vogue   * [[:symfony]] : framework PHP très en vogue
   * [[https://www.laravel.com/|Laravel]] : framework PHP riche et très populaire   * [[https://www.laravel.com/|Laravel]] : framework PHP riche et très populaire
Ligne 191: Ligne 201:
  
 ==== NodeJs ==== ==== NodeJs ====
-Basé sur JavaScript [[:nodejs]] est un langage de script exécuté coté serveur.+Basé sur JavaScript [[:nodejs]] est un environnement d'exécution exécuté coté serveur.
  
 ===== Le développement d'applications ===== ===== Le développement d'applications =====
Ligne 218: Ligne 228:
  **Voir aussi **  **Voir aussi **
   * [[android_sdk|Développer des applications pour Android]]   * [[android_sdk|Développer des applications pour Android]]
-  * [[android |Page « Android » de cette Documentation]]  +  * [[android |Page « Android » de cette Documentation]] 
-  * [[http://developer.android.com/ |documentation officielle Android]] +  * [[https://developer.android.com/ |documentation officielle Android]]
  
 ===== Développement de jeux vidéo ===== ===== Développement de jeux vidéo =====
-//Voir la page [[:developpement de jeux video|Développement de jeux vidéo]]//+Voir la page [[:developpement de jeux video|Développement de jeux vidéo]]
  
 ===== Logiciels et utilitaires (par langages) ===== ===== Logiciels et utilitaires (par langages) =====
Ligne 232: Ligne 242:
  
 ==== Calcul formel ==== ==== Calcul formel ====
-   *[[:Maxima]] (dans les dépôts officiels)+   *[[:Maxima]]
    *[[:GIAC-Xcas]]    *[[:GIAC-Xcas]]
    *[[:Yacas]]    *[[:Yacas]]
    *[[:Pari]]    *[[:Pari]]
    *[[:Euler]]    *[[:Euler]]
-   *[[:SageMath]] (dans les depots officiels)+   *[[:SageMath]]
  
 ==== Virtualisation ==== ==== Virtualisation ====
Ligne 256: Ligne 266:
 ===== Reverse engineering ===== ===== Reverse engineering =====
 ==== Si vous pratiquez le reverse engineering ==== ==== Si vous pratiquez le reverse engineering ====
- 
-  *[[http://bokken.re|Bokken]],un framework en python basé sur Radare sous licence libre\\ 
-permet de faire de l'analyse de binaire. Il supporte les fichiers au format PE, Elf et mach0, et les architectures ARM, i386 et x86-64\\ 
  
   *[[android_sdk#java_decompileur_project]], Observer du code JAVA par décompilation.   *[[android_sdk#java_decompileur_project]], Observer du code JAVA par décompilation.
Ligne 265: Ligne 272:
 ====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]] 
-  * [[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.+  * [[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++...   * [[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 =====
 +
 {{backlinks>programmation}} {{backlinks>programmation}}
 ---- ----
Ligne 276: Ligne 284:
 {{topic>programmation}} {{topic>programmation}}
 ---- ----
-===== liens à corriger ===== 
-FIXME les [[:developpement?do=backlink|pages pointant vers l'ancienne page "developpement"]] doivent être corrigées pour pointer vers la page "programmation". 
  
----- 
  
-//Contributeurs : [[utilisateurs:Fabien26]].// [[utilisateurs:Phossele]], [[utilisateurs:darkjam]], [[utilisateurs:Tinato]],+ 
 +---- 
 +//Contributeurs : [[:utilisateurs:Fabien26]][[:utilisateurs:Phossele]], [[:utilisateurs:darkjam]], [[:utilisateurs:Tinato]], [[:utilisateurs:FrancoisA30]].//