Contenu | Rechercher | Menus

L'apprentissage de la programmation

Programmation visuelle :

  • Scratch (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.
  • AlgoBox : logiciel pour découvrir les algorithmes.
  • Etoys (site) est une mise en œuvre de Squeak à de l'aide Smalltalk, un langage de programmation orienté objet.
  • Turtle Art (site) : environnement de programmation graphique.
  • KTurtle (site), une initiation très sympathique (plutôt pour les enfants, mais pas seulement) via le fameux logo.
  • Alice (site) est un logiciel libre d'éducation conçu pour enseigner aux élèves la programmation orientée objet et événementielle.
  • App inventor (de Google) (site).
  • squeak : langage de programmation à la souris, orienté objet, basé sur Smaltalk et à visée éducative.
  • Ren’Py Outil pour Créer des BD interactives et jeux-videos.

Des ressources libres :

Voir aussi le portail education.

Langage C / C++

Cours: Apprenez à programmer en C Le C++ facile (OpenClassrooms, ex Site du Zéro)

Livre : Le C en 20 heures (framabook), Programmation C sur wikibook

Unix et Terminal console

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.
  • 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.
    • Livres : Livres "Apprendre à programmer avec Python" de Gérard Swinnen sous licence Creative Commons

Java

  • Eclipse : un environnement très complet, notamment pour le langage Java.
  • Netbeans : un IDE également très complet, permettant le développement en java. Il a l'avantage d'intégrer par ailleurs un module permettant de développer en Groovy, un langage puissant, dérivant de java.

Le développement Web

Le développement web, création de pages internet et de script PHP, etc.

Voir aussi la sélection du portail "entreprise".

Éditeurs de pages web

Voir le paragraphe "HTML/XHTML/CSS" ci-dessous.

Création d'animations pour le web

  • SVG : création d'animations SVG (alternative libre au Flash)
  • Flash : création d'animations Flash

Mise en ligne du site

Voir le portail FTP.

Vérification du rendu des sites créés

Voir le portail navigateur.

PHP

Voir le paragraphe "PHP" ci-dessous.

Systèmes de gestion de contenu (CMS)

Voir le portail CMS.

Serveurs de développement web

Transformation C/C++ (ou autres ) vers javascript / html

Description du processus :

  1. compiler code (c++ par exemple ) vers LLVM. Des compilateurs : llvm-gcc, clang, …
  2. Compiler le code LLVM vers javascript
    1. Emscripten (site)
    2. llvm js backend (site) a vérifier

Html5 implémente les websockets, et une plage mémoire pour des applications web.

  • NativeClient (site)( de google ) Lancer du code natif dans une application web : nécessite un navigateur compatible :

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

Création de paquets .deb

Les paquets .deb sont les "installeurs" de programmes d'Ubuntu, ces pages vous expliquent comment les créer.

IDE - EDI : écrire, compiler et déboguer un programme

Tout d'abord, qu'est ce qu'un EDI ? Un EDI (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. (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.
  • WinDev, WebDev, WinDevMobile : IDE ou AGL complé.

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…

  • git - Gestionnaire de version
  • Subversion - Gestionnaire de version (aussi appelé SVN)
  • Trac - Environnement de suivi de projet technique basé sur Subversion
  • 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

IDE pour création de logiciel multiplate-formes

L'architecture dirigée par les modèles ou MDA (pour l'Anglais Model Driven Architecture)

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

Voir aussi &fr=del_icio_us&lc=|sur delicicious, MDA tools

Développement de jeux vidéo

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é.
  • 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 - IDE C++/Qt4 très complet avec débogueur intégré.
  • Qdevelop - IDE C++/Qt4 plutôt complet avec débogueur intégré (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

Éditeurs WYSIWYG:

Le 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) ;
  • 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 W3C et l'INRIA avec visualisation des animations svg ;
  • Dreamweaver, éditeur HTML payant.

É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 ;
  • 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 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 - EDI1) 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

  • Anjuta/Glade - AGL 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 ?
  • JBuilder 2005 - Comment installer l'environnement de développement intégré Borland JBuilder 2005 ?
  • jEdit - Installer jEdit (traduction, plugins, etc.)
  • geany - simple d'utilisation

Pascal

  • Lazarus - IDE basé sur Free Pascal et semblable à Delphi
  • MSEide - Autre IDE basé sur Free Pascal (site)
  • fpc - Compilateur Free Pascal
  • gpc - Compilateur Pascal GNU

PHP

Serveur

  • lamp : installer un serveur LAMP (Linux, Apache, Mysql, Php)

Éditeur

  • Geany : éditeur simple, léger mais avec de nombreuses fonctionnalités. (interface GTK+)
  • Bluefish : éditeur syntaxique orienté PHP. (interface GTK+)
  • gPHPEdit : éditeur syntaxique orienté 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.

Framework

  • symfony : framework PHP très en vogue
  • Jelix : framework PHP français assez léger et assez simple d'utilisation
  • 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 revue de Hecube)
  • FuelPHP : un successeur pour CodeIgniter ? (voir l'article de Novius labs)
  • Atomik : le petit dernier, super léger … peut-être trop. Vous pouvez vous faire une idée avec l'article du site du zéro.

Cache PHP

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.
  • Arcadia IDE - IDE en TCL/TK et dedié à ruby, possède un debogueur. Accessible depuis gem ou sur rubyforge
  • 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

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

  • MonoDevelop - Logiciel permettant le développement d'applications C#, VB.NET mais aussi C++ et Java
  • Mono - Comment installer Mono 1.1.x ? (implémentation libre de la plate-forme de développement Microsoft .NET)

Cross compilation Linux - 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 - Présentation de l'IDE Gambas (IDE proche de Visual Basic).

FLASH

Voir le portail "Flash".

Calcul formel

à trier

à trier FIXME

Logiciel Description
Aptana_Studio Editeur qui se rapproche du mode code de Dreamweaver
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
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, CSS) KDE
Screem Développement web, éditeur gnome pour html et xml, le programme a des problèmes avec Ubuntu 8.04

Autres

Les outils d'analyse et d'optimisation du code

Ressources

Liens internes

Liens externes

Pages concernant la programmation


NE PAS SUPPRIMER – YoBoY
Page
Acire
AlgoBox
Alice - Programmation visuelle
Amaya
AnalyseSi
Android
Android
Anjuta (IDE)
Aptana Studio
Bazaar
Bazaar Explorer
Bazaar GUI
Bluefish
BlueGriffon
Bookmarklet : Des Marques pages Scriptés
Caml Light
Cas particuliers d'empaquetage
Comment compiler un noyau sur mesure ?
Comment créer des paquets ?
Comment demander l'inclusion d'un nouveau paquet dans Ubuntu ?
Comment demander la mise à jour d'un paquet dans Ubuntu ?
Comment internationaliser un logiciel libre?
Comment programmer des applications en PYTHON sur son téléphone Nokia
Comment utiliser Git pour développer le noyau Ubuntu ?
Comment utiliser MingW32 pour faire des exécutables Windows ?
Compilation sous Ubuntu
Compiler son noyau
Cours sur Python
Création de jeux vidéo libres
Créer des interfaces graphiques avec Tkinter
Créer ses diagrammes UML avec Umbrello
Créer un environnement complet pour Netbeans
Créer un jeu de couleurs pour Gedit
Créer une loupe Unity
Cssed
CUDA
CVS : utilisation en tant que client
Deb Creator
Debian Package Maker
Debian Package Tools FE
Doxygen
Débuggage avec gdb
Démarrer un projet Web avec Symfony
E-anim
Eclipse et MySQL - SQL Explorer Plugin
Eclipse Process Framework Composer
EiffelStudio : Environnement de développement intégré Complet
Ella, logiciel d'animation 2D
Emacs : le couteau Suisse du développeur
Etoys - Programmation visuelle libre
Faire de la programmation en ADA sous Ubuntu
Fortran
Free Pascal
Gambas, le presque Visual Basic libre
Gazebo
GCC, le jeu de compilateurs GNU
GDL : GNU Data Language
Geany
Git
Glade
Glade2script
gPHPEdit
Greasemonkey - Développer la puissance du web
Groovy & Grails
GSL : GNU Scientific Library
Gtkmm
gtkradiant (Radiant): Création de carte 3D
Gui Scripts - Des logiciels pour automatiser vos machines
Gvim
Harpia
IDE : DrScheme
IDE : Eclipse
IDE : Eclipse
IDE Anjuta et OpenCV
IEs4Linux
Initiation au Shell
Initiation au XHTML
Installation classique
Installation d'uClinux via LTIB sur le module Freescale MCF5329 Fire Engine
Installation de Flex Builder
Installer et configurer Borland JBuilder 2005 Foundation
Installer MPICH2 avec Intel Fortran
Installer un serveur d'applications Zope sur Ubuntu
Installer un validateur (x)html
Introduction aux scripts shell
ipython
Irrlicht : moteur 3D libre
Java Mobile Edition (J2ME)
Java, Open JDK
Java, Open JDK
jEdit
KDevelop
Kiki, un outil de test et d'apprentissage Python
Komodo Edit
KompoZer
KToon
Langage de programmation IronPython
Langage de programmation Python
Launchpad
Lazarus
Le compilateur Pascal GNU
Les analyseurs de code static
Les systèmes de gestion de base de données (SGBD)
libNMEAParser
Macromedia Dreamweaver
Macromedia Flash
MapServer
Maven
Meego - du libre dans un smartphone
Meld : comparaison graphique de fichiers
Mercurial ( ou hg )
Mise en place d'un serveur CVS
Mono, implémentation libre de Microsoft® .NET™
MonoDevelop : Un IDE pour Mono/.NET
Netbeans
Netradiant
Nodejs
nXhtml
Objective Caml
Ogre 3D
Open CASCADE
OpenCOBOL
OpenCV
Oracle™ Database
Participer au développement d'Ubuntu
phpGroupWare
PICkit2
PixArchi
PO4A : PO for Anything
Prevu : Création de paquet pour une distribution antérieure
Projet de développement de scripts : comment l'utiliser
Projet de développement de scripts : comment participer
Prolog
Pure Data
PyQt
pyUSB
QDevelop
Qt
Qt Creator
Quanta+
Quickly
Radrails
RapidSVN
Redmine
Ren’Py
Ruby On Rails
SciTE, Scintilla Text Editor
SCOL
Scratch - La programmation visuelle
SDL : Simple DirectMedia Layer
SGC (Système de Gestion de Contenu)
Simple and Fast Multimedia Library
Simulateur robotique Player/Stage
SIP pour PYTHON
SmartEiffel : Compilateur Eiffel GNU
Soya 3D
Spyder
Stylish : Styliser le Web !
Subclipse
Subversion
Subversive
Symfony
TurtleArt - Programmation visuelle libre
UPX : the Ultimate Packer for eXecutables
Utiliser votre système Ubuntu depuis Windows
Vala : Un langage de programmation pour GNOME
Valgrind
Vi IMproved
Visual Basic (VB)
WaveMaker
Wingware Python IDE
wxWidgets - programmation d'interface multiplate-formes
XAMPP : un serveur web de développement facile
XCache
Zend Framework
Zend Studio
Zenitor 3 ou Zenity Generator 3
Zenitor ou Zenity Generator 2
Zenity Générator
Éditeurs de texte

liens à corriger

FIXME les pages pointant vers l'ancienne page "developpement" doivent être corrigées pour pointer vers la page "programmation".


Contributeurs : Fabien26. Phossele


programmation.txt · Dernière modification: Le 19/03/2014, 20:39 par 0ol
Le contenu de ce wiki est sous licence : CC BY-SA v3.0