Programmation
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" vous donnera quelques sites de qualité sur la programmation.
Outils généraux
Documentation hors ligne
Devhelp : Consultation hors ligne de documentation principalement sur le développement GTK+ et GNOME.
zeal : Consultation hors ligne de documentation sur plus de 190 langages de programmation.
Site de zeal
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.
Système centralisé : Basé sur le modèle client serveur, le gestionnaire doit posséder une connexion au serveur pour effectuer des modifications sur la branche principale (commit). Il est possible d'avoir une copie locale qui permet de travailler en mode déconnecté, mais qui devra être synchronisée avec le serveur.
CVS : Gestionnaire de versions plus ancien (ancêtre de SVN)
CVS_Server : Tutoriel sur la création d'un serveur CVS
Subversion - Gestionnaire de versions (aussi appelé SVN)
-
Système distribué : Basé sur le modèle d'égal à égal, chaque machine est responsable de sa partie. Tant que l'on travaille sur sa partie, il n'est pas nécessaire d'avoir une connexion. Par contre pour se synchroniser avec une branche extérieure, il est nécessaire d'avoir un accès à cette branche.
git - Gestionnaire de versions créé par Linus Torvalds et très répandu.
-
-
Outils de comparaison de fichiers
diff - outil de comparaison de fichiers et de création de patchs.
sdiff - outil de comparaison de fichiers côte à côte.
meld - outil graphique qui compare vos fichiers et dossiers.
-
tkdiff - outil graphique (interface X11) de comparaison de fichiers.
xxdiff - outil graphique (interface X11) de comparaison de fichiers et de dossiers.
(Paquet non disponible sur Ubuntu 20.042).)
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 (fusionnement) de fichiers et dossiers.
diffmerge - outil graphique de comparaison et de merge (fusionnement).
UML
XML
Voir la page Xslt - Les processeurs XSLT.
IDE (Environnement de Développement Intégré)
Éditeur de texte
Système
Langages généralistes
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
IPython - Shell pour Python amélioré.
Eric - Environnement de développement intégré adapté à la programmation Python et Ruby.
-
WingIDE - Environnement de développement professionnel dédié au développement de projets en Python.
-
Spyder -
Scientific PYthon Development EnviRonment
-
Voir la page dédiée à python
Java
Java - Comment installer le support Sun Java
(JRE) (installation, exécution des « .jar » et plugin de Mozilla Firefox) ?
JBuilder 2005 - Comment installer l'environnement de développement intégré Borland JBuilder 2005 ?
-
eclipse - Comment installer l'
IDE Eclipse pour java
-
Voir la page dédiée à java
Ruby
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.
Voir la page dédiée au Ruby
C et C++
Pascal
Lazarus -
IDE basé sur Free Pascal et semblable à Delphi
fpc - Compilateur Free Pascal
Microsoft .NET / C# / VB .NET
Pour programmer en C# ou VB.NET sur GNU/Linux, la solution actuellement conseillée est .NET, plateforme gratuite, open source et multiplateforme.
Le framework 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.
voir la page dédiée à C#
voir la page dédiée à Mono
Langages et pseudo-langages spécialisés
Bases de données
Web
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.
Balsamiq : outil payant mais vraiment facile à prendre en main (
Page en anglais expliquant comment l'installer avec Wine)
-
Création d'animations pour le web
Mise en ligne du site
Vérification du rendu des sites créés
Systèmes de gestion de contenu (CMS)
Serveurs de développement web
XAMPP : un serveur web de développement facile
RubyOnRails: Rails est un framework de développement d'applications web basé sur le concept Modèle-Vue-Controleur (MVC).
-
Description du processus :
compiler code (c++ par exemple ) vers LLVM. Des compilateurs : llvm-gcc, clang, …
Compiler le code LLVM vers javascript
-
-
HTML5 implémente les websockets, et une plage mémoire pour des applications web.
Google_Native_Client est un logiciel de sandbox qui permet l'exécution de code natif x86 dans un environnement confiné et contrôlé par un navigateur web. (source : Wikipédia)
Le compilateur Js_of_ocaml propose une compilation presque complète depuis l'OCaml vers le JavaScript. Tous les navigateurs récents sont compatibles.
HTML / XHTML / CSS
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é.
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 ;
-
LibreOffice Writer, permet de créer des pages html simples et rapidement ;
-
Komodo Edit, éditeur (
HTML,
CSS, RUBY, PYTHON…) simple et performant ;
Sublime-Text éditeur léger reconnaissant 44 langages de programmation et permet l'ajout de fonctionnalités avec des plugins
PHP
Serveur
-
lamp : installer un serveur LAMP (Linux, Apache, Mysql, Php)
Éditeur
Bluefish : éditeur syntaxique orienté PHP. (interface GTK+)
Framework
Packages
-
Packagist : regroupe des packages utilisable avec composer
NodeJs
Basé sur JavaScript nodejs est un environnement d'exécution exécuté coté serveur.
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
Compilation - Indique comment installer les compilateurs C, C++, Java, Fortran, Pascal et Ocaml.
-
Création de paquets .deb
Les paquets .deb sont les "installeurs" de programmes d'Ubuntu, ces pages vous expliquent comment les créer.
Internationaliser un programme
Développement Android
Ubuntu-make : Projet pour rendre plus simple la configuration d'un environnement de développement pour Android.
Android Studio
Android Studio: Atelier logiciel d'applications natives Android proposé par Google
Voir aussi
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
Cross compilation Linux - Windows
MingW32 - Cross Compilateur permettant le développement sous Linux d'applications C à exécuter sous Windows
Virtualisation
Les outils présentés ici sont utilisés pour virtualiser un environnement tel qui peut l'être dans les applications client/serveur.
docker - utilise le noyau de l’hôte pour virtualiser des services ou des applications dans des conteneurs.
-
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.
fmod - Comment utiliser la fmod en C/C++ ?
-
Les outils d'analyse et d'optimisation du code
Reverse engineering
Si vous pratiquez le reverse engineering
Ressources
Liens externes
-
www.developpez.com : le site propose de nombreux tutoriels de programmation à la fois sur les langages Web et les langages applicatifs.
devdocs.io : propose les documentations en anglais de nombreux languages tel que
HTML, PHP, C, C++…
Pages concernant la programmation
liens à corriger