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 07/11/2021, 22:05] – ancienne révision (Le 05/11/2021, 08:58) restaurée Amiralgabyprogrammation [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>
Ligne 6: Ligne 6:
 ===== 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 34: Ligne 36:
   * [[: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.
-  * [[https://apps.kde.org/kdiff3/|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. 
-  * [[https://sourcegear.com/diffmerge/#|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 62: Ligne 64:
    * [[: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]] - Environnement de développement intégré adapté à la programmation Python et Ruby.    * [[:Eric]] - Environnement de développement intégré adapté à la programmation Python et Ruby.
Ligne 69: Ligne 71:
    *[[: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**
-   *[[: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 83: 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 100: Ligne 108:
  
 ==== 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 138: 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 167: 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+) 
  
-===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 211: 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 255: 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 266: 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]].//