📚 Freely available programming books
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

350 lines
15 KiB

### Index
* [0 - Méta-listes](#0---méta-listes)
* [1 - Non dépendant du langage](#1---non-dépendant-du-langage)
* [Algorithmique](#algorithmique)
* [IDE et éditeurs de texte](#ide-et-editeurs-de-texte)
* [Logiciels libres](#logiciels-libres)
* [Makefile](#makefile)
* [Mathématiques](#mathématiques)
* [Pédagogie pour les enfants et adolescents](#pédagogie-pour-les-enfants-et-adolescents)
* [Théorie des langages](#théorie-des-langages)
* [Ada](#ada)
* [Assembleur](#assembleur)
* [Bash / Shell](#bash--shell)
* [C / C++](#c--c)
* [Caml / OCaml](#caml--ocaml)
* [Chaîne de blocs / Blockchain](#chaîne-de-blocs--blockchain)
* [Coq](#coq)
* [Fortran](#fortran)
* [Git](#git)
* [Go](#go)
* [Haskell](#haskell)
* [HTML and CSS](#html-and-css)
* [Java](#java)
* [JavaScript](#javascript)
* [jQuery](#jquery)
* [(La)TeX et associés](#latex-et-associés)
* [Asymptote](#asymptote)
* [LaTeX](#latex)
* [Metapost](#metapost)
* [PGF/TikZ](#pgftikz)
* [TeX](#tex)
* [Lisp](#lisp)
* [Lua](#lua)
* [Meteor](#meteor)
* [Perl](#perl)
* [PHP](#php)
* [Symfony](#symfony)
* [Yii](#yii)
* [Processing](#processing)
* [Python](#python)
* [Django](#django)
* [R](#r)
* [Ruby](#ruby)
* [Rust](#rust)
* [Sage](#sage)
* [Scilab](#scilab)
* [Scratch](#scratch)
* [SPIP](#spip)
* [SQL](#sql)
* [Systèmes d'exploitation](#systèmes-dexploitation)
* [TEI](#tei)
### 0 - Méta-listes
* [Le SILO: Sciences du numérique & Informatique au Lycée: Oui!](https://wiki.inria.fr/sciencinfolycee/Accueil)
### 1 - Non dépendant du langage
#### Algorithmique
* [Algorithmique](http://pauillac.inria.fr/~quercia/cdrom/cours/) - Michel Quercia
* [Algorithmique du texte](http://igm.univ-mlv.fr/~mac/CHL/CHL-2011.pdf) - Maxime Crochemore, Christophe Hancart, Thierry Lecroq (PDF)
* [Complexité algorithmique](http://www.liafa.univ-paris-diderot.fr/~sperifel/livre_complexite.html) - Sylvain Perifel
* [Éléments d'algorithmique](http://www-igm.univ-mlv.fr/~berstel/Elements/Elements.pdf) - D. Beauquier, J. Berstel, Ph. Chrétienne (PDF)
* [France-IOI](http://www.france-ioi.org)
* [Prologin](https://prologin.org)
#### IDE et éditeurs de texte
* [Learn Vim Progressively](http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/) - Yann Esposito
* [Vim pour les humains](https://vimebook.com/fr) - Vincent Jousse (le livre n'est pas **gratuit** mais **à prix libre**)
#### Logiciels libres
* [Histoires et cultures du Libre](https://archives.framabook.org/histoiresetculturesdulibre/) - Camille Paloque-Berges, Christophe Masutti, `edt.:` Framasoft (coll. Framabook)
* [Option libre. Du bon usage des licences libres](http://framabook.org/optionlibre-dubonusagedeslicenceslibres/) - Jean Benjamin
* [Produire du logiciel libre](http://framabook.org/produire-du-logiciel-libre-2/) - Karl Fogel
* [Richard Stallman et la révolution du logiciel libre](http://framabook.org/richard-stallman-et-la-revolution-du-logiciel-libre-2/) - R.M. Stallman, S. Williams, C. Masutti
#### Makefile
* [Concevoir un Makefile](http://icps.u-strasbg.fr/people/loechner/public_html/enseignement/GL/make.pdf) - Vincent Loechner d'après Nicolas Zin (PDF)
* [Introduction aux Makefile](http://eric.bachard.free.fr/UTBM_LO22/P07/C/Documentation/C/make/intro_makefile.pdf) (PDF)
#### Mathématiques
* [Approfondissements de lycée](https://fr.wikibooks.org/wiki/Approfondissements_de_lycée) - Wikibooks contributors, Zhuo Jia Dai, `ctb.:` R3m0t, `ctb.:` Martin Warmer (HTML) (:construction: *in process*)
#### Pédagogie pour les enfants et adolescents
* [Activités débranchées](https://pixees.fr/?cat=612)
* [Apprendre l'informatique sans ordinateur](https://interstices.info/enseigner-et-apprendre-les-sciences-informatiques-a-lecole/) - Tim Bell, Ian H. Witten, `trl.:` Mike Fellows
### Ada
* [Cours Ada](http://d.feneuille.free.fr/cours-ada-iut.zip) - Daniel Feneuille (Support d'un cours enseigné à l'IUT d'Aix-en-Provence) (ZIP)
* [Cours Ada 95 pour le programmeur C++](http://d.feneuille.free.fr/c++%20to%20ada%201.0a.pdf) - Quentin Ochem (PDF)
### Assembleur
* [PC Assembly Language](https://pacman128.github.io/pcasm/) - Paul A. Carter (HTML)
* [Reverse Engineering for Beginners](https://beginners.re/RE4B-FR.pdf) - Dennis Yurichev, Florent Besnard, Marc Remy, Baudouin Landais, Téo Dacquet (PDF)
### Bash / Shell
* [Guide avancé d'écriture des scripts Bash](https://abs.traduc.org/abs-fr/) - Mendel Cooper, `trl.:` Adrien Rebollo et al.
* [La programmation Shell](https://frederic-lang.developpez.com/tutoriels/linux/prog-shell/) - Frederic Lang, Idriss Neumann
### C / C++
* [Cours de C/C++](http://casteyde.christian.free.fr/cpp/cours/online/book1.html) - Christian Casteyde
* [Guide pour la programmation réseaux de Beej's - Utilisation des sockets Internet](http://vidalc.chez.com/lf/socket.html) - Brian "Beej Jorgensen" Hall (HTML)
* [Le C en 20 heures](http://framabook.org/le-c-en-20-heures-2/) - Eric Berthomier, Daniel Schang
* [Programmation en Langage C et Systèmes Informatiques](https://sites.uclouvain.be/SystInfo/notes/Theorie/) - O. Bonaventure, E. Riviere, G. Detal, C. Paasch
### Caml / OCaml
* [Développement d'applications avec Objective Caml](https://www-apr.lip6.fr/~chaillou/Public/DA-OCAML) - Emmanuel Chailloux, Pascal Manoury, Bruno Pagano
* [Le langage Caml](https://caml.inria.fr/pub/distrib/books/llc.pdf) - Pierre Weis, Xavier Leroy (PDF)
* [Programmation du système Unix en Objective Caml](https://web.archive.org/web/20211115022546/http://gallium.inria.fr/~remy/camlunix/) - Xavier Leroy, Didier Rémy
### Chaîne de blocs / Blockchain
* [Maîtriser Bitcoin: Programmer la chaîne de blocs publique](https://bitcoin.maitriser.ca) - Andreas M. Antonopoulos, Serafim Dos Santos (asciidoc, HTML)
* [Maîtriser Ethereum: Développer des contrats intelligents et des DApps](https://ethereum.maitriser.ca) - Andreas M. Antonopoulos, Gavin Wood, Serafim Dos Santos (asciidoc, HTML)
### Coq
* [Le Coq'Art (V8)](http://www.labri.fr/perso/casteran/CoqArt/) - Yves Bertot, Pierre Castéran
### Fortran
* [IDRIS adaptation of the Fortran 77 manual](http://www.idris.fr/formations/fortran/fortran-77.html) - IDRIS, Hervé Delouis, Patrick Corde (HTML)
* [IDRIS Formations Fortran: documentation](http://www.idris.fr/formations/fortran/) (HTML)
* [Fortran_Avancé : "Fortran : apports des normes 90 et 95 avec quelques aspects de la norme 2003" (2ème niveau)](http://www.idris.fr/media/formations/fortran/idris_fortran_avance_cours.pdf) - Patrick Corde, Hervé Delouis (PDF) ([:package: travaux pratiques](http://www.idris.fr/media/formations/fortran/idris_fortran_avance_tp.tar.gz))
* [Fortran_Base : "Fortran : notions de base" (1er niveau)](http://www.idris.fr/media/formations/fortran/idris_fortran_base_cours.pdf) - Anne Fouilloux, Patrick Corde (PDF) ([:package: examples du support](http://www.idris.fr/media/formations/fortran/idris_fortran_base_exemples.tar.gz), [:package: travaux pratiques](http://www.idris.fr/media/formations/fortran/idris_fortran_base_tp.tar.gz))
* [Fortran_Expert : "Fortran : apports de la norme 2003 avec quelques aspects de la norme 2008"](http://www.idris.fr/media/formations/fortran/idris_fortran_expert_cours.pdf) - Patrick Corde, Hervé Delouis (PDF) ([:package: examples du support](http://www.idris.fr/media/formations/fortran/idris_fortran_expert_exemples.tar.gz), [:package: travaux pratiques](http://www.idris.fr/media/formations/fortran/idris_fortran_expert_tp.tar.gz))
### Git
* [Git Magic](http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/fr/) - Ben Lynn, `trl.:` Alexandre Garel, `trl.:` Paul Gaborit, `trl.:` Nicolas Deram (HTML, PDF)
* [Pro Git](http://www.git-scm.com/book/fr/) - Scott Chacon, Ben Straub (HTML, PDF, EPUB)
### Go
* [Développer une application Web en Go](https://astaxie.gitbooks.io/build-web-application-with-golang/content/fr/) - astaxie
### Java
* [Développons en Java](http://www.jmdoudoux.fr/accueil_java.htm#dej) - Jean-Michel DOUDOUX (3400 pages!)
* [Java Programming for Kids, Parents and Grandparents](http://myflex.org/books/java4kids/java4kids.htm) - Yakov Fain
* [Play.Rules!](http://3monkeys.github.io/play.rules/)
### JavaScript
* [JavaScript Éloquent : Une introduction moderne à la programmation](http://fr.eloquentjavascript.net) - Marijn Haverbeke
* [Learn JavaScript](https://javascript.sumankunwar.com.np/fr) - Suman Kumar, Github Contributors (HTML, PDF)
* [Node.Js: Apprendre par la pratique](https://oncletom.io/node.js/#chapitres) - Thomas Parisot
### jQuery
* [Apprendre jQuery](https://sutterlity.gitbooks.io/apprendre-jquery/content/) - Sutterlity Laurent
### Haskell
* [A Gentle Introduction to Haskell](http://gorgonite.developpez.com/livres/traductions/haskell/gentle-haskell/) - Paul Hudak, John Peterson, Joseph Fasel, `trl.:` Nicolas Vallée, Gnux, ggnore, fearyourself, Joyeux-oli, Kikof, khayyam90
* [Apprendre Haskell vous fera le plus grand bien !](https://lyah.haskell.fr) - Miran Lipovača, `trl.:` Valentin Robert
### HTML and CSS
* [Apprendre les mises en page CSS](https://fr.learnlayout.com) - Greg Smith, `dsr.:` Isaac Durazo, `trl.:` Joël Matelli (HTML)
### (La)TeX et associés
#### LaTeX
* [Apprends LaTeX](http://www.babafou.eu.org/Apprends_LaTeX/Apprends_LaTeX.pdf) - Marc Baudoin (PDF)
* [LaTeX... pour le prof de maths !](http://math.univ-lyon1.fr/irem/IMG/pdf/LatexPourLeProfDeMaths.pdf) - Arnaud Gazagnes (PDF)
* [Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander](http://framabook.org/tout-sur-latex/) - Vincent Lozano
* [(Xe)LaTeX appliqué aux sciences humaines](https://web.archive.org/web/20220121031527/geekographie.maieul.net/95) - Maïeul Rouquette *(:card_file_box: archived)*
##### KOMA-Script
* [KOMA-Script, Typographie universelle avec XƎLaTeX](https://framabook.org/koma-script/) - Markus Kohm, Raymond Rochedieu
#### Asymptote
* [Asymptote. Démarrage rapide](http://cgmaths.fr/cgFiles/Dem_Rapide.pdf) - Christophe Grospellier (PDF)
#### Metapost
* [Tracer des graphes avec Metapost](http://melusine.eu.org/syracuse/metapost/f-mpgraph.pdf) - John D. Hobby (PDF)
* [Un manuel de Metapost](http://melusine.eu.org/syracuse/metapost/f-mpman-2.pdf) - John D. Hobby (PDF)
#### PGF/TikZ
* [TikZ pour l'impatient](http://math.et.info.free.fr/TikZ/) - Gérard Tisseau, Jacques Duma
#### TeX
* [Apprendre à programmer en TeX](https://ctan.org/pkg/apprendre-a-programmer-en-tex) - Christian Tellechea
* [TeX pour l'Impatient](http://www.apprendre-en-ligne.net/LaTeX/teximpatient.pdf) - Paul Abrahams, Kathryn Hargreaves, Karl Berry, `trl.:` Marc Chaudemanche (PDF)
### Lisp
* [Introduction à la programmation en Common Lisp](http://www.algo.be/logo1/lisp/intro-lisp.pdf) - Francis Leboutte (PDF)
* [Traité de programmation en Common Lisp](http://dept-info.labri.fr/~strandh/Teaching/Programmation-Symbolique/Common/Book/HTML/programmation.html) - Robert Strandh, Irène Durand
### Lua
* [Introduction à la programmation Lua](http://www.luteus.biz/Download/LoriotPro_Doc/LUA/LUA_Training_FR/Introduction_Programmation.html)
* [Lua : le tutoriel](http://wxlua.developpez.com/tutoriels/lua/general/cours-complet/) - Claude Urban
### Meteor
* [Apprendre Meteor](https://mquandalle.gitbooks.io/apprendre-meteor/content/) - Maxime Quandalle
### Perl
* [Guide Perl - débuter et progresser en Perl](http://formation-perl.fr/guide-perl.html) - Sylvain Lhullier
* [La documentation Perl en français](http://perl.mines-albi.fr/DocFr.html) - Paul Gaborit
### PHP
* [Cours de PHP 5](http://g-rossolini.developpez.com/tutoriels/php/cours/?page=introduction) - Guillaume Rossolini
* [Programmer en PHP](https://web.archive.org/web/20220327155108/lincoste.com/ebooks/pdf/informatique/programmer_php.pdf) - Julien Gaulmin (PDF) *(:card_file_box: archived)*
#### Symfony
* [En route pour Symfony 5.4](https://symfony.com/doc/5.4/the-fast-track/fr/index.html) - Fabien Potencier
* [En route pour Symfony 6.2](https://symfony.com/doc/current/the-fast-track/fr/index.html) - Fabien Potencier
#### Yii
* [Guide définitif pour Yii 2.0](https://www.yiiframework.com/doc/download/yii-guide-2.0-fr.pdf) - Yii Software (PDF)
### Processing
* [Processing](https://fr.flossmanuals.net/processing/) - Œuvre collective (HTML)
### Python
* [Apprendre à programmer avec Python](http://inforef.be/swi/python.htm) - Gerard Swinnen
* [Introduction à la programmation](https://self-learning.info.ucl.ac.be/index/info1-exercises) (Inscription gratuite sur le site. Pour réaliser les exercices sur INGInious.org, créez-vous un compte gratuitement et liez ensuite votre compte self-learning à votre compte INGInious. )
* [Le guide de l’auto-stoppeur pour Python!](https://python-guide-fr.readthedocs.io/fr/latest/) - Kenneth Reitz
* [Python Programming in French](https://www.youtube.com/playlist?list=PL0mGkrTWmp4ugGM9fiZjEuzMFeKD6Rh5G) - Data Scientist Nigeria
* [Une introduction à Python 3](https://perso.limsi.fr/pointal/python:courspython3) - Bob Cordeau, Laurent Pointal
#### Django
* [Tutoriel de Django Girls](https://tutorial.djangogirls.org/fr/) (1.11) (HTML)
### R
* [Introduction à l'analyse d'enquête avec R et RStudio](https://larmarange.github.io/analyse-R/) - Jospeh Lamarange, et al. (PDF version also available)
* [Introduction à la programmation en R](http://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_R.pdf) - Vincent Goulet (PDF)
### Ruby
* [Ruby en vingt minutes](https://www.ruby-lang.org/fr/documentation/quickstart/)
* [Venir à Ruby après un autre langage](https://www.ruby-lang.org/fr/documentation/ruby-from-other-languages/)
#### Ruby on Rails
* [Tutoriel Ruby on Rails : Apprendre Rails par l'exemple](https://web.archive.org/web/20210801160026/french.railstutorial.org/chapters/beginning) - Michael Hartl *(:card_file_box: archived)*
### Rust
* [Traduction du Rust book en français](https://jimskapt.github.io/rust-book-fr/) - Steve Klabnik et Carol Nichols, `trl.:` Thomas Ramirez
* [Tutoriel rust](https://blog.guillaume-gomez.fr/Rust/) - Guillaume Gomez
### Sage
* [Calcul mathématique avec Sage](https://hal.inria.fr/inria-00540485/file/sagebook-web-20130530.pdf) - P. Zimmermann, et al. (PDF)
### Scilab
* [Introduction à Scilab](http://forge.scilab.org/index.php/p/docintrotoscilab/downloads/) - Michaël Baudin, Artem Glebov, Jérome Briot
### Scratch
* [Informatique Créative](https://pixees.fr/programmation-creative-en-scratch/) - Christan Balch, Michelle Chung, Karen Brennan, `trl.:` Inria, Provence Traduction (PDF, PPTX)
### SPIP
* [Programmer avec SPIP](https://programmer.spip.net) - Matthieu Marcimat, collectif SPIP
### SQL
* [Cours complet pour apprendre les différents types de bases de données et le langage SQL](https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/) - Jacques Le Maitre
* [Cours de SQL base du langage SQL et des bases de données](https://sql.sh) - Tony Archambeau
* [Only SQL. Tout ce que vous avez toujours voulu savoir sur les SGBD sans jamais avoir osé le demander.](https://framabook.org/not-only-sql/) - Vincent Lozano, Éric Georges
### Systèmes d'exploitation
* [Simple OS (SOS)](http://sos.enix.org/fr/SOSDownload) - David Decotigny, Thomas Petazzoni
### TEI
* [Qu'est-ce que la Text Encoding Initiative ?](http://books.openedition.org/oep/1237) - Lou Burnard, `trl.:` Marjorie Burghart