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 24/01/2026, 15:26] – [EDI (Environnement de Développement Intégré)] FrancoisA30programmation [Le 12/05/2026, 03:43] (Version actuelle) – {{backlinks>.#!utilisateurs:}} {{topic>:&simplelist}} krodelabestiole
Ligne 2: Ligne 2:
  
 ====== 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) ====
 +
 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. 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.
    
Ligne 38: Ligne 43:
  
 ==== UML ==== ==== UML ====
-//Voir la page [[:uml|page sur UML]]//+ 
 +<note>Voir la page [[:UML]].</note>
  
 ==== XML ==== ==== XML ====
-//Voir la page [[:Xslt]] - Les processeurs XSLT.// 
  
-===== EDI (Environnement de Développement Intégré) ===== +<note>Voir la page [[:XSLT]] - Les processeurs XSLT.</note> 
-//Les EDI sont les principaux outils des développeurs. Ils bénéficient d'une [[:IDE|page de documentation dédiée]].//+ 
 +===== 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]].
  
 ==== É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 =====
 +
    * [[:Terminal]]    * [[:Terminal]]
    * [[:console]]    * [[:console]]
Ligne 58: Ligne 68:
  
 ===== Langages généralistes ==== ===== Langages généralistes ====
-====Python====+ 
 +==== 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.
Ligne 69: Ligne 81:
    *[[: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]]//+<note>Voir la page dédiée à [[:Python]].</note> 
 + 
 +==== 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 80: Ligne 93:
    * [[:intellij_idea|IntelliJ IDEA]] - énormément complet, gestion [[:git|Git]] intégré, et terminal inclus    * [[:intellij_idea|IntelliJ IDEA]] - énormément complet, gestion [[:git|Git]] intégré, et terminal inclus
  
-//[[:java|Voir la page dédiée à java]]//+<note>Voir la page dédiée à [[:Java]].</note>
  
 ==== 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 dédié à ruby, possède un débogueur. 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]]//+<note>Voir la page dédiée à [[:Ruby]].</note>
  
 ==== Rust ==== ==== Rust ====
  
-une excellente vidéo de présentation de **Rust** : [[https://vid.freedif.org/w/bTDSwrteuWprd7eCA8Wyfx]].+Une excellente vidéo de présentation de **[[https://rust-lang.org/|Rust]]** : //[[https://vid.freedif.org/w/bTDSwrteuWprd7eCA8Wyfx| Underscore_ - Pourquoi les devs réécrivent tout avec ce language ?]]//. 
 + 
 +<note>Voir la page dédiée à [[wpfr>Rust (langage)|Rust]] sur Wikipédia.</note>
  
 ==== C et C++ ==== ==== C et C++ ====
 +
 Voir la page [[:gcc|GCC, le jeu de compilateurs GNU]] Voir la page [[:gcc|GCC, le jeu de compilateurs GNU]]
  
Ligne 103: Ligne 120:
   * [[: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...
  
-//[[:support_programmation_c|Voir la page dédié à la programmation C/C++]]//+<note>Voir la page dédiée à la [[:support_programmation_c|programmation C/C++]].</note>
  
 ==== 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
  
Ligne 114: Ligne 132:
 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. 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#]]//\\ +<note> 
-//[[:mono|voir la page dédiée à Mono]]//+Voir la page dédiée à [[:csharp|C#]]. 
 + 
 +Voir la page dédiée à [[:Mono]]
 +</note>
  
 ===== Langages et pseudo-langages spécialisés ===== ===== Langages et pseudo-langages spécialisés =====
 +
 ==== Bases de données ==== ==== 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. 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.
  
Ligne 124: Ligne 147:
  
 ===== Web ===== ===== Web =====
-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"]].+Le développement [[:web]], création de pages internet et de script [[:PHP]], etc. 
 + 
 +<note>Voir aussi la [[:entreprise#creation_de_sites_web|sélection du portail "entreprise"]].</note>
  
 ==== 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)
Ligne 178: Ligne 203:
  
 ==== PHP ==== ==== PHP ====
-===Serveur=== 
-  * [[:apache]] 
-  * [[:lamp]] : installer un serveur LAMP (Linux, Apache, Mysql, Php) 
  
-===Éditeur=== +[[:PHP]](([[wpfr>PHP]] sur Wikipédia)) est un langage orienté [[wpfr>Common_Gateway_Interface|CGI]] très utilisé pour les [[:web#serveurs|serveurs web]].
-  * [[:Bluefish]] : éditeur syntaxique orienté PHP. (interface GTK++
  
-===Framework=== +=== Serveur === 
-  * [[:symfony]] : framework PHP très en vogue + 
-  * [[https://www.laravel.com/|Laravel]] : framework PHP riche et très populaire +  * [[:apache2|Apache]] implémente un module PHP 
-  * Jelix : framework PHP français assez léger et assez simple d'utilisation +  * [[:LAMP]] : installer un serveur [[wpfr>LAMP]] ([[:distributions|Linux]], [[:apache2|Apache], [[:MySQL]], [[: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.+ 
 +=== Éditeur === 
 + 
 +Tous les [[:IDE]] orientés [[:Web]] prennent en charge le [[:PHP]]. 
 + 
 +C'est par exemple le cas de : 
 +  * [[:Bluefish]] : éditeur syntaxique orienté PHP (interface GTK+). 
 +  * [[:Geany]] 
 +  * [[:Visual Studio Code]] 
 +  * [[:Zed]] 
 + 
 +=== Framework === 
 + 
 +  * [[:Symfony]] : un des frameworks les plus répandus 
 +  * [[https://www.laravel.com/|Laravel]] : basé sur Symfony, complet et plus facile d'utilisation, très populaire pour le développement d'[[:web#applications web]] complètes 
 +  * [[https://lumen.laravel.com/|Lumen]] : basé sur Laravel mais simplifié et beaucoup plus léger, idéal pour de petits projets 
 +  * [[https://cakephp.org/|CakePHP]] : plus ancien que Laravel, mais encore bien maintenu et utilisé 
 +  * [[https://jelix.org/fr|Jelix]] : framework PHP français assez léger et assez simple d'utilisation 
 +  * [[:zend-framework|Zend Framework]] : ancien framework longtemps [[wpfr>logiciel propriétaire|propriétaire]], libéré en 2019 
 +  * [[wpfr>PEAR]] : framework historique (plutôt une collection de bibliothèques, qui ont longtemps été intégrées aux paquets de [[:PHP]] dans les [[:distributions]])
   * [[https://www.codeigniter.com/|CodeIgniter]] : un framework très léger et plus facile à prendre en main que Symphony et ZenFramework.   * [[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]]) +  * [[https://fuelphp.com/|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.+
  
-=== Packages === +<note>Voir //[[wpfr>Liste de frameworks PHP]]// sur Wikipédia.</note> 
-  * [[https://getcomposer.org|Composer]] : Gestionnaire de package+ 
-  * [[https://packagist.org|Packagist]] : regroupe des packages utilisable avec composer+=== Dépôts === 
 + 
 +  * [[:Composer]] : gestionnaire de paquets et de dépendances
 +  * [[https://packagist.org|Packagist]] : dépôt utilisé par [[:Composer]]. Il met donc à disposition l'ensemble des applications et bibliothèques [[wpfr>logiciel libre|libres]] développées en [[:PHP]].
  
 ==== NodeJs ==== ==== NodeJs ====
Ligne 205: Ligne 247:
  
 ==== Compiler un programme ==== ==== Compiler un programme ====
-  * [[:compilation|Compilation]] - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml.+ 
 +  * [[:Compilation]] - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml.
   * [[:tutoriel:compilation|Compilation de logiciels]]   * [[:tutoriel:compilation|Compilation de logiciels]]
  
 ==== Création de paquets .deb ==== ==== Création de paquets .deb ====
 +
 Les [[:deb|paquets .deb]] sont les "installeurs" de programmes d'Ubuntu, ces pages vous expliquent comment les créer. Les [[:deb|paquets .deb]] sont les "installeurs" de programmes d'Ubuntu, ces pages vous expliquent comment les créer.
  
Ligne 215: Ligne 259:
   * [[:tutoriel:creer_un_meta_paquet|Comment créer un méta-paquet DEB ?]]   * [[:tutoriel:creer_un_meta_paquet|Comment créer un méta-paquet DEB ?]]
  
-====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 ?]].
  
-====Développement Android====+==== Développement Android ==== 
   * [[https://github.com/ubuntu/ubuntu-make/|Ubuntu-make]] : Projet pour rendre plus simple la configuration d'un environnement de développement pour Android.   * [[https://github.com/ubuntu/ubuntu-make/|Ubuntu-make]] : Projet pour rendre plus simple la configuration d'un environnement de développement pour Android.
  
Ligne 230: Ligne 275:
  
 ===== 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 [[: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
  
 ==== 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//
  
 ==== Calcul formel ==== ==== Calcul formel ====
 +
    *[[:Maxima]]    *[[:Maxima]]
    *[[:GIAC-Xcas]]    *[[:GIAC-Xcas]]
Ligne 255: Ligne 305:
  
 ==== Autres ==== ==== Autres ====
 +
   * [[: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.   * [[: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.
   * [[: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]] - Comment programmer sur un live CD ?
  
 ===== Les outils d'analyse et d'optimisation du code ===== ===== Les outils d'analyse et d'optimisation du code =====
-//Voir la page [[:analyseur_de_code_static|analyseurs de code static]]//+ 
 +//Voir la page [[:analyseur de code static]]//
  
 ===== Reverse engineering ===== ===== Reverse engineering =====
 +
 ==== Si vous pratiquez le reverse engineering ==== ==== Si vous pratiquez le reverse engineering ====
  
-  *[[android_sdk#java_decompileur_project]], Observer du code JAVA par décompilation.+  * [[android_sdk#java_decompileur_project]], Observer du code JAVA par décompilation.
  
 =====Ressources===== =====Ressources=====
 +
 ====Liens externes==== ====Liens externes====
  
Ligne 275: Ligne 329:
  
 ===== Pages concernant la programmation ===== ===== Pages concernant la programmation =====
-{{backlinks>programmation}} 
----- 
-> NE PAS SUPPRIMER -- YoBoY 
  
-{{topic>programmation}} +{{backlinks>.#!utilisateurs:}}
----- +
-===== liens à corriger ===== +
-FIXME les [[:developpement?do=backlink|pages pointant vers l'ancienne page "développement"]] doivent être corrigées pour pointer vers la page "programmation".+
  
 ---- ----
 +{{topic>:programmation&simplelist}}
  
-//Contributeurs : [[utilisateurs:Fabien26]].// [[utilisateurs:Phossele]], [[utilisateurs:darkjam]], [[utilisateurs:Tinato]],+---- 
 +//[[:Contributeurs]] : [[:utilisateurs:Fabien26]][[:utilisateurs:Phossele]], [[:utilisateurs:darkjam]], [[:utilisateurs:Tinato]], [[:utilisateurs:FrancoisA30]].//