Table des matières

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

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.

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.

Outils de comparaison de fichiers

UML

Voir la page UML.

XML

Voir la page XSLT - Les processeurs XSLT.

IDE (Environnement de Développement Intégré)

Les IDE sont les principaux outils des développeurs. Ils bénéficient d'une page de documentation dédiée.

Éditeur de texte

Une alternative à l'utilisation d'un IDE est l'emploi d'un éditeur de texte et d'outils complémentaires individuels.

Système

Langages généralistes

Python

Voir la page dédiée à Python.

Java

Voir la page dédiée à Java.

Ruby

Voir la page dédiée à Ruby.

Rust

Une excellente vidéo de présentation de Rust : Underscore_ - Pourquoi les devs réécrivent tout avec ce language ?.

Voir la page dédiée à Rust sur Wikipédia.

C et C++

Voir la page GCC, le jeu de compilateurs GNU

Cours (fr):

Nous vous invitons à consulter le support programmation C mis à votre disposition :

Voir la page dédiée à la programmation C/C++.

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

Le langage SQL avec un noyau de commandes commun à MySQL, MariaDB, SQLite, PostgreSQL et aussi certaines bases propriétaires.

En pseudo langage, il y a les ORM tel que, pour le PHP : Doctrine, Eloquent

Web

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

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.

Création d'animations pour le web

Mise en ligne du site

Voir le portail FTP.

Vérification du rendu des sites créés

Voir le portail navigateur.

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. llvm js backend (à vérifier)

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é.

PHP

PHP3) est un langage orienté CGI très utilisé pour les serveurs web.

Serveur

Éditeur

Tous les IDE orientés Web prennent en charge le PHP.

C'est par exemple le cas de :

Framework

Voir Liste de frameworks PHP sur Wikipédia.

Dépôts

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

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

Voir le tutoriel Comment internationaliser un logiciel libre ?.

Développement Android

Android Studio

Voir aussi

Développement de jeux vidéo

Voir la page Développement de jeux vidéo

Logiciels et utilitaires (par langages)

Les outils de base de données

Cross compilation Linux - Windows

MingW32 - Cross Compilateur permettant le développement sous Linux d'applications C à exécuter sous Windows

Calcul formel

Virtualisation

Les outils présentés ici sont utilisés pour virtualiser un environnement tel qui peut l'être dans les applications client/serveur.

Autres

Les outils d'analyse et d'optimisation du code

Voir la page analyseur de code static

Reverse engineering

Si vous pratiquez le reverse engineering

Ressources

Liens externes

Pages concernant la programmation

par liens de retour par tag

Contributeurs : Fabien26, Phossele, darkjam, Tinato, FrancoisA30.

3)
PHP sur Wikipédia