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 06/11/2021, 23:23] – [Maquettage de site avec un logiciel de mockup] 79.86.250.246programmation [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 114: Ligne 131:
  
 ==== Maquettage de site avec un logiciel de mockup ==== ==== Maquettage de site avec un logiciel de mockup ====
-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.+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)   * 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   * [[:pencilevolus|Pencil Evolution]] : outil gratuit
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]].//