{"id":57566,"url":"https://github.com/websealevel/awesome-fr","name":"awesome-fr","description":"Une liste organisée de ressources gratuites pour la programmation, le web et le design. Régulièrement mise à jour","projects_count":1030,"last_synced_at":"2026-08-24T00:00:51.898Z","repository":{"id":38277711,"uuid":"482432768","full_name":"websealevel/awesome-fr","owner":"websealevel","description":"Une liste organisée de ressources gratuites pour la programmation, le web et le design. Régulièrement mise à jour","archived":false,"fork":false,"pushed_at":"2026-07-19T09:58:39.000Z","size":1061,"stargazers_count":53,"open_issues_count":2,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-07-19T11:20:45.866Z","etag":null,"topics":["accessible","awesome-list","concepts","currated","design","developer-tools","ebooks","francais","francophone","informatique-fondamentale","open","open-source","outils","programmation","ressources","ressources-web","selection","tools","web"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/websealevel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-17T05:11:13.000Z","updated_at":"2026-07-19T11:06:14.000Z","dependencies_parsed_at":"2023-11-09T21:02:22.546Z","dependency_job_id":"2a200b7d-f912-4a88-8059-155dc03a9481","html_url":"https://github.com/websealevel/awesome-fr","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/websealevel/awesome-fr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websealevel%2Fawesome-fr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websealevel%2Fawesome-fr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websealevel%2Fawesome-fr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websealevel%2Fawesome-fr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/websealevel","download_url":"https://codeload.github.com/websealevel/awesome-fr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websealevel%2Fawesome-fr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36274788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-04T02:00:06.901Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-04-08T00:00:22.170Z","updated_at":"2026-08-24T00:00:51.899Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Banques de ressources, dépôts, cours","Frontend","Standards","Git","Capture/Édition vidéo","Markdown","Déploiement","Mots de passe","Écriture technique","Expressions régulières (regex)","Spécifiques à un langage/écosystème","En vrac","Programmation fonctionnelle","Éditeurs de texte","Quelques SGBD","Langages/technos à découvrir","Livres","Compilateurs, interpréteurs","Défis","API publiques","Suivi de projets","Hébergement gratuit","Boîte à outils","Logiciels *open-source* et *logiciels libres* (free software)","Fondamentaux, radical","Ebooks","Outils d'administration (et conception parfois) de base de données","Wordpress","Côté client, Frontend","Dessin","Géométrie, art génératif, algorithmes, procédural","Analytics","Contribuer à des projets open-source","Rester informé·e","Présentations (slides) avec Markdown","Spécification OpenAPI","REST, *Architecture of the World Wide Web*","Vivre de son travail","Prendre soin de sa machine et de ce qu'il y a dessus au quotidien","Simulateur de terminal","Protocoles","Mathématiques, mathématiques et informatique et autres aspects *bas niveau*","OS","Mouvement NoCode, outils *visual code* (*no-code* ou *low-code*)","Quitter Github","*Makers*, partage de guides, de tutoriels sur la fabrication et l'artisanat - \"Do it yourself\"","Environnements d'apprentissage interactifs","Outils de conception de base de données","Réseau","Architecture logicielle","*Hacker* culture","*Request For Comments* (RFC), *drafts* et W3C","Dessin et diagrammes","Dépôts","Maintenabilité","WordPress","Développement informatique et science académique","Gestion de projet, gestion de l'apprentissage et des connaissances d'équipe","Principes généraux et fondamentaux","Contribuez et partagez","Comme évaluer la *santé* d'un dépôt ?","SEO","Générateur de fausses données","Articles sur la pratique de WordPress et son évolution vers le FSE","Modélisation de bases de données relationnelles","Unix","Développement informatique et écologie (ecoconception)","Rich Hickey","Androïd","RGPD","Le projet *Open Books* de O'Reilly","Éducation, outils/langages pour initier à la programmation","Ressources pour formateur·trice","Prendre soin de soi","Correction","Vendre","Trouver des livres techniques d'occasion pas cher","Analyse, conception : UML et alternatives","Prendre soin de sa machine","DevOps","CV","Tests","Mouvement \"NoCode\", outils *visual code* (*no-code* ou *low-code*)","Tâches planifiées","IA Génératives","Blog design","*Hacker* culture, Unix","Ressources pour formateur·trices"],"sub_categories":["Côté client (*Front-end*)","Spécifique à une techno","Lecture : articles, livres techniques (informatique, mathématiques)","Conférences","Développement de jeux vidéos","Applications web et réseaux à héberger *soi-même*","Pack d’icônes/favicons","Organismes","Client git","UI/UX","Langages Assembleur","Gestionnaire de mots de passe","Outils d'écriture et de publication","JavaScript","JS","La vérité par l'humour","Elm","Docker et conteneurs","Clojure","Général","Erlang","Palettes de couleurs","Functional programming","PHP","Podcasts","Algorithmes","Check, check, check","Extraits de code sur étagère","Agrégateurs de design, inspiration","Quelques références tierces","Générateur de mise en page / *layouts*","Divers","Courbes de Bézier","Plugins recommandés","Images: photos, illustrations, svg","Manipulation de fichiers, documents","Animations CSS (keyframes API) ou JS","Typographies/Fonts","Créativité, modèles mentaux","Standard SQL et bases de données relationnelles","Quelques *classiques* (non exhaustif)","Sécurité des applications web / Audit","Banque de thèmes","Articles, News, Billets de blog","Générateur de mots de passe","Playlists","Articles, Billets de blog, Extraits","Templates","Racket, le *langage-oriented programming language*","BitTorrent","HTTP","Vendre des articles","Scheme (Lisp dialect)","`rclone`","Gradients","XML","Blogs","Composants","Apprendre le web design","C","IA, LLMs","`sed`","Générateur d'assets au format SVG","Sitemap","Trouver du boulot à distance (*remote*)","Starter themes","Prolog","Agrégateurs de ressources pour le *front*","Vendre des templates","Doc officielle wordpress.org","Composants, extraits de code","CSS grid","Papiers","Générateurs/Templates CSS","Apprendre","`sloccount`","git","Architecture de l'information / Recherche d'information","Document Object Model (DOM)","Computer graphics et art génératif","Backgrounds","SmallTalk","Opendata/France","Un mot","Articles","Livres de développement Wordpress","Épisodes de podcasts sur Wordpress","Podcasts dédiés à Wordpress","Formations","Environement de développement","SGML","Cours","TCP/IP","SSH","Haskell","`wwb` (et descendants)","Du bruit au bruit","Tcl/Tk","Refactoring, travailler sur du code legacy","Software design","Sécurité des applications webs","Webmaster","Perl","Test driven development","Programmation CGI","Rust","Génération procédurale et *game design*","Articles / Billets de blog","Génération procédurale","Game Developers Conference (GDC)","Chaînes YouTube","Revues et magazines informatiques","Blog design","Sur le web","Projets open-source","API web publiques","Machine learning","Design et architecture logicielle","Sécurité","Outils \"*no code*\", \"*low code*\" ou plutot *visual code*","Apprentissage","Classic gif","Quelques *classiques* (liste non exhaustive, en construction...)","Spécifications, design","Base de données","Sysadmin","Conférences, vidéos et séries","Sécurité des applications web","Misc","Mumps/M","Articles sur la pratique de WordPress et son évolution vers le FSE","Pixel art"],"readme":"# Ressources *gratuites* pour les programmeur·euses, designeur·euses web, indépendant·es, bidouilleur·euses et autres intéressé·es\n\n## *We're Using GitHub Under Protest*\n\n*Pour en savoir plus [rendez-vous à cette section](#quitter-github)*.\n\nThis project is currently hosted on GitHub.  This is not ideal; GitHub is a\nproprietary, trade-secret system that is not Free and Open Souce Software\n(FOSS).\n\n\u003cimg src=\"https://sfconservancy.org/img/GiveUpGitHub.png\" alt=\"Logo of the GiveUpGitHub campaign)\" width=\"300\"/\u003e\n\n## En quelques mots\n\nUne liste d'outils et de ressources (sites web, ebooks, podcasts, vidéos, blogs, articles, conférences, guides, programmes, etc.) **gratuites** plutôt orientés web (en tout cas initialement, ce qui tend à changer au cours du temps).\n\nCette liste **n'est pas exhaustive par choix** (il y'a des choses qui ne m'intéressent pas plus que ça et d'autres ressources que je trouve moins pertinentes).\n\n\u003e Ce dépôt contient (est) **évidemment des opinions** (de moins en moins) sur certains sujets\n\n## Des limites de la francophonie\n\nLa liste en elle-même est francophone, cependant de nombreuses ressources répertoriées ici sont (malheureusement) uniquement disponibles en anglais.\n\nIl serait idiot de ne sélectionner que des ressources ayant l'amabilité d'être traduites en français. L'*accessibilité aux francophones reste néanmoins une priorité sur ce dépôt* (au même titre que la gratuité) et permettra au moins de proposer un panorama *en français* de différentes ressources.\n\nUn effort est fait pour mettre en avant des ressources francophones et retrouver des ressources traduites en français (par exemple pour les livres) quand cela sera possible*.\n\n\u003e *Une traduction n'est pas qu'une opération automatique, il en résulte bien souvent un livre différent du livre de départ. Aussi il est parfois difficile de la recommander aveuglément.\n\n## Conseils d'utilisation\n\nServez-vous de ce dépôt comme d'une banque de marque-pages. Grâce à la table des matières, trouvez quelque chose qui peut vous aider ou vous intéresser.\n\n*Spoiler alert* : vous n'avez pas besoin *- et de toute manière n'aurez pas assez d'une vie -* d'apprendre, de lire ou de maîtriser tout ce qui est exposé ici. *Naviguez* la conscience tranquille vers ce qui vous paraît utile ou vous attire. Ce dépôt donne du vertige aussi à son auteur, et ce dernier est pris dans le douloureux paradoxe d'[ajouter du bruit au bruit](#du-bruit-au-bruit) pour toutes celles et ceux qui cherchent à démarrer en programmation et/ou dans le développement web.\n\nPar souci de simplicité et d'accessibilité, ce dépôt va continuer à grandir dans un fichier *bien à plat*. C'est comme dans une brocante, faut faire un tour pour voir. Mais bon, il y'a quand même une [table des matières](#table-des-matières), la recherche par mot-clef et des hyperliens pour faciliter la navigation.\n\n## Contribuez et partagez\n\nDes liens morts ? Une typo ? Une ressource que vous trouvez pertinente n'est pas présente ici et vous voulez la partager ?\n\nProposez votre contribution via l'ouverture d'une issue ou d'une [Pull Request](http://thelia-school.com/faire-une-pull-request-sur-un-projet-thelia/faire-une-pull-request.html). Avant de soumettre une suggestion, merci de lire [Comment contribuer au dépôt ?](CONTRIBUTING.md)\n\n*No time to lose !*\n\n\u003cimg src=\"img/./no%20time%20to%20lose.jpeg\" alt=\"No time to lose ! (Monty Python Flying Circus)\" width=\"600\"/\u003e\n\n## Table des matières\n\n- [Ressources *gratuites* pour les programmeur·euses, designeur·euses web, indépendant·es, bidouilleur·euses et autres intéressé·es](#ressources-gratuites-pour-les-programmeureuses-designeureuses-web-indépendantes-bidouilleureuses-et-autres-intéressées)\n\t- [*We're Using GitHub Under Protest*](#were-using-github-under-protest)\n\t- [En quelques mots](#en-quelques-mots)\n\t- [Des limites de la francophonie](#des-limites-de-la-francophonie)\n\t- [Conseils d'utilisation](#conseils-dutilisation)\n\t- [Contribuez et partagez](#contribuez-et-partagez)\n\t- [Table des matières](#table-des-matières)\n\t- [Comme évaluer la *santé* d'un dépôt ?](#comme-évaluer-la-santé-dun-dépôt-)\n\t- [Environnements d'apprentissage interactifs](#environnements-dapprentissage-interactifs)\n\t\t- [Document Object Model (DOM)](#document-object-model-dom)\n\t\t- [git](#git)\n\t\t- [CSS grid](#css-grid)\n\t\t- [JS](#js)\n\t\t- [Algorithmes](#algorithmes)\n\t- [SEO](#seo)\n\t- [API publiques](#api-publiques)\n\t\t- [Divers](#divers)\n\t\t- [Opendata/France](#opendatafrance)\n\t- [Côté client, Frontend](#côté-client-frontend)\n\t\t- [Agrégateurs de ressources pour le *front*](#agrégateurs-de-ressources-pour-le-front)\n\t\t- [Templates](#templates)\n\t\t- [Typographies/Fonts](#typographiesfonts)\n\t\t- [Palettes de couleurs](#palettes-de-couleurs)\n\t\t- [Pack d’icônes/favicons](#pack-dicônesfavicons)\n\t\t- [Classic gif](#classic-gif)\n\t\t- [Images: photos, illustrations, svg](#images-photos-illustrations-svg)\n\t\t- [Générateurs/Templates CSS](#générateurstemplates-css)\n\t\t- [Générateur d'assets au format SVG](#générateur-dassets-au-format-svg)\n\t\t- [Motifs](#motifs)\n\t\t- [Animations CSS (keyframes API) ou JS](#animations-css-keyframes-api-ou-js)\n\t\t- [Composants, extraits de code](#composants-extraits-de-code)\n\t\t- [Gradients](#gradients)\n\t\t- [Générateur de mise en page / *layouts*](#générateur-de-mise-en-page--layouts)\n\t\t- [Courbes de Bézier](#courbes-de-bézier)\n\t\t- [JS](#js-1)\n\t\t- [Backgrounds](#backgrounds)\n\t\t- [Pixel art](#pixel-art)\n\t\t- [Agrégateurs de design, inspiration](#agrégateurs-de-design-inspiration)\n\t\t- [Composants](#composants)\n\t\t- [UI/UX](#uiux)\n\t\t- [Sitemap](#sitemap)\n\t\t- [Quelques références tierces](#quelques-références-tierces)\n\t\t- [Apprendre le web design](#apprendre-le-web-design)\n\t\t- [Check, check, check](#check-check-check)\n\t\t\t- [Code](#code)\n\t\t\t- [Est-ce-que j'ai oublié un truc ?](#est-ce-que-jai-oublié-un-truc-)\n\t\t\t- [Accessibilité](#accessibilité)\n\t\t\t- [Perfs et config](#perfs-et-config)\n\t\t\t- [Analyse de texte](#analyse-de-texte)\n\t\t\t- [Contraste](#contraste)\n\t- [WordPress](#wordpress)\n\t\t- [Un mot](#un-mot)\n\t\t- [Doc officielle wordpress.org](#doc-officielle-wordpressorg)\n\t\t- [Articles](#articles)\n\t\t- [Livres de développement Wordpress](#livres-de-développement-wordpress)\n\t\t- [Épisodes de podcasts sur Wordpress](#épisodes-de-podcasts-sur-wordpress)\n\t\t- [Podcasts dédiés à Wordpress](#podcasts-dédiés-à-wordpress)\n\t\t- [Formations](#formations)\n\t\t- [Starter themes](#starter-themes)\n\t\t- [Banque de thèmes](#banque-de-thèmes)\n\t\t- [Plugins recommandés](#plugins-recommandés)\n\t\t- [Articles sur la pratique de WordPress et son évolution vers le FSE](#articles-sur-la-pratique-de-wordpress-et-son-évolution-vers-le-fse)\n\t- [Hébergement gratuit](#hébergement-gratuit)\n\t- [Mots de passe](#mots-de-passe)\n\t\t- [Gestionnaire de mots de passe](#gestionnaire-de-mots-de-passe)\n\t\t- [Générateur de mots de passe](#générateur-de-mots-de-passe)\n\t- [Git](#git-1)\n\t- [Déploiement](#déploiement)\n\t- [DevOps](#devops)\n\t- [Tests](#tests)\n\t- [Mouvement \"NoCode\", outils *visual code* (*no-code* ou *low-code*)](#mouvement-nocode-outils-visual-code-no-code-ou-low-code)\n\t- [Quitter Github](#quitter-github)\n\t- [Logiciels *open-source* et *logiciels libres* (free software)](#logiciels-open-source-et-logiciels-libres-free-software)\n\t- [Capture/Édition vidéo](#captureédition-vidéo)\n\t- [Principes généraux et fondamentaux](#principes-généraux-et-fondamentaux)\n\t- [Standards](#standards)\n\t\t- [Organismes](#organismes)\n\t\t- [SGML](#sgml)\n\t\t- [XML](#xml)\n\t\t\t- [Un mot sur le XML](#un-mot-sur-le-xml)\n\t\t\t- [Apprendre le XML et ses standards associés](#apprendre-le-xml-et-ses-standards-associés)\n\t\t\t- [Applications XML de prestige](#applications-xml-de-prestige)\n\t\t- [Standard SQL et bases de données relationnelles](#standard-sql-et-bases-de-données-relationnelles)\n\t\t- [Sécurité des applications web / Audit](#sécurité-des-applications-web--audit)\n\t- [Réseau](#réseau)\n\t- [Protocoles](#protocoles)\n\t\t- [TCP/IP](#tcpip)\n\t\t- [SSH](#ssh)\n\t\t- [HTTP](#http)\n\t\t- [BitTorrent](#bittorrent)\n\t\t- [Misc](#misc)\n\t- [OS](#os)\n\t- [Infrastructure](#infrastructure)\n\t- [*Request For Comments* (RFC), *drafts* et W3C](#request-for-comments-rfc-drafts-et-w3c)\n\t- [Unix](#unix)\n\t- [Tâches planifiées](#tâches-planifiées)\n\t- [REST, *Architecture of the World Wide Web*](#rest-architecture-of-the-world-wide-web)\n\t- [Spécification OpenAPI](#spécification-openapi)\n\t- [Spécifiques à un langage/écosystème](#spécifiques-à-un-langageécosystème)\n\t\t- [PHP](#php)\n\t\t- [C](#c)\n\t\t- [JavaScript](#javascript)\n\t\t- [Docker et conteneurs](#docker-et-conteneurs)\n\t- [Suivi de projets](#suivi-de-projets)\n\t- [Gestion de projet, gestion de l'apprentissage et des connaissances d'équipe](#gestion-de-projet-gestion-de-lapprentissage-et-des-connaissances-déquipe)\n\t- [Dessin et diagrammes](#dessin-et-diagrammes)\n\t- [Quelques SGBD](#quelques-sgbd)\n\t- [Modélisation de bases de données relationnelles](#modélisation-de-bases-de-données-relationnelles)\n\t- [Outils de conception de base de données](#outils-de-conception-de-base-de-données)\n\t- [Analyse, conception : UML et alternatives](#analyse-conception--uml-et-alternatives)\n\t- [Outils d'administration (et conception parfois) de base de données](#outils-dadministration-et-conception-parfois-de-base-de-données)\n\t- [Architecture logicielle](#architecture-logicielle)\n\t- [Maintenabilité](#maintenabilité)\n\t- [Développement informatique et science académique](#développement-informatique-et-science-académique)\n\t- [Développement informatique et écologie (ecoconception)](#développement-informatique-et-écologie-ecoconception)\n\t- [Programmation fonctionnelle](#programmation-fonctionnelle)\n\t\t- [Général](#général)\n\t\t- [Haskell](#haskell)\n\t\t- [Clojure](#clojure)\n\t\t- [Elm](#elm)\n\t\t- [Racket, le *langage-oriented programming language*](#racket-le-langage-oriented-programming-language)\n\t- [Langages Assembleur](#langages-assembleur)\n\t- [Rich Hickey](#rich-hickey)\n\t- [Défis](#défis)\n\t- [Markdown](#markdown)\n\t- [Présentations (slides) avec Markdown](#présentations-slides-avec-markdown)\n\t- [CV](#cv)\n\t- [Écriture technique](#écriture-technique)\n\t\t- [Outils d'écriture et de publication](#outils-décriture-et-de-publication)\n\t\t- [Apprentissage](#apprentissage)\n\t- [Expressions régulières (regex)](#expressions-régulières-regex)\n\t- [Boîte à outils](#boîte-à-outils)\n\t\t- [`sed`](#sed)\n\t\t- [`sloccount`](#sloccount)\n\t\t- [`rclone`](#rclone)\n\t\t- [`wwb` (et descendants)](#wwb-et-descendants)\n\t\t- [Manipulation de fichiers, documents](#manipulation-de-fichiers-documents)\n\t\t\t- [Convertir des documents, éditer des pdf](#convertir-des-documents-éditer-des-pdf)\n\t\t\t- [Compresser, optimiser des documents (images, pdf etc..)](#compresser-optimiser-des-documents-images-pdf-etc)\n\t\t\t- [Capture vidéo, audio](#capture-vidéo-audio)\n\t- [IA Génératives](#ia-génératives)\n\t- [Androïd](#androïd)\n\t- [Langages/technos à découvrir](#langagestechnos-à-découvrir)\n\t\t- [Du bruit au bruit](#du-bruit-au-bruit)\n\t\t- [SmallTalk](#smalltalk)\n\t\t- [Erlang](#erlang)\n\t\t- [Prolog](#prolog)\n\t\t- [Scheme (Lisp dialect)](#scheme-lisp-dialect)\n\t\t\t- [Installtion](#installtion)\n\t\t- [Tcl/Tk](#tcltk)\n\t\t- [Mumps/M](#mumpsm)\n\t- [RGPD](#rgpd)\n\t- [Blog design](#blog-design)\n\t- [Livres](#livres)\n\t\t- [Quelques *classiques* (liste non exhaustive, en construction...)](#quelques-classiques-liste-non-exhaustive-en-construction)\n\t\t- [Software design, architecture logicielle](#software-design-architecture-logicielle)\n\t\t- [Spécifications, design](#spécifications-design)\n\t\t- [Base de données](#base-de-données)\n\t\t- [Architecture de l'information/Recherche d'information](#architecture-de-linformationrecherche-dinformation)\n\t\t- [Sécurité des applications web](#sécurité-des-applications-web)\n\t\t- [Sysadmin](#sysadmin)\n\t\t- [HTTP](#http-1)\n\t\t- [Perl](#perl)\n\t\t- [Test](#test)\n\t\t- [Functional programming](#functional-programming)\n\t\t\t- [Clojure](#clojure-1)\n\t\t\t- [Common Lisp](#common-lisp)\n\t\t\t- [Scheme](#scheme)\n\t\t\t- [Haskell](#haskell-1)\n\t\t- [Algorithmes](#algorithmes-1)\n\t\t- [Rust](#rust)\n\t\t- [Développement de jeux vidéos](#développement-de-jeux-vidéos)\n\t\t- [Génération procédurale et *game design*](#génération-procédurale-et-game-design)\n\t\t- [IA, LLMs](#ia-llms)\n\t- [*Hacker* culture, Unix](#hacker-culture-unix)\n\t- [Éducation, outils/langages pour initier à la programmation](#éducation-outilslangages-pour-initier-à-la-programmation)\n\t- [Compilateurs, interpréteurs](#compilateurs-interpréteurs)\n\t- [Mathématiques, mathématiques et informatique et autres aspects *bas niveau*](#mathématiques-mathématiques-et-informatique-et-autres-aspects-bas-niveau)\n\t- [Ressources pour formateur·trices](#ressources-pour-formateurtrices)\n\t- [En vrac](#en-vrac)\n\t\t- [Articles, News, Billets de blog](#articles-news-billets-de-blog)\n\t\t\t- [IA génératives, LLMs : reflexions et ressources utiles](#ia-génératives-llms--reflexions-et-ressources-utiles)\n\t\t\t- [Partage d'experiences, argumentaires, essais](#partage-dexperiences-argumentaires-essais)\n\t\t\t- [Design](#design)\n\t\t\t- [Misc et à classer](#misc-et-à-classer)\n\t\t- [Papiers](#papiers)\n\t\t- [Blogs](#blogs)\n\t\t- [Podcasts](#podcasts)\n\t\t- [Cours](#cours)\n\t\t- [Conférences, vidéos et séries](#conférences-vidéos-et-séries)\n\t\t- [La vérité par l'humour](#la-vérité-par-lhumour)\n\t\t- [Génération procédurale](#génération-procédurale)\n\t\t- [Game Developers Conference (GDC)](#game-developers-conference-gdc)\n\t\t- [Chaînes YouTube](#chaînes-youtube)\n\t\t- [Playlists](#playlists)\n\t- [Fondamentaux, radical](#fondamentaux-radical)\n\t- [Contribuer à des projets open-source](#contribuer-à-des-projets-open-source)\n\t- [Rester informé·e](#rester-informée)\n\t- [Prendre soin de soi](#prendre-soin-de-soi)\n\t- [Prendre soin de sa machine](#prendre-soin-de-sa-machine)\n\t- [Géométrie, art génératif, algorithmes, procédural](#géométrie-art-génératif-algorithmes-procédural)\n\t- [Correction](#correction)\n\t- [Dépôts](#dépôts)\n\t\t- [Général](#général-1)\n\t\t- [Sécurité](#sécurité)\n\t\t- [Outils \"*no code*\", \"*low code*\" ou plutot *visual code*](#outils-no-code-low-code-ou-plutot-visual-code)\n\t\t- [Côté client (*Front-end*)](#côté-client-front-end)\n\t\t- [Développement de jeux vidéos](#développement-de-jeux-vidéos-1)\n\t\t- [Applications web et réseaux à héberger *soi-même*](#applications-web-et-réseaux-à-héberger-soi-même)\n\t\t- [Conférences](#conférences)\n\t\t- [Revues et magazines informatiques](#revues-et-magazines-informatiques)\n\t\t- [Machine learning](#machine-learning)\n\t\t- [Spécifique à une techno](#spécifique-à-une-techno)\n\t\t\t- [PHP](#php-1)\n\t\t\t- [Java](#java)\n\t\t\t- [JS](#js-2)\n\t\t\t- [Typescript](#typescript)\n\t\t\t- [Vue.js](#vuejs)\n\t\t\t- [Node.js](#nodejs)\n\t\t\t- [Flutter](#flutter)\n\t\t- [Projets open-source](#projets-open-source)\n\t\t- [Design et architecture logicielle](#design-et-architecture-logicielle)\n\t\t- [Apprendre](#apprendre)\n\t\t- [API web publiques](#api-web-publiques)\n\t\t- [Divers](#divers-1)\n\t\t- [Lecture : articles, livres techniques (informatique, mathématiques)](#lecture--articles-livres-techniques-informatique-mathématiques)\n\t- [Trouver des livres techniques d'occasion pas cher](#trouver-des-livres-techniques-doccasion-pas-cher)\n\t- [Vivre de son travail](#vivre-de-son-travail)\n\t\t- [Écrire des articles](#écrire-des-articles)\n\n## Comme évaluer la *santé* d'un dépôt ?\n\nQuelques conseils pour *se faire une idée* de la *santé* d'un dépôt ou d'une bibliothèque, à savoir est-ce que j'en ai vraiment besoin ? Si oui, pourquoi ? Est-ce que ce dépôt est maintenu ou abandonné ? Est-ce qu'il y a une communauté derrière active et prête à dépanner ? Est-ce que cette dépendance de mon projet va casser dans 6 mois ?\n\nAller sur le dépôt puis :\n\n- Regarder s'il y a une documentation. S'il n'y en a pas, fuyez !\n- Regarder si la documentation est à jour. Si ce n'est pas le cas, vous allez souffrir.\n- Regarder la date du dernier commit\n- Regarder le nombre d'issues ouvertes et à quelles dates les dernières ont été ouvertes. Qu'il y ait un grand nombre d'issues en soit n'est pas un problème. Au contraire, cela témoigne de l'activité du dépôt, de son usage et peut-être de son utilité. Ce qui compte c'est *est-ce qu'on répond à ces issues*, sont-elles traitées ?\n- Regarder le nombre de *Pull Requests* en attente, idem que pour les issues\n- Regarder depuis combien de temps les contributeurs du dépôt n'ont pas répondu à une issue\n- Regarder le nombre de contributeur·ices\n- Mesurer le temps de réaction à l'ouverture d'une issue (utile et bien formulée !)\n- Essayer de trouver une communauté en ligne (site, wikis, IRC, Discord etc...) Dites bonjour, si on vous répond pas mieux vaut passer son chemin.\n- Est-ce que le projet (ses livrables) est versionné ? C'est important pour savoir exactement de quelle version dépend notre projet, traquer les changements rétrocompatibles ou non etc..\n- Regarder le nombre de stars/fav (attention, métrique pas toujours pertinente)\n\n## Environnements d'apprentissage interactifs\n\n### Document Object Model (DOM)\n\n- [testing playground](https://testing-playground.com/), tester vos interactions avec le DOM dans un environnement dédié\n\n### git\n\n- [learngitbranching](https://learngitbranching.js.org/?locale=fr_FR), apprendre git via une appli web interactive. Excellent site web.\n\n### CSS grid\n\n- [griddy](https://griddy.io/)\n\n### JS\n\n- [JavaScript Visualizer 9000](https://www.jsv9000.app/), apprendre JS en visualisant le fonctionnement de son moteur (queue, stack, event loop etc.)\n\n### Algorithmes\n\n- [algorithm-visualizer](https://algorithm-visualizer.org/), apprendre à programmer des algorithmes tout en les visualisant\n\n## SEO\n\n- [siteliner](https://siteliner.com/), trouver le contenu dupliqué sur votre site (et supprimez le !)\n- [Carrousels de données structurées (beta)](https://developers.google.com/search/docs/appearance/structured-data/carousels-beta?hl=fr), Google utilise des données structurées pour comprendre le contenu de la page et le présenter sous une forme plus riche dans les résultats de recherche (ce que l'on appelle un résultat enrichi). Ce guide se concentre sur un nouveau résultat enrichi de type carrousel, disponible en version bêta (2024)\n- [ÉTINCELLE : l'audit en live de ton site WordPress !](https://www.linkedin.com/events/tincelle-l-auditenlivedetonsite7175443267394641920/theater/), un audit live très instructif de sites WordPress et e-commerce, par Daniel Roch, de [SEOKEY](https://www.seo-key.fr/).\n- [Comment optimiser le référencement de son site WordPress : les 7 conseils d’un expert SEO](https://www.blogdumoderateur.com/optimiser-referencement-site-wordpress-7-conseils/), publié chez [BDM](https://www.blogdumoderateur.com/), avec le pertinent Daniel Roch\n\n## API publiques\n\n### Divers\n\n- [weatherstack](https://weatherstack.com/)\n- [fakerapi](https://fakerapi.it/en/)\n- [wordsapi](https://www.wordsapi.com/)\n- [catfacts](https://alexwohlbruck.github.io/cat-facts/)\n- [openweather](https://t.co/pi4UPqQfMx),\n- [nasa api](https://api.nasa.gov/), photos prises par la NASA\n- [movieDB api](https://www.themoviedb.org/documentation/api), api pour les films, séries, émissions\n- [JSONPlaceholder](https://jsonplaceholder.typicode.com/), une api qui sert du JSON pour le test/dev\n- [rapid api](https://rapidapi.com/blog/most-popular-api/), recense et documente tout un tas d'api à utiliser, pour aller en trouver encore d'autres\n- [open food facts](https://fr.openfoodfacts.org/data), API de produits alimentaires\n- [open library API](https://openlibrary.org/developers/api), l'API d'[Open Library](https://openlibrary.org/), un projet d'[Internet Archive](https://archive.org/), pour travailler sur les livres, auteurs, couvertures de livres, etc.\n- [the Keanu Reeves Whoa API](whoa.onrender.com), une API JSON très complète pour chaque \"whoa\" prononcé par l'acteur Keanu Reeves dans ses films\n\n### Opendata/France\n\n- [data.gouv](https://www.data.gouv.fr/fr/), liste des apis de données publiques maintenues par l'état\n- [api.gouv.fr](https://api.gouv.fr/rechercher-api), rechercher une api parmi toutes les api du service publique\n- [Données temps réel pour les transports en commun](https://api.gouv.fr/les-api/temps_reel_transport), un exemple d'api publique (voir lien précédent) sur les données du transport en commun\n- [pappers](https://www.pappers.fr/api), une api pour les données sur les entreprises\n- [voir depot plus bas](#api)\n\n## Côté client, Frontend\n\n### Agrégateurs de ressources pour le *front*\n\n- [uxtools.co](https://uxtools.co/), un hub des outils, tendances, design pour les designer. Organisent des sondages tous les ans.\n- [devtooly](https://devtooly.com/), répertorie tout un tas de ressources frontend par catégories\n- [webcode.tools](https://webcode.tools/), collection d'outils en ligne pour le développement web (générateurs de code)\n\n### Templates\n\nTemplates HTML5/CSS3 à télécharger, utiliser, modifier :\n\n- [btemplates.com](https://btemplates.com/), des templates old school de blog pour Blogger a la base\n- [html5webtemplates.co](https://www.html5webtemplates.co.uk/templates)\n- [htmlrev.com](https://htmlrev.com/)\n- [html5up.et](https://html5up.net/)\n- [templated.live](https://templated.live/)\n- [templatemo.com](https://templatemo.com/)\n- [zerotheme.com](https://www.zerotheme.com/)\n- [html5xcss3.com](https://www.html5xcss3.com/megakit-free-bootstrap-template.html)\n- [dopeui.co](https://dopeui.co/), télécharger des templates UI de grande qualité pour Figma\n- [uideck.com](https://uideck.com/)\n- [toolplate.com](https://www.tooplate.com/)\n- [colorlib.com](https://colorlib.com/wp/templates/)\n- [cruip.com](https://cruip.com/free-templates/)\n- [templateMO.com](https://templatemo.com/)\n- [styleshout.com](https://www.styleshout.com/free-templates/)\n- [freehtml5.co](https://freehtml5.co/)\n- [free-css.com](https://www.free-css.com/)\n- [mashup-template.com](http://www.mashup-template.com/templates.html)\n- [html5-templates.com](https://html5-templates.com/)\n  \n### Typographies/Fonts\n\nLes *designers* se moqueront de vous si vous utilisez le mot typographie ou *typeface* au lieu de police de caractères ou *font*, et inversement. C'est du pur mépris de classe, comme lorsqu'on on vous corrige sur la différence entre URI et URL. Ne vous laissez pas faire.\n\nMais sachez en gros que la typographie, ou *Typeface*, c'est le design et la *Font* c'est l'implémentation de ce design en informatique.\n\n- [wakamai](https://wakamaifondue.com/), upload votre font pour connaître ses propriétés\n- [typescale](https://type-scale.com/), créer facilement un système de tailles de font à suivre\n- [typography principles](https://typographyprinciples.obys.agency/alignments/), un guide pour apprendre les principes de la typo\n- [fontjoy](https://fontjoy.com/), trouver facilement des combinaisons de fonts qui fonctionnent\n- [google-type](https://femmebot.github.io/google-type/), trouver facilement des combinaisons de fonts qui fonctionnent\n- [fontsquirrel](https://www.fontsquirrel.com/), bibliothèque de fonts libres pour usage commercial\n- [fontsinuse](https://fontsinuse.com/), bilbiothèque de typos\n- [fontfabric](https://www.fontfabric.com/font-tester/), tester rapidement ses fonts\n- [FontZone](https://www.fontzone.net/), une archive de fonts téléchargeables et gratuites\n- [fontshare](https://www.fontshare.com/)\n- [Typeoff.de](https://www.typeoff.de/), le blog de Dan Reynolds, un designer et historien des typographies\n\nQuelques lectures utiles sur des aspects techniques de la typographie :\n\n- [CSS Baseline: The Good, The Bad And The Ugly](https://www.smashingmagazine.com/2012/12/css-baseline-the-good-the-bad-and-the-ugly/)\n- [Rule of Thirds Web Design: Using Layout Secrets](https://designwebkit.com/web-design/rule-of-thirds-web-design/)\n- [Readability and Typesetting Basics: Kerning, Tracking, Leading, and More!](https://design.tutsplus.com/articles/readability-and-typesetting-basics-kerning-tracking-leading-and-more--cms-36859)\n\n### Palettes de couleurs\n\n- [open color](https://yeun.github.io/open-color/), le *dictionnaire Larousse* des couleurs\n- [coloors](https://coolors.co/), fouiller ce site il vous offre toute une palette d'outils incroyables autre que les palettes de couleurs\n- [colorspace](https://mycolor.space/), générateur de palettes de couleurs stylé\n- [css duotones](https://cssduotone.com/)\n- [duotones](https://medialoot.com/duotones/), palettes duotones (deux couleurs)\n- [palette ninja](https://palette.ninja/)\n- [pattern background](http://www.patternify.com/)\n- [palettes](https://flatuicolors.com/)\n- [data color picker : palette generator](https://learnui.design/tools/data-color-picker.html)\n- [huetone](https://huetone.ardov.me/), des palettes de couleurs, avec une attention apportée à l'[accessibilité](#accessibilité)\n- [colorspectrum](https://colorspectrum.design/generator.html)\n- [randomally](https://randoma11y.com/), générateur de combinaisons de couleurs\n\n### Pack d’icônes/favicons\n\nDes icônes, des icônes et encore des icônes. Faites votre choix :\n\n- [favicon generator](https://favicon.io/)\n- [icomoon](https://icomoon.io/)\n- [font awesome icons](https://fontawesome.com/v4.7.0/icons/)\n- [bootstrap icons](https://icons.getbootstrap.com/), plus de 1600 icônes gratuites en SVG ou webfont mis à disposition par [Bootstrap](https://getbootstrap.com/)\n- [Tabler Icons](https://tablericons.com/)\n- [heroicons](https://heroicons.com/)\n- [iconshock](https://www.iconshock.com/)\n- [phosphor icons](https://phosphoricons.com/)\n- [vertex](https://vertex.im/), icônes 3D customizables\n- [icons8](https://icons8.com/)\n- [pixelarticons](https://pixelarticons.com/), des icônes en pixelart\n\n### Classic gif\n\n- [The 88x31 GIF Collection: Part 1](https://cyber.dabamos.de/88x31/index.html), des vieux gifs des années 90/2000\n\n### Images: photos, illustrations, svg\n\n- [unsplash](https://unsplash.com/)\n- [pexels](https://www.pexels.com/fr-fr/)\n- [drawkit](https://drawkit.com/)\n- [undraw](https://undraw.co/)\n- [compresseur](https://squoosh.app/)\n- [noun project](https://thenounproject.com/)\n- [fake images please?](https://fakeimg.pl/)\n- [freepik](https://www.freepik.com/)\n- [profile pic Maker](https://pfpmaker.com/), faire une photo de profil classe à partir de \"n'importe quelle photo\"\n- [blush.design](https://blush.design/fr)\n- [story-set](https://storyset.com/), customization/animation d’illustrations\n- [dover collection series](https://fr.wikipedia.org/wiki/Dover_Publications), des séries de gravures sur bois magnifiques sur tous les thèmes (motifs, plantes, mobilier, ornements de toutes les époques et style, animaux etc...). Une vraie boîte de pandore, et la totalité de ces illustrations sont libérées du droit d'auteur, donc vous pouvez les utiliser, les modifier etc..\n\n### Générateurs/Templates CSS\n\n- [gloweffect](https://codersblock.com/blog/creating-glow-effects-with-css/), générer des glow effects\n- [underline generator](https://underline-generator.netlify.app/)\n- [ribbon generator](https://www.cssportal.com/css-ribbon-generator/), créez vos rubans\n- [3dbookcovergenerator](https://3dbookcovergenerator.netlify.app/), créez des visuels 3D de livres à partir d'une image\n- [button generator](https://markodenic.com/tools/buttons-generator/)\n- [simple.css](https://github.com/kevquirk/simple.css), un template css sans classe pour prototyper un site markup stylé rapidement.\n- [new.css](https://github.com/xz/new.css), un framework css sans classe utilisant uniquement les sélecteurs de balise HTML et qui pèse 4.8kb\n- [houdini.how](https://houdini.how/)\n- [hover.css](http://ianlunn.github.io/Hover/), collection d'effet *hover* CSS\n- [min-max-calculator](https://min-max-calculator.9elements.com/), créer des mise à l'échelle de votre font en fonction de la taille du displayport\n\n### Générateur d'assets au format SVG\n\n- [getwaves](https://getwaves.io/), faites des vagues\n- [blobmakers](https://www.blobmaker.app/), créer des formes uniques et organiques en svg rapidement\n- [clip path maker](https://bennettfeely.com/clippy/), créer des svg de manière interactive\n- [fancy border radius](https://9elements.github.io/fancy-border-radius/full-control.html)\n- [haeiki](https://haikei.app/), générer des assets svg\n- [creer-qr-code.fr](https://creer-qr-code.fr) - générer de QR codes au format svg et png\n\n### Motifs\n\n- [patternify](http://www.patternify.com/), générateur de motifs CSS\n\n### Animations CSS (keyframes API) ou JS\n\nExpérimenter et créer des animations CSS\n\n- [Animista](https://animista.net/), expérimentez les animations CSS\n- [Pictogon](https://pictogon.com/), images interactives\n- [keyframes animate](https://keyframes.app/animate/)\n- [wait !](https://waitanimate.wstone.uk/), des animations à jouer pendant le chargement d'une ressource ou la fin d'un processus pour faire patienter l'utilisateur\n- [lottie](https://airbnb.design/lottie/)\n- [zzz.dog](https://zzz.dog/), des animations rondes, a plat, pseudo 3D\n- [haikuanimator](https://www.haikuanimator.com/)\n- [Animate.css](https://animate.style/), animations en pure CSS, à importer directement via un CDN\n\n### Composants, extraits de code\n\n- [Magic UI](https://magicui.design/), composants\n- [shadcn/ui](https://ui.shadcn.com/), composants\n- [codepad](https://codepad.co/), code snippets dans tout un tas de langages et composants pour le front (html,css,js)\n- [snipplr](https://snipplr.com/)\n- [web code tools](https://webcode.tools/), des outils clés en mains pour le développement web\n- [code my ui](https://codemyui.com/), inspirations et code snippets pour le web design/ui\n- [cssui](https://www.cssui.dev/), composants interactifs en CSS (sans JS)\n- [Hyperiux Vault](https://vault.hyperiux.com/), effets d'animation et composants interactifs pour Next.js, installables via une CLI qui copie le code source directement dans votre projet (effets gratuits disponibles)\n\n### Gradients\n\n- [CSS Gradient](https://cssgradient.io/), un générateur de gradient\n- [grainy gradients playground](https://t.co/MtQzCPpwr5), un générateur de gradients pointillistes\n\n### Générateur de mise en page / *layouts*\n\n- [layout generator](https://grid.layoutit.com/)\n- [flexbox builder](https://flexbox.webflow.com/)\n\n### Courbes de Bézier\n\n- [cubic-bezier](https://cubic-bezier.com/#.17,.67,.83,.67)\n- [The Engineering behind Figma's Vector Networks](https://alexharri.com/blog/vector-networks), de Alex Harri (2019), décrivant l'approche unique utilisée par Figma pour leur outil de courbes de Bézier. Contient une section très ludique sur le fonctionnement des courbes de Bézier\n\n### JS\n\n- [magic grid](https://github.com/e-oj/Magic-Grid)\n- [scroll reavel](https://scrollrevealjs.org/), animer le scrolling de vos pages webs\n- [three.js](https://threejs.org/), animation 3D dans le navigateur, basé sur WebGL\n- [anime.js](https://animejs.com/)\n- [greensock](https://greensock.com/), créer de l'animation engageante pour votre site\n- [mo.js](https://mojs.github.io/)\n- [velocity.js](https://velocity.org)\n\n### Backgrounds\n\n- [pattern background](http://www.patternify.com/)\n- [stripes generator](https://stripesgenerator.com/)\n\n### Pixel art\n\n- [pixel art to css](https://t.co/6eyHLm8PUE)\n\n### Agrégateurs de design, inspiration\n\n- Votre vie\n- Les affiches dans la rue\n- Le web !\n- [wayback machine](https://web.archive.org/), quoi de mieux que de fouiller dans les archives du web et de parcourir tous ces sites qui n'existent plus ?\n- [Web Design Museum](https://www.webdesignmuseum.org/), découvrez et inspirez-vous des tendances en webdesign parfois oubliées (et qui reviennent, souvent, à la mode)\n- [Le design brutaliste (qui revient à la mode)](https://brutalist-web.design/)\n- [cern](https://worldwideweb.cern.ch/browser/), un aperçu du premier navigateur web WorldWideWeb\n- [first website](http://info.cern.ch/hypertext/WWW/TheProject.html), première page web publique du web\n- [webpagesthatsuck](http://www.webpagesthatsuck.com/), des designs jugés horribles qui peuvent servir d'inspiration\n- [brutalistwebsites](https://brutalistwebsites.com/), une collection de sites dont le design se revendique du mouvement [brutaliste](https://fr.wikipedia.org/wiki/Brutalisme)\n- [land-book](https://land-book.com/)\n- [onepagelove](https://onepagelove.com/)\n- [awwwards](https://www.awwwards.com/)\n- [screenlane](https://screenlane.com/)\n- [webdesign inspiration](https://www.webdesign-inspiration.com/fr/)\n- [dribble](https://dribbble.com/)\n- [landingfolio](https://landingfolio.com/?offset=1), designs de landing pages\n- [ui garage](https://uigarage.net/)\n- [collect ui](https://collectui.com/)\n- [behance](https://www.behance.net/), explorez le monde de la création\n- [admiretheweb](https://www.admiretheweb.com/)\n- [lapa.ninja](https://t.co/PDsqFU39on), templates de landind pages, accès à des livres gratuits pour les designers\n- [landing-page-examples](https://www.btw.so/marketing/landing-page-examples)\n- [cssnectar](https://cssnectar.com/), nectar du web design\n- [siteinspire](https://www.siteinspire.com)\n- [triPixel](https://tripixel.gay/main)\n\n### Composants\n\n- [accordion slider generator](https://accordionslider.com/)\n- [navbar generator](http://www.menucool.com/css-menu)\n- [button](https://www.bestcssbuttongenerator.com/)\n- [loader](https://loading.io/), des loaders\n- [uiball.com/loaders](https://uiball.com/loaders/), des loaders\n- [Froala Design Blocks](https://froala.com/design-blocks/), une banque de composants prêt à l'emploi\n\n### UI/UX\n\n- [figma](https://www.figma.com/), actuellement le meilleur éditeur de design (webapp/desktop) gratuit\n- [App Doodler](https://doodler.copymyui.com/), un outil libre et gratuit pour créer des captures App Store multilingues à partir de mises en page et de traductions réutilisables\n- [TextFaker](https://textfaker.com/), un outil libre pour créer des captures réalistes de conversations iPhone destinées aux maquettes, démonstrations et supports pédagogiques\n- [checklistdesing](https://www.checklist.design/), une collection des meilleures pratiques de design web\n- [laws of UX](https://lawsofux.com/), une autre collection des meilleures pratiques en design web, très bien faite, avec un résumé de ce qu'il faut retenir sur chaque post\n- [design principles](https://principles.design/)\n- [uiplaybook](https://uiplaybook.dev/), un dictionnaire des composants webs (fonction, bonnes pratiques, implémentation etc..)\n- [UX challenges](https://uxtools.co/challenges), exercices d'UX\n- [future learn](https://www.futurelearn.com/courses/digital-skills-user-experience), apprendre l'ux, maintenu par Accenture\n- [baselinehq](https://baselinehq.com/), un bootcamp gratuit produit par des professionnels\n- [springboard](https://www.springboard.com/resources/learning-paths/user-experience-design/), apprendre l'ux/ui\n- [UXMTYHS](https://uxmyths.com/), collection des erreurs de conception en UX avec des explications sur le pourquoi\n- [Google UX Design](https://www.coursera.org/professional-certificates/google-ux-design#courses=)\n- [Decathlon figma](https://www.figma.com/@decathlon), Decathlon a ouvert au domaine public tout son système de design\n\n### Sitemap\n\n- [octopus](https://octopus.do/), un outil en ligne pour construire le sitemap (architectures des pages, composants) de son projet\n\n### Quelques références tierces\n\n- [w3schools](https://www.w3schools.com/), une bonne référence. On y trouve toutes les ressources pour apprendre le développement web, surtout côté navigateur\n- [css grid](https://css-tricks.com/snippets/css/complete-guide-grid/)\n- [flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)\n- [css selectors](https://www.w3schools.com/cssref/css_selectors.asp)\n- [how to draw an svg in Inscape](https://www.youtube.com/watch?v=PSl1c6kYfHs), un tutoriel qui explique bien comment faire un svg à partir d'une image bitmap\n\n### Apprendre le web design\n\n- [Learn Design](https://www.figma.com/resources/learn-design/), série de cours proposés par Figma\n- [hackdesign](https://hackdesign.org/)\n- [Web Design Tips for Beginners: The Ultimate Guide](https://studywebdevelopment.com/web-design-tips.html)\n- [Guidelines for Brutalist Web Design](https://brutalist-web.design/), guidelines pour développer des sites web *content first*\n- [Using color wisely](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors/Using_color_wisely), guide de la MDN sur l'usage des couleurs\n\n### Check, check, check\n\n#### Code\n\n- [The W3C Markup Validation Service](https://validator.w3.org/), valider le code source de vos pages web\n- [Can i use ...](https://caniuse.com/)\n\n#### Est-ce-que j'ai oublié un truc ?\n\n- [Landing Page Checklist](https://landingpage.fyi/landing-page-checklist.html), des ressources pour votre landing page et s'assurez de n'avoir rien oublié d'important\n- [Front-end checklist](https://frontendchecklist.io/)\n- [unused-css](https://unused-css.com/), détecte le CSS non utilisé sur une page web\n- [Checklist Design](https://www.checklist.design/), une collection des meilleurs pratiques de design. Pour chaque composant, cochez une à une les cases d'un checklist pour voir si vous n'avez rien oublié (page login, page 404, flot de paiement, logo etc... )\n- [faviconcheck](https://faviconcheck.30apps.me/), vérifier comment rend vos favicons sur différents os, navigateurs ou thèmes\n\n#### Accessibilité\n\n\u003e L'[accessibilité du web](https://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_web) est la problématique de l'accès aux contenus et services web par les personnes handicapées et plus généralement par tous les utilisateurs, quels que soient leurs dispositifs d’accès ou leurs conditions d’environnement.\n\n- [Premiers pas pour rendre un site Web accessible](https://www.w3.org/WAI/gettingstarted/Overview), une liste de tutoriels de la W3C pour rendre votre site web plus accessible\n- [Design and Develop Overview](https://www.w3.org/WAI/design-develop/), sujets, tutoriels et conseils pour rendre votre site web plus accessible\n- [WebAIM: web accessibility in mind](https://webaim.org/), vérifier et se documenter sur l'accessibilité du web pour les personnes souffrant de handicap\n- [Sensible Forms: A Form Usability Checklist](https://alistapart.com/article/sensibleforms/), améliorer l'accessibilité des formulaires HTML\n\n#### Perfs et config\n\n- [pingdom](https://tools.pingdom.com), tester le temps de chartement d'une page et obtenir un diagnostic\n- [pingtest](https://tools.keycdn.com/ping), ping un nom de domaine depuis plusieurs positions sur le globe\n- [whatsmydns.net](https://www.whatsmydns.net/), visualiser la propagation sur les serveurs DNS de votre enregistrement DNS\n- [intodns](https://intodns.com/), vérifier votre config DNS (serveur web, serveur mail,etc.)\n- [WebPageTest](https://www.webpagetest.org/), un projet open-source soutenu par Google avec un focus sur le network. Au top\n- [measuring page weight](https://mobiforge.com/design-development/measuring-page-weight), un article (en anglais sorry, j'essaierai de trouver un article équivalent en fr) qui discute de la façon dont est calculé le poids d'une page et la recherche d'un standard. Liste également tous les outils populaires pour faire des mesures\n\n#### Analyse de texte\n\n- [word-counter](https://freecodetools.org/word-counter), donne des métriques sur un texte (nombre de mots, caractères, paragraphes etc..)\n\n#### Contraste\n\n- [color contrast checker](https://coolors.co/contrast-checker/495057-ffffff)\n- [WebAIM contrast checker](https://webaim.org/resources/contrastchecker/)\n\n## WordPress\n\n### Un mot\n\nEn 2021 on comptait [environ 455 000 000 sites WordPress](https://techjury.net/blog/percentage-of-wordpress-websites/). Cela représente *au moins 30% du web*, mais en réalité plutôt *40%* (estimation haute).\n\nWordPress est un framework parfaitement adapté pour *gérer et publier* du contenu sur Internet. C'est un outil versatile qui peut être adapté pour toute taille de projet. Si WordPress peut être utilisé pour *tout faire*, il n'est pas *toujours* la solution la plus adaptée !\n\nCe framework existe depuis 2004, dans le monde du logiciel libre c'est une éternité.\n\nWordPress est développé et pensé *pour l'utilisateur final* (celui qui publie et gère le contenu), et non pour le développeur. Les utilisateurs se moquent bien de nos outils tant qu'ils ont ce qu'ils demandent. WordPress, à l'instar de LibreOffice ou autre, est devenu un standard de gestion de contenu en ligne que beaucoup de personnes non-techniciennes connaissent bien, utilisent quotidiennement et demandent. C'est donc un énorme avantage de capitaliser dessus pour les futurs utilisateurs de votre application web.\n\n### Doc officielle wordpress.org\n\nTrès bien faite, mais peut parfois demander un peu d'experience pour s'y retrouver. Ne pas oublier que de documenter un immense framework qui évolue sans cesse est un immense challenge en soi.\n\n- [Codex](https://codex.wordpress.org/)\n- [Wordpress hierarchy](https://developer.wordpress.org/themes/basics/template-hierarchy/)\n- [Wordpress coding standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/)\n- [Template tags](https://codex.wordpress.org/Template_Tags)\n- [Using Permalinks](https://wordpress.org/support/article/using-permalinks/)\n- [Data Sanitization/Escaping](https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/#escaping-with-localization)\n- [Localization](https://developer.wordpress.org/apis/handbook/internationalization/localization/)\n- [Make Wordpress](https://make.wordpress.org/), un hub centralisés de ressources pour les développeurs Wordpress\n\n### Articles\n\n- [WordPress Taxonomies: The Ultimate Guide](https://ithemes.com/blog/wordpress-taxonomies)\n- [WordPress Permalinks: The Essential Guide](https://ithemes.com/blog/wordpress-permalinks)\n\n### Livres de développement Wordpress\n\nA télécharger sur [pdfdrive](https://www.pdfdrive.com/):\n\n- *[Professional WordPress: Design and Development](https://www.pdfdrive.com/wrox-press-professional-wordpress-design-and-development-3rd-e30698942.html)* de Brad Williams et David Damstra, Edition Wrox, 3rd Edition, 2015\n- *[Professional WordPress Plugin Development](https://www.pdfdrive.com/professional-wordpress-plugin-developmen-4074kb-jun-27-2012-120000-am-e42772568.html)* de Brad Williams et Justin Taldock, Edition Wrox, 2nd Edition, 2020\n- *[Modern PHP: new features and good practices](https://www.pdfdrive.com/modern-php-e34337192.html)*, Josh Lochart, Edition O'REILLY, 2015\n\n### Épisodes de podcasts sur Wordpress\n\n- [070: All things WordPress](https://phproundtable.com/episode/all-things-wordpress), [Tessa Kriesel](https://twitter.com/tessak22?s=20\u0026t=L4nTJJGyh2w5UbPY7aDo9g) présente ici l'état et le futur de Wordpress ainsi que l'histoire de son développement\n- [The thing about Wordpress](https://podcast.htmlallthethings.com/e/the-thing-about-wordpress/), Matt y discute des avantages et inconvénients de Wordpress en tant que développeur. Tout ce qui est discuté ici est pertinent\n\n### Podcasts dédiés à Wordpress\n\n- [dradcast](http://dradcast.com/)\n- [wp watercooler](https://wpwatercooler.com/)\n\n### Formations\n\n- [Cours wordpress.org](https://learn.wordpress.org/courses)\n- [Building websites with WordPress](https://nmiletic.gumroad.com/l/kSrqD)\n- [Learn Wordpress](https://kinsta.com/learn/)\n- [Wordpress for beginners training](https://yoast.com/academy/free-training-wordpress-for-beginners/)\n- [How to Learn WordPress for Free in a Week (or Less)](https://twitter.com/natmiletic/status/1511711827398258695)\n- [Wordpress tutorials](https://www.siteground.com/tutorials/wordpress/)\n- [How to](https://wordpress.tv/category/how-to/), video\n- [Our wordpress library](https://wpapprentice.com/courses/)\n- [Wordpress freecodecamp](https://www.freecodecamp.org/news/tag/wordpress/)\n- [Building PHP MVC Framework from Scratch](https://www.youtube.com/watch?v=WKy-N0q3WRo\u0026list=PLLQuc_7jk__Uk_QnJMPndbdKECcTEwTA1), The Codeholic. Pas sur Wordpress mais montre les fonctionnalités de base d'un framework à implémenter\n\n### Starter themes\n\n- [underscores](https://underscores.me/)\n- [astra](https://fr.wordpress.org/themes/astra/)\n- [generate press](https://generatepress.com/)\n- [tail press](https://tailpress.io/)\n\n### Banque de thèmes\n\n- [colorlib](https://colorlib.com/)\n- [themeforest](https://themeforest.net/), des themes wordpress mais pas que\n\n### Plugins recommandés\n\nLe plus recommandé est *de limiter au maximum l'usage de plugins pour vos thèmes*. Cela dit certains plugins stables et bien maintenus sont souvent de la partie pour des sites en production\n\n- [Advanced Custom Fields](https://www.advancedcustomfields.com/), et non [SCF](https://www.lemondeinformatique.fr/actualites/lire-wordpress-s-attaque-au-plugin-acf-de-wp-engine-94979.html) !\n- [ewww image optimizer](https://wordpress.org/plugins/ewww-image-optimizer/)\n- [bulletProof Security](https://wordpress.org/plugins/bulletproof-security/), bonne alternative à WordFence\n- [carbon fields](https://carbonfields.net/), alternative gratuite à ACF Pro\n- [fakerpress](http://fakerpress.com/r/github), générateur de faux contenu pour tester son thème\n- [RankMath](https://rankmath.com/fr/), plugin SEO, bonne alternative à [Yoast](https://yoast.com/)\n- [BuddyPress](https://wordpress.org/plugins/buddypress/), plugin pour ajouter une couche réseau social à votre site\n- [bbPress](https://wordpress.org/plugins/bbpress/), gestionnaire de forums/fils de discussion\n- [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/), un plugin pour optimiser les performances de Wordpress, complètement agnostique de l'hébergeur. Mise en cache des pages webs etc... Au final, améliore l'experience utilisateur et le SEO de votre site. Vérifiez que votre hébergeur ne vous propose pas déjà un plugin de mise en cache maison avant de l'installer sur votre site en prod\n\n### Articles sur la pratique de WordPress et son évolution vers le FSE\n\n- [Testing and Feedback for using block based template parts in classic themes](https://make.wordpress.org/themes/2022/09/12/testing-and-feedback-for-using-block-based-template-parts-in-classic-themes/)\n- [The Imaginary Block-vs-Classic Battle in WordPress](https://masterwp.com/the-imaginary-block-vs-classic-battle-in-wordpress/)\n\n## Hébergement gratuit\n\n- [Neocities](https://neocities.org/), [Neocities](https://fr.wikipedia.org/wiki/Neocities) est un hébergeur web ayant pour objectif de faciliter la création de sites internet personnels afin d'offrir une alternative aux réseaux sociaux. Il s'inscrit dans la continuité du légendaire [Geocities](https://www.lemonde.fr/technologies/article/2010/11/02/la-memoire-de-geocities-compilee-en-un-fichier_1434450_651865.html), un ancien service d'hébergement web gratuit fondé en 1994, fermé en 2009\n- [GitHub Pages](https://pages.github.com/), GitHub offre la possibilité d'héberger un site statique\n- [Mini-Tools upload](https://mini-tools.uk/upload), téléverser une image et obtenir une URL directe partageable sans compte. Propose également une suite d'outils navigateur ([consulter le dépôt Github](https://github.com/knsjd25/nxcmms) du projet)\n\n\n## Mots de passe\n\n### Gestionnaire de mots de passe\n\n- [KeePassXC](https://keepassxc.org/), les navigateurs proposent de sauvegarder vos mots de passe. Mais ils ne sont pas conçus pour ça et ce n'est pas l'idéal d'un point de vue sécurité. Mieux vaut utiliser un gestionnaire de mots de passe sur votre machine pour les accès sensibles. KeePassXC est un gestionnaire de mots de passe multiplateforme et open-source. Il stocke vos mots de passe dans une base de données cryptée et respecte les standards. Il offre également tout un tas d'autres fonctionnalités. Il vient même [avec une extension pour votre navigateur favori](https://keepassxc.org/docs/KeePassXC_GettingStarted.html#_configure_keepassxc_browser) qui se connecte à votre base de données de mots de passe et (essaie) de remplir automatiquement les formulaires de login.\n\n### Générateur de mots de passe\n\n- [xkpasswd](https://xkpasswd.net/s/), créer des mots de passes sécurisés ET faciles à retenir (si vous devez le faire)\n\n## Git\n\n- [inside .git](https://wizardzines.com/comics/inside-git/), comic strip de [Julia Evans](https://twitter.com/b0rk) sur le système de fichiers interne de git\n- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), une spécification pour ajouter une signification lisible par l'humain et par la machine aux messages de commit, pour s'en servir de base à des outils d'automatisation\n\n## Déploiement\n\n- [FileZilla](https://filezilla-project.org/), le client ftp/sftp open source par excellence (évitez déployer en ftp sur un projet complexe, il y a de meilleures alternatives pour moins de charge mentale). Dépanne toujours et fonctionne très bien pour des sites web simples.\n- [Capistrano](https://capistranorb.com/), un outil pour déployer automatiquement sur un serveur distant, avec gestion de version, rollbacks etc... Pour un déploiement sans stress\n\n## DevOps\n\n\u003e \"DevOps is a meaningful term\"\n\n- [Pourquoi notre workflow Devops est le plus efficace et rentable que vous puissiez trouver aujourd'hui (1ère partie)](https://bearstech.com/societe/blog/pourquoi-mettre-en-oeuvre-un-workflow-devops), de [bearstech](https://bearstech.com/)\n- [Devops exercises](https://github.com/bregman-arie/devops-exercises), une collection d'exercices et de corrigés sur de nombreux sujets et technologies\n\n## Tests\n\n- [Programmer Test Principles](https://medium.com/@kentbeck_7670/programmer-test-principles-d01c064d7934), de Kent Beck;\n- [Test Desiderata](https://medium.com/@kentbeck_7670/test-desiderata-94150638a4b3), de Kent Beck\n\n## Mouvement \"NoCode\", outils *visual code* (*no-code* ou *low-code*)\n\n- [No Code Summit](https://www.nocode-summit.org/fr/), conférence organisée par l'Union Française des Professionnels du NoCode qui fédère et représente les professionnels du NoCode et du LowCode\n- [No-Code France](https://nocode-france.fr/), association et espace communautaire francophone dédié au No-Code (slack, chaîne YouTube, veille, meetups)\n- [Makerpad](https://makerpad.zapier.com/), communauté consacrée au NoCode (tutoriels, posts, veille), crée en 2018\n- [Webflow University](https://university.webflow.com/), des cours sur le développement de site webs avec Webflow\n- [Bubble Academy](https://bubble.io/academy), la source principale de guides pour développer avec Bubble\n- [La gazette du No-Code](https://gazette.nocode-france.fr/index.html), un média 100% NoCode dédiée au NoCode (portraits, actualitiés, interviews, tests d'outils, etc.)\n\n## Quitter Github\n\nLe 29 Juin 2022, le *software freedom conservancy* [a publié un article incitant à abandonner GitHub](https://sfconservancy.org/GiveUpGitHub/) pour se tourner vers des plateformes d'hébèrgement de codebase plus respectueuses de l'open-source et des utilisateurs.\n\nL'article mentionne les raisons très claires de cette initiative et alerte sur la dérive du logiciel propriétaire GitHub. GitHub a porté un coup de grâce [en monétisant l'outil copilot entraîné sur les dépôts des utilisateurs sous licence libre (mais non sur les codebases de Windows)](https://sfconservancy.org/blog/2022/feb/03/github-copilot-copyleft-gpl/) et en laissant lettre morte les revendications et questions adressées par la communauté.\n\n**Souscrivant à la vision et aux arguments du *software freedom conservancy*, cette liste sera migrée prochainement vers une autre plateforme.**\n\nDes alternatives existent et vont se créer. Voici une liste de plateformes alternatives\n\n- [codeberg](https://codeberg.org/)\n- [sourcehut](https://sourcehut.org)\n\nSinon vous pouvez mettre en place vous même votre hebergement de gestionnaire de projets à l'aide de ces outils\n\n- [gitea](https://gitea.io/en-us/)\n- [sourcehut](https://sourcehut.org)\n\n## Logiciels *open-source* et *logiciels libres* (free software)\n\n- [gnu.org](https://www.gnu.org/), le site officiel de l'OS GNU/Linux et par extension du mouvement du logiciel libre. Vous y trouverez toutes les informations pratiques sur le libre\n- [opensourcealternative](https://www.opensourcealternative.to/), trouver une solution alternative open-source à ...\n- [degooglisons-internet](https://degooglisons-internet.org/fr/), remplacer tous vos services tiers propriétaires par du libre (partage de fichiers, communication...)\n- [Framasoft](https://framasoft.org/fr/), association d'éducation populaire soutenant plusieurs projets open-source dont Framalibre\n- [flop!EDT](https://flopedt.org/), gestionnaire d'emploi du temps personnalisé open-source\n- [Framalibre](https://framalibre.org/), l'annuaire des logiciels libres\n- [librejs](https://www.gnu.org/software/librejs/), une extension pour navigateur pour bloquer uniquement l'execution du JavaScript non libre\n- [Le piège JavaScript, Richard Stallman (traduction fr)](https://www.gnu.org/philosophy/javascript-trap.html), article de Richard Stallman traduit en français sur les problèmes que posent l'execution de code Javascript dans le navigateur vis à vis du logiciel libre et de son éthique\n- [En quoi l'open source perd de vue l'éthique du logiciel libre](https://www.gnu.org/philosophy/open-source-misses-the-point.html), article originellement publié par Richard Stallman sous le titre *Why Open Source Misses the Point of Free Software*. Pour bien comprendre les différences philosophiques et pratiques dans des cas très concrets entre les deux mouvements\n\n## Capture/Édition vidéo\n\n- [Pitivi](https://www.pitivi.org/tour/), très bon éditeur vidéo open-source, simple à utiliser, avec beaucoup de fonctionnalités avancées et puissant (notamment à l'export impeccable)\n- [unscreen](https://www.unscreen.com/), retirer l'arrière plan d'une vidéo en ligne (automatique)\n- [ffmpeg](https://ffmpeg.org/), collection de logiciels libres maintenus depuis les années 2000 pour manipuler les flux audio et vidéo. Indispensable\n- [HandBrake](https://handbrake.fr/), un converteur vidéo open source pour convertir et compresser vos vidéos en utilisant les meilleurs algorithmes de compression\n- [Shrink my video!](https://acailly.github.io/shrink-my-video/), un outil en ligne pour compresser facilement vos vidéos (préférer handbrake pour faire tout le travail en local si possible)\n- [SimpleScreenRecorder](https://www.maartenbaert.be/simplescreenrecorder/), un très bon logiciel, simple et complet, de capture vidéo de son écran et du son, parfait pour enregistrer des screencasts et des tutos.\n- [OBS Studio](https://obsproject.com/fr), logiciel libre d'enregistremetn vidéo et de streaming en direct multiplateforme\n\n## Principes généraux et fondamentaux\n\n- [What Every Programmer Should Know About Floating-Point Arithmetic](https://floating-point-gui.de/)\n- [Dive into Systems](https://diveintosystems.org/singlepage/), de Suzanne J. Matthews, Tia Newhall, Kevin C. Webb. Livre complet en ligne sur les fondamentaux avec de la programmation C, assembleur, architecture, multithreading\n\n## Standards\n\n\u003cimg src=\"./img/standards_2x.png\" width=500\u003e\n\n[source](https://xkcd.com/927/)\n\n\u003e \"The good thing about standards is that there are so many to choose from.\" ([Andrew Tanenbaum](https://fr.wikipedia.org/wiki/Andrew_Tanenbaum))\n\n### Organismes\n\nUne liste non exhaustive d'organismes qui implémentent et maintiennent les standards ouverts dans différents domaines de l'informatique.\n\n- [OASIS OPEN](https://www.oasis-open.org/), groupe de collaboration (individus, entreprises, gouvernements, etc.) en charge de l'implémentation et de la maintenance de standards informatiques ouverts, comme DITA, DocBook, OData, OpenDocument, etc. [Voir tous les projets ici](https://www.oasis-open.org/projects-committees/).\n- [W3C](https://www.w3.org/), le *World Wide Web Consortium*, en charge de maintenir et développer les standards ouverts du Web.\n- [WHATWG](https://whatwg.org/), le *Web Hypertext Application Technology Working Group* est un groupe de collaboration qui travaille sur la standardisation des navigateurs webs ([voir ici les standards](https://spec.whatwg.org/) sur lesquels ce groupe travaille) et des standards associés comme le protocole WebSocket, le Storage, XMLHttpRequest, etc. C'est un groupe qui a été formé en 2004, suite à un atelier organisé par le W3C, par des personnes travaillant chez Apple, Mozilla et Opera. Il a été crée en réponse au fait que le W3C partait un peu en cavalier seul sur le futur du standard HTML avec XHTML (qui au final a donné HTML5) sans prendre assez en compte l'état de l'industrie du développement informatique. Il représente surtout le côté industrie du web et les *vendor* de navigateur web, et cherche à accélérer le développement des standards pour les implémenter rapidement, *pour le meilleur et pour le pire* (surtout le pire). Aujourd'hui Google et Microsoft ont rejoint ce groupe et il travaille en collaboration avec le W3C dont certains membres en font également partie.\n- [Internet Engineering Task Force (IETF)](https://www.ietf.org/), L’[Internet Engineering Task Force (IETF)](https://fr.wikipedia.org/wiki/Internet_Engineering_Task_Force), élabore et promeut des standards Internet, en particulier les standards qui composent la suite de protocoles Internet (TCP/IP). L'IETF produit la plupart des nouveaux standards d'Internet. Le but du groupe est généralement la rédaction d'une ou plusieurs [Request for comments (RFC)](#request-for-comments-rfc-drafts-et-w3c), nom donné aux documents de spécification à la base d’Internet.\n- [Open Container Initiative (OCI)](https://opencontainers.org/), gouvernance pour maintenir et garantir des standards ouverts sur les formats de conteneurs et de leurs environnement d'exécution. En font partie Docker Inc., Red Hat, Google, etc.\n- [Web Developer Experience (WebDX) Community Group](https://www.w3.org/community/webdx/), groupe de travail de la [W3C](https://www.w3.org/) regroupant les principaux éditeurs de navigateurs web (Mozilla, Microsoft, Apple, Google ) pour créer un *ensemble connu de fonctionnalités sécurisées*. Le travail de ce groupe se retrouve sous la forme du [Web Platform Baseline](https://web.dev/baseline?hl=fr), un *ensemble d'informations claires* sur la compatibilité des navigateurs avec les fonctionnalités du web (actuelles et à venir) que l'on peut utiliser en sécurité (en production). Ces informations se retrouvent sur la [MDN Web Docs](https://developer.mozilla.org/en-US/).\n- [MDN Web Docs](https://developer.mozilla.org/en-US/), documentation open-source et collaborative de l'ensemble des technologies du web (CSS, HTML, Javascript, Wasm, Web API). C'est le projet de documentation de la *plateforme de développement web*. Maintenue par le groupe de travail [Open Web Docs (OWD)](https://opencollective.com/open-web-docs)\n- [Interop](https://github.com/web-platform-tests/interop), groupe de travail spécialisé dans l'interopérabilité entre les navigateurs (implémentations des standards du web). Ce groupe maintient notamment [une suite de tests cross-browsers](https://github.com/web-platform-tests/wpt)\n\n### SGML\n\nSGML est un métalangage à balise pour définir des langages à balise (markup langages). SGML est à l'origine de tous les langages à balise, comme HTML ou XML qui en sont des *applications*.\n\n- [A brief SGML tutorial](https://www.w3.org/TR/WD-html40-970708/intro/sgmltut.html)\n\n### XML\n\n#### Un mot sur le XML\n\nLe standard [XML](https://www.w3.org/XML/) (*eXtensible Markup Language*) est extrêmement puissant pour construire des documents robustes, échangeables et faciles à maintenir (lire et écrire) dans le temps. Contrairement aux idées reçues, il n'est pas *mort* et [n' a pas vocation à être remplacé par JSON](https://codepunk.io/xml-vs-json-why-json-sucks/) car les deux standards n'ont pas du tout la même histoire, ni les mêmes ambitions. Loin de là...\n\nXML est un format universel pouvant être lu facilement par des humains et par des machines. XML est né en 1998 du standard SGML (qui a donné l'*application HTML*, un sous-ensemble du standard SGML, plus simple et plus permissif adapté au web). XML est également une simplification du standard SGML.\n\nSon but initial était de faire office de standard pour conserver les documents numériques dans un format indépendant des machines, des OS ou des supports physiques. L'idée du W3C était de créer un standard qui permettra de lire votre document sur une techno inconnue dans 2000 ans. C'est un projet fascinant. Il était avant tout destiné à des documents narratifs (rapports, articles, catalogues). Il est basé sur la séparation stricte du contenu et de la forme.\n\nLes développeurs s'en sont emparés ensuite pour faire du maintien d'enregistrement pour leurs applications, ce qui n'avait pas été envisagé dans sa conception initiale.\n\nXML s'accompagne d'autres standards comme\n\n- [XPath](http://www.xmlfacile.com/guide_xml/xpath_1.php5), un standard qui permet de requêter la structure XML pour naviguer dans la structure de données et la manipuler\n- [XQuery](https://www.w3schools.com/xml/xml_xquery.asp), un standard qui permet de reqûeter l'abre via un *langage déclaratif* (le pied) comme le SQL\n- [XSLT](https://www.w3schools.com/xml/xml_xslt.asp), standard plus avancé que le CSS pour mettre en forme les données XML pour la publication (vers un autre fichier XML, le web, le papier, etc.). Permet également de modifier l'affichage d'éléments, de les réorganiser etc...\n- [DTD](https://www.w3schools.com/xml/xml_dtd.asp), pour la validation des données par un schéma\n- et d'autres encore (XML Schema, etc.)...\n\nTous ces standards font d'XML un outil à avoir dans sa poche lorsque l'on a besoin d'échanger ou de construire des structures de données complexes et *validables*, ou de produire des documents indépendemment de leurs usages (web, présentation, impression papier, etc.).\n\n#### Apprendre le XML et ses standards associés\n\n- [XML Tutorial, W3C Schools](https://www.w3schools.com/xml/)\n- [XML Facile !](http://www.xmlfacile.com/)\n- [XML in a nutshell, A Desktop Quick Reference](https://www.pdfdrive.com/xml-in-a-nutshell-e54427253.html)\n- [La DTD et son langage XML](https://www.cairn.info/revue-ela-2005-1-page-73.htm), article publié par [cairn.info](https://www.cairn.info/), pour le domaine de l'édition\n\n#### Applications XML de prestige\n\n- [Docbook](https://docbook.org/), application XML dédiée à la publication de documents, principalement des articles et des livres d'informatique mais pas que. Le projet a originellement été développé par l'éditeur O'Reilly pour ses éditeurs, il est aujourd'hui maintenu par [OASIS OPEN](https://www.oasis-open.org/), un groupe de collaboration travaillant et maintenant des standards\n- [Dita Open Toolkit](https://www.dita-ot.org/), implémentation open-source du [standard Dita](https://fr.wikipedia.org/wiki/Darwin_Information_Typing_Architecture), *the Darwin Information Typing Architecture*, projet également maintenu par OASIS OPEN. C'est un framework de documentation et de publication technique où l'on va pouvoir développer et maintenir une source de vérité pour la publier vers différents formats (PDF, HTML, Markdown, etc.)\n\n### Standard SQL et bases de données relationnelles\n\n- [A Relational Model of Data for Large Shared Data Banks, Edgard Codd (PDF)](https://www.google.com/url?sa=t\u0026rct=j\u0026q=\u0026esrc=s\u0026source=web\u0026cd=\u0026ved=2ahUKEwihkqWDrsz8AhXEVaQEHfgyDeIQFnoECBQQAQ\u0026url=https%3A%2F%2Fwww.seas.upenn.edu%2F~zives%2F03f%2Fcis550%2Fcodd.pdf\u0026usg=AOvVaw0HymNIyGsw4MDwPW98GlLb), la publication originale de [Edgard Codd](https://fr.wikipedia.org/wiki/Edgar_Frank_Codd) en 1970, père de l'[algèbre relationnelle](https://fr.wikipedia.org/wiki/Alg%C3%A8bre_relationnelle) et du modèle relationnel\n- [Use the index, Luke !](https://use-the-index-luke.com/), site maintenu par Markus Winand, une référence des bases de données relationnelles. Vous trouverez sur son site une explication complète de l'optimisation et des performences des bases de données relationnelles. Le contenu est dipsonible en ligne ou en PDF.\n- [Modern SQL, a lot has changed since SQL-92](https://modern-sql.com/), le site cousin du site [Use the index, Luke !](https://use-the-index-luke.com/), de Markus Winand. Aborde les évolutions les plus récentes du standard SQL\n- [Le site de Markus Winand](https://winand.at/), de Markus Winand, un expert du standard SQL (et une personne à suivre si le standard vous intéresse)\n- [The Mother of all Query Languages: SQL in Modern Times | Markus Winand (Conférence)](https://www.youtube.com/watch?v=swR33jIhW8Q), conférence de Markus Winand (Data Natives Berlin, 2018) sur l'état actuel du standard SQL, de l'évolutions de ses différentes implémentations (Oracle, PostgreSQL, MySQL, etc.)\n- [Norme de développement (SQLSpot)](https://www.sqlspot.com/Norme-de-developpement.html), un document complet sur une proposition de conventions et les normes de développement de bases de données relationnelles. Proposé par Frédéric Brouard. Frédéric Brouard [a écrit et co-écrit des ouvrages de référence](https://www.sqlspot.com/Quelques-ouvrages-a-lire-sans-moderation.html) (Pearson Eduction, Campus Press) sur les implémentations du standard SQL, avec [Christian Soutou](https://www.eyrolles.com/Accueil/Auteur/christian-soutou-119/)\n- [Normalisation des noms des objets des bases de données](https://sqlpro.developpez.com/cours/standards/), un autre document HTML plus succint sur les normes et bonnes pratiques de nommage en SQL, par Frédéric Brouard\n- [Cours complet pour apprendre les systèmes de gestion de bases de données](https://sgbd.developpez.com/tutoriels/cours-complet-bases-de-donnees/), un cours complet de [Georges Gardarin](https://www.eyrolles.com/Accueil/Auteur/georges-gardarin-34/) sur les bases relationnelles\n- [Les meilleurs cours et tutoriels pour apprendre le SQL](https://sql.developpez.com/), par les membres de developpez.com. Un grand nombre de cours, tutoriels, exercices sur le sujet\n- Une [sélection de livres](https://sgbd.developpez.com/livres/) par les membres de developpez.com\n- [Other MySQL Documentation](https://dev.mysql.com/doc/index-other.html), documentation de MySQL sur des aspects plus avancés ainsi que **des liens pour télécharger des bases de données avec des grand volumes de données** pour pratiquer sa compréhension du standard, de MySQL et des performances\n\n- [DarkMoon](https://github.com/ASCIT31/Dark-Moon), plateforme open source française de test d'intrusion autonome pilotée par IA et hébergée sur votre propre infrastructure. Elle couvre le web, les API, l'Active Directory et Kubernetes via un serveur MCP. Éditée en France par ASC IT.\n### Sécurité des applications web / Audit\n\n- [OWASP Top Ten : Top 10 Web Application Security Risks](https://owasp.org/www-project-top-ten/), document standardisé des risques de sécurité des applications web. Liste et classifie l'ensemble de risques reconnus comme critiques pour les applications web\n- [OWASP : Attacks](https://owasp.org/www-community/attacks/), la liste des attaques les mieux connues\n- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/), des synthèses sur les différents types d'attaque et leur prévention\n- [OWASP Secrets Management Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html), conseils sur la gestion des secrets;\n- [OWASP Cryptographic Storage Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html), conseils sur le stockage de données chiffrées;\n- [OWASP Password Storage Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html), conseils sur le stockage de mots de passe;\n- [Sécurité : Chiffrement, hachage, signature](https://www.cnil.fr/fr/securite-chiffrement-hachage-signature), publié par la CNIL\n- [NIST Special Publication 800-63B : Digital Identity Guidelines, Authentication and Lifecycle Management](https://pages.nist.gov/800-63-3/sp800-63b.html), document de référence publié par [le National Institute of Standards and Technology (NIST)](https://fr.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology) sur les recommandations liées à la gestion de l'identité en ligne et des systèmes d'authentification.\n- [KeePassXC Application Security Review](https://molotnikov.de/keepassxc-review), de [Zaur Molotnikov](https://molotnikov.de/cv). Un audit du gestionnaire de mots de passe open source [KeePassXC](https://github.com/keepassxreboot/keepassxc). Contient de nombreuses informations utiles sur son fonctionnement et ses détails d'implémentation. [Télécharger le PDF (version 1.2)](https://molotnikov.de/docs/KeePassXC-Review-V1-Molotnikov.pdf)\n- [RFC 7519 : JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519), publié par l'IETF. Le document décrivant le standard JWT\n\n## Réseau\n\n- [Beej's Guide to Network Concepts](https://beej.us/guide/bgnet0/html/split/), un cours de Brian \"Beej\" Hall continuellement mis à jour depuis 1995 sur la programmation et les protocoles réseau. Exemples initialement en C, une nouvelle version est éditée en s'appuyant sur le langage Python. [Voir la version C](https://beej.us/guide/bgnet/html/split/). [Voir le site de Brian Hall](https://beej.us/guide/)\n- [Service Name and Transport Protocol Port Number Registry](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml), le registre d'assignations des ports utilisateurs par l'*Internet Assigned Numbers Regisitry* (IANA). Les numéros de port sont assignés de différentes façons, répartis en 3 catégories : Ports Système (0-1023), Ports Utilisateurs (1024-49151), Ports dynamiques ou privés (49152-65535)\n\n## Protocoles\n\n### TCP/IP\n\n- [A Protocol for Packet Network Intercommunication](https://t.co/RgRJ7GcVlk), par CERF et KAHN, membre de l'IEEE. Papier à l'origine du protocole TCP/IP\n\n### SSH\n\n- [Secure Secure Shell](https://stribika.github.io/2015/01/04/secure-secure-shell.html)\n- [The Ultimate Guide to SSH - Setting Up SSH Keys](https://www.freecodecamp.org/news/the-ultimate-guide-to-ssh-setting-up-ssh-keys/)\n\n### HTTP\n\n- [HTTP Caching](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching), une synthèse sur l'implémentation du cache du protocole HTTP. Attention, [tous les navigateurs n'implémentent pas le standard au même point](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#browser_compatibility).\n- [Un tutoriel de la mise en cache](https://www.mnot.net/cache_docs/), un très bon tutoriel en français de Mark Nottingham sur la mise en cache du protocole HTTP\n- [Content-Security-Policy (CSP) header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy), header important qui permet aux administrateurs d'un site web de contrôler les ressources que l'agent utilisateur est autorisé à charger pour une page donnée\n\n### BitTorrent\n\n- [Peer-to-peer networking with BitTorrent (PDF)](https://drive.google.com/file/d/1VS37P6J3v_trRCHzCOWtS-9lGGcaVq4a/view), de Jahn Arne Johnsen, Lars Erik Karlsen et Sebjørn Sæther Birkeland\n\n### Misc\n\n- [Code de radiorecherche No 1 (POCSAG)](https://fr.wikipedia.org/wiki/Code_de_radiorecherche_No_1), un protocole de transmission radio utilisé pour les réseaux de radiomessagerie.\n\n## OS\n\n- [Minix 3](https://www.minix3.org/), OS développé par [Tanenbaum](https://fr.wikipedia.org/wiki/Andrew_Tanenbaum) dont s'est inspiré Linus Torvalds pour créer le noyau Linux. OS destiné initialement à des fins pédagogiques, notamment *via* le fameux livre [Operating Systems Design and Implementation, 3rd edition](https://www.pearson.com/en-us/subject-catalog/p/operating-systems-design-and-implementation/P200000003167?view=educator)\n- [Minix 3, background](https://wiki.minix3.org/doku.php?id=www:documentation:brown), un article très intéressant de Tanenbaum sur l'histoire des OS *Unix-like*, de Minix, de ses rapports avec l'équipe Unix du Bell Labs (Ken Thompson, Dennis Ritchie, Weinberger, etc.) et de Linux\n- [Operating Systems, three easy pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/), ou le *Comet OS Book*, de Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (University of Wisconsin-Madison), publié par l'université du Wisconsin, depuis 2008 (continuellement mis à jour). Accessible en ligne (version HTML). *Une référence* sur les systèmes d'exploitation.\n- [Operating System Concepts, 9th edition](https://t.co/pa5kJwtSFs)\n- [NOC:Introduction to Operating Systems, IIT Madras](https://nptel.ac.in/courses/106106144), de Chester Rebeiro, Indian Institute of Technology. Apprendre les fondamentaux des OS et bien maitriser le langage C. Vous pouvez télécharger les vidéos, les transcripts et le support complet du cours.\n\n## Infrastructure\n\n- [Load Balancing](https://samwho.dev/load-balancing/), un article bien fait avec visualisations sur les répartiteurs de charge (*load balancer*) et les différentes stratégies d'implémentation\n\n## *Request For Comments* (RFC), *drafts* et W3C\n\nDes documents décrivant les aspects et spécifications techniques d'Internet. La *source*, et des lectures arides mais très intéressantes quand on prend le temps de fouiller certaines sections. Certains d'entre eux définissent des standards.\n\n- [Draft: JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-08), par M.Kelly\n- [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110)\n- [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax](https://www.rfc-editor.org/rfc/rfc3986.txt), par T. Berners-Lee, R.Fielding et al.\n- [RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content](https://www.rfc-editor.org/rfc/rfc7231#section-3), par R. Fielding, J. Reschke\n- [W3C: Cool URIs don't change](https://www.w3.org/Provider/Style/URI.html), par Tim Berners-Lee\n- [W3C: Architecture of the World Wide Web, Volume One](https://www.w3.org/TR/2004/REC-webarch-20041215/), écrit par le *W3C Technical Architecture Group*\n\n## Unix\n\n- [Unix programmer's manual Third Edition](https://dspinellis.github.io/unix-v3man/v3man.pdf), publié par K. Thompson et D. M. Ritchie, 1973\n- [Philosophie d'Unix](https://fr.wikipedia.org/wiki/Philosophie_d%27Unix)\n- [Basics of the Unix Philosophy](http://catb.org/esr/writings/taoup/html/ch01s06.html), extrait de [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/), d'Eric Steven Raymond, 2003, Chapter 1\n- [The UNIX Pipe Card Game](https://punkx.org/unix-pipe-game/), un jeu de cartes que l'on peut imprimer pour apprendre à manipuler les pipes UNIX et les programmes UNIX fondamentaux (grep, cat, tail, etc.)\n\n## Tâches planifiées\n\n- [cron](https://fr.wikipedia.org/wiki/Cron)\n- [Supervisor](https://supervisord.org/introduction.html)\n\n## REST, *Architecture of the World Wide Web*\n\n- [REST](https://gayerie.dev/epsi-poe-201703/web-services/07_rest.html), une synthèse de David Gayerie sur REST de qualité, avec une bibliographie utile\n- [Welcome to the REST CookBook](https://restcookbook.com/)\n- [Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000.](https://ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf), la thèse de Roy qui a \"coin\" le terme *REST*. Un document sur l'architecture logicielle distribuée. [Voir la traduction Chapitre 5 sur REST en français](http://opikanoba.org/tr/fielding/rest/), mais ne pas s'arrêter qu'à ce chapitre;\n- [Architecture of the World Wide Web, Volume One](https://www.w3.org/TR/2004/REC-webarch-20041215/), publié par le W3C, 2004. La *bible* sur l'architecture du web et sur les technologies du web (HTTP, HTML et URL)\n- [REST APIs must be hypertext-driven](https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven), billet de blog de Roy T. Fiedling très intéressant sur le fait qu'une API RESTful doit être orientée *hypertexte* (ou de manière générale par les *hypermédia*)\n- [Hypermedia Types](http://amundsen.com/hypermedia/), les différents types d'hypermédia définis pour le protocole HTTP et pour construire des API plus robustes. Le livre de l'auteur [Building Hypermedia APIs with HTML5 and Node](https://learning.oreilly.com/library/view/building-hypermedia-apis/9781449309497/), Amundsen, a l'air très intéressant\n- [JSON-LD, A JSON-based Serialization for Linked Data*](https://www.w3.org/TR/json-ld/)\n- [JSON Linking with HAL](https://blog.stateless.co/post/13296666138/json-linking-with-hal);\n- [The case for hyperlinks in APIs](https://blog.stateless.co/post/68259564511/the-case-for-hyperlinks-in-apis)\n- [HAL Explorer](https://github.com/toedter/hal-explorer), with HAL Explorer you can browse and explore HAL and HAL-FORMS based RESTful Hypermedia APIs. HAL Explorer was inspired by Mike Kelly’s HAL-Browser. HAL Explorer also supports Spring Profiles.\n- [Zalando RESTful API and Event Guidelines](https://opensource.zalando.com/restful-api-guidelines/), guide et recommandations pour concevoir des API RESTful\n- [The Vision of Kay and Fielding: Growable Systems that Last for Decades](https://www.devx.com/enterprise-zone/the-vision-of-kay-and-fielding-growable-systems-that-last-for-decades/)\n- [IANA Media Types Registry](https://www.iana.org/assignments/media-types/media-types.xhtml), liste de formats sérieux, recensés par l'[IANA](https://fr.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority). Si vous cherchez un format pour les réponses de votre service vous pouvez parcourir cette liste:\n  - [SIREN](https://github.com/kevinswiber/,siren#siren-a-hypermedia-specification-for-representing-entities);\n  - [Collection+JSON](http://amundsen.com/media-types/collection/);\n  - [HAL](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-08#section-8.1)\n- [Schema.org](https://schema.org/), *Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for *structured data* on the Internet*. Propose une liste de schémas à suivre pour différents modèles de données\n- [Microformats wiki](http://microformats.org/wiki/Main_Page), un wiki qui décrit des specifications de structure de données interopérables\n- [Design Guidelines](https://apistylebook.com/design/guidelines/), une liste filtrée de guidelines de design d'API publiées par plusieurs entreprises\n\n## Spécification OpenAPI\n\n- [La spécification OpenAPI](https://www.openapis.org/what-is-openapi) est une description formelle et standardisée d'une web API au format texte (JSON ou Yaml). Elle est maintenue et développée par l'[OpenAPI Initiative (OAI](https://www.openapis.org/about)), un consortium ouvert d'experts de l'industrie. Ce projet collaboratif est porté par la [Linux Foundation](https://www.linuxfoundation.org/).  \n- La spécification ouverte OpenAPI a été crée à l'origine par [Wordnik](https://en.wikipedia.org/wiki/Wordnik) en 2010, sous le nom de *Swagger specification*. [SmartBear Software](https://en.wikipedia.org/wiki/SmartBear_Software) et d'autres acteurs ont repris la spécification à partir de 2015. Le projet est devenu l'*OpenAPI Specification*.\n- [Swagger](https://en.wikipedia.org/wiki/Swagger_(software)) désigne aujourd'hui *une suite d'outils* pour le développement d'API, publiés par [SmartBear Software](https://en.wikipedia.org/wiki/SmartBear_Software). Cette enterprise est membre du comité de l'OpenAPI Initiative et maintient et [développe plusieurs logiciels open source](https://swagger.io/tools/open-source/) autour de la spécification, comme [Swagger Editor](https://swagger.io/tools/swagger-editor/). Il existe [de nombreux autres outils](https://tools.openapis.org/) développés par la communauté\n- [Le guide officiel pour démarrer avec OpenAPI](https://learn.openapis.org/) ;\n- [OpenAPI tooling](https://tools.openapis.org/), liste tous les outils développés par la communauté pour travailler avec la spécification ;\n- [The OpenAPI Specification Explained](https://learn.openapis.org/specification/), **le guide**\n- [OpenAPI Specification](https://spec.openapis.org/oas/v3.1.0#openapi-specification), **la référence complète**\n- [OpenAPI Best Practices](https://learn.openapis.org/best-practices.html), un guide de bonnes pratiques et de recommandations pour travailler avec la spécification OpenAPI\n- [OpenAPI Initiative](https://www.openapis.org/), le site web officiel de la spécification OpenAPI, une description standardisée de web API;\n\n## Spécifiques à un langage/écosystème\n\n### PHP\n\n- [php.watch](https://php.watch/), news PHP, articles, changements à venir. Le blog officiel qui suit le développement de PHP\n- [PHP: The Right Way](https://phptherightway.com/) référence accessible aux standards modernes de PHP\n- [The PHP Foundation](https://thephp.foundation/), groupe de travail sur l'écosystème PHP. [En savoir plus](https://www.youtube.com/watch?v=JBPtPy9iSP0).\n- [PHP-FIG](https://www.php-fig.org/), le PHP Framework Interop Group, à l'origine des [PSR](https://www.php-fig.org/psr/)\n- [packagist](https://packagist.org/), dépôt principal des composants PHP  \n- [pecl](https://pecl.php.net/), le repertoire officiel des extensions de PHP ([Modernisation de la distribution et maintenance envisagée](https://externals.io/message/121927) par la communauté et initiée par la PHP Foundation et Derick Rethans)\n- [PHP Usergroup](https://php.ug/), trouvez des *usergroups* PHP près de chez vous\n- [Afup](https://afup.org/home), association française des utilisateurs de PHP\n- [PHP Documentor](https://docs.phpdoc.org/), produire de la documentation directement à partir des sources\n- [FrankenPHP](https://frankenphp.dev/), un serveur PHP moderne écrit en C et Go, maintenu par Kevin Dunglas, qui permet d'utiliser HTTP 1.1, 2 et 3, et supporte des réponses HTTP multiples. Remplace PHP-FPM\n- [NativePHP](https://nativephp.com/docs/1/getting-started/introduction), framework PHP pour déployer des applications desktop, maintenu par Marcel Pociot. **Attention, outil toujours en alpha** (2023)\n- [psalm](https://psalm.dev/), analyseur statique de code, notamment inspiré de Hack\n- [phpStan](https://phpstan.org/), l'analyseur statique (*at compile time*) du code PHP par excellence. *Find bugs without writing tests*\n- [phpCodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer), l'outil par excellence pour appliquer des standards de manière semiautomatisé à son code source. Composé de deux programmes: phpcs pour sniffer les erreurs dans votre code et phpcbs pour corriger automatiquement ce qui peut l'être.\n- [phpBench](https://phpbench.readthedocs.io/en/latest/), un framework de benchmark pour PHP, inspiré de PHPUnit\n- [Le blog de Fabien Potencier](http://fabien.potencier.org/)\n- [Le blog de Kévin Dunglas](https://dunglas.dev/), membre core de Symfony, mainteneur de FrankenPHP et du [protocole Mercure](https://mercure.rocks/) (entre autres). Un grand développeur et contributeur de l'écosystème PHP notamment, plein d'humilité\n- [Functional Programming in PHP](https://youtu.be/LZh4_q04aKo)\n- [PHP Quality Assurance](https://qa.php.net/)\n\n[Voir le dépôt dédié à la veille PHP](https://github.com/paul-schuhm/veille-php).\n\n### C\n\n- [Beej's Guide to C Programming (en)](https://beej.us/guide/bgc/), un excellent cours complet (au ton personnel) sur le langage C, complètement accessible sur le web\n- [Introduction To C course (en)](https://bible.malcore.io/readme/the-beginning/introduction-to-c), un cours d'introduction au C\n- [The GNU C Reference Manual (en)](https://www.c-asm.com/gnu-c-manual.html), le manuel sur le C publié par le projet GNU est une bonne ressource pour apprendre et approfondir ses connaissances en C\n- [comp.lang.c Frequently Asked Questions (clc FAQ)](https://c-faq.com/index.html), faq sur le langage C, issue du groupe Usenet `comp.lang.c`. Composée et rafinée *depuis 1990*. A même [été publiée sous forme de livre par Addison-Wesley](https://c-faq.com/book/)\n- [The Definitive C Book Guide and List](https://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list), discussion sur StackOverflow sur les bons ouvrages pour apprendre le C à différents niveaux.\n- [Linux kernel coding style](https://www.kernel.org/doc/html/latest/process/coding-style.html#), style guide C utilisé par les contributeurs de Linux\n- [The C Book, 2nd edition](https://publications.gbdirect.co.uk/c_book/), de Mike Banahan, Declan Brady et Mark Doran, publié originellement chez Addison Wesley, 1991. Disponible gratuitement en ligne.\n\n### JavaScript\n\n- [p5js](https://p5js.org/), une librairie JavaScript open-source pour le code créatif. Avec un focus pour rendre le code accessible et inclusif pour les artistes, designers, formateurs, débutants.\n- [leaflet](https://leafletjs.com/SlavaUkraini/index.html), le projet open-source pour développer des cartes interactives et *mobile-friendly*.\n- [openlayers](https://openlayers.org/), bibliothèque pour couvrir les besoins en carthographie\n- [jquery](https://learn.jquery.com/using-jquery-core/), jquery est le parfait exemple de bibliothèque bien faite. On lit souvent qu'elle est *morte*. Il y a de quoi rire. Jquery n'est pas mort, jquery est partout. Jquery a eu un rôle majeur dans l'évolution du standard de JS. La bibliothèque est tellement solide et populaire qu'il a même été [suggéré d'embarquer jquery (en cache) dans tous les navigateurs pour le futur standard HTML6](https://t.co/H9mKDqtydF). Idéalement, dans un monde parfait, jquery *devrait* disparaître tout comme JavaScript *devrait* disparaître du navigateur. En effet, les besoins de JS reculent toujours d’avantage à chaque nouvelle version du HTML. En attendant, ce n'est pas demain la veille alors autant s'y mettre pour au moins 3 raisons (a) jquery est partout, si vous travaillez sur du legacy code vous allez tomber dessus, (b) c'est hyper pratique et puissant et la surcouche n'éloigne pas trop du DOM, on apprend des choses sur le DOM qui seront toujours utiles même dans un monde *post-jquery*, même dans un univers vanilla JS (c) ça permet aussi de prototyper rapidement des interfaces dynamiques même si on décide ensuite de passer sur un framework JS (d) ça demande quand même de comprendre le vanilla JS. Voici [un tout petit dépôt](https://github.com/websealevel/doc-jquery) où l'on a sélectionné l'essentiel du fonctionnement de jquery pour bien comprendre comment cette bibliothèque fonctionne. \u003cimg width=\"400px\" src=\"img/jquery.jpeg\" alt=\"jQuery chilling\"\u003e ([source de l'image](https://twitter.com/aschmelyun/status/1537393046244892672))\n- [Vanilla JS](http://vanilla-js.com/), le site web qui promeut le *vanilla* JS\n\n### Docker et conteneurs\n\n- [Un conteneur Linux, qu'est-ce que c'est ?](https://www.redhat.com/fr/topics/containers/whats-a-linux-container), publié par RedHat\n- [Docker Tag Guide | Purpose, Usage, and Examples](https://ioflood.com/blog/docker-tag-guide-purpose-usage-and-examples/), un article et guide sur la manière de tag correctement les images pour implémenter un versionnement sémantique\n- [Simplify the Smallest Possible Docker Image](https://medium.com/@adriaandejonge/simplify-the-smallest-possible-docker-image-62c0e0d342ef), de Adriaan de Jonge\n- [12 Fractured Apps](https://medium.com/@kelseyhightower/12-fractured-apps-1080c73d481c#.smga9216i), de Kesley Highttower\n- [Best Practices Around Production Ready Web Apps with Docker Compose](https://nickjanetakis.com/blog/best-practices-around-production-ready-web-apps-with-docker-compose), de [Nick Janetakis](https://nickjanetakis.com/about). Publié en 2021, des choses ont changé sur docker compose depuis mais reste pertinent sur de nombreux points\n- [La sécurité des conteneurs, qu'est-ce que c'est ?](https://www.redhat.com/fr/topics/security/container-security), un très bon article de RedHat sur la sécurité des conteneurs, de l'application conteneurisée à l’infrastructure sur laquelle le conteneur est déployée\n- [Guide pour la programmation réseaux de Beej's](http://vidalc.chez.com/lf/socket.html), sur les différents types de sockets\n- [Docker Bench for Security](https://github.com/docker/docker-bench-security), ensemble de scripts open-source qui permet d'auditer de manière automatique l'installation et la configuration du serveur Docker en environnement de production\n\n## Suivi de projets\n\n- [Mattermost](https://mattermost.com/), alternative open source à Trello, outil de workflow, travail collaboratif, suivi de tâches, etc.\n\n## Gestion de projet, gestion de l'apprentissage et des connaissances d'équipe\n\n- [Philippe Bourgau's XP Coaching Blog](https://philippe.bourgau.net/), des articles sur la gestion de projets et de la veille en pratique (comment travailler en accord avec les principes de l'extrem programmaing, gérer du code legacy, organisation des équipes, apprentissage et veille, etc.), par Philippe Bourgau versé dans l'[eXtrem Programming (XP)](https://fr.wikipedia.org/wiki/Extreme_programming)\n- [Xtrem Reading](https://yoan-thirion.gitbook.io/knowledge-base/xtrem-reading), des articles sur l'extrem reading et comment le mettre en pratique, par [Yoan Thirion](https://www.yoan-thirion.com/#home) versé aussi dans l'[eXtrem Programming (XP)](https://fr.wikipedia.org/wiki/Extreme_programming)\n\n## Dessin et diagrammes\n\n- [Umlet](https://www.umlet.com/), meilleur outil crossplatform pour réaliser des diagrammes UML rapidement, faciles à partager et éditer (dans l'esprit UML 1)\n- [dia](http://dia-installer.de/), programme opensource et crossplatform pour dessiner des diagrammes structurés\n- [excalidraw](https://excalidraw.com/), dessiner des diagrammes rapidement avec un look and feel *fait-main*, en local ou sur le web\n- [minimator](https://minimator.app/), un éditeur graphique SVG minimaliste dans le navigateur. Dessinez à l'aide d'une grille et exportez facilement votre svg\n- [dddraw](https://fffuel.co/dddraw/), un éditeur graphique SVG gratuit en ligne\n- [nomnoml](https://github.com/skanaar/nomnoml), un outil pour script le rendu de diagrammes UML\n\n## Quelques SGBD\n\n- [PostgreSQL](https://www.postgresql.org/), le choix à faire lorsqu'on part sur une base de données relationnelle. Projet open-source maintenu depuis 30ans, le SGBD qui va le plus loin sur l'implémentation du standard SQL\n- [Dalibo, l'expertise PostgreSQL](https://dalibo.com/), ressources gratuites pour se former sur PostgreSQL\n- [ClickHouse](https://clickhouse.com/), base de données relationnelle orientée colonnes. Optimisé pour l'[OLAP](https://www.oracle.com/fr/database/olap-definition.html). Vérifiez bien avant de vous en servir pour votre projet que [ce système soit adapté à votre cas d'utilisation](https://clickhouse.com/docs/en/#key-properties-of-olap-scenario)\n- [Datomic](https://www.datomic.com/), un SGBD développé par [Rich Hickey](#rich-hickey). En plus de concevoir la base de données comme *une valeur* ce modèle incorpore le temps de manière native. Depuis avril 2023, [Datomic est accessible gratuitement](https://blog.datomic.com/2023/04/datomic-is-free.html)\n- [SQLite](https://www.sqlite.org/index.html), un SGBDR qui contrairement à la plupart des autres systèmes n'utilise pas l'architecture client/serveur et permet de disposer d'une base de données relationnelles dans un simple fichier. On peut utiliser [DB Browser for SQLite](https://sqlitebrowser.org/) pour avoir un gestionnaire et inspecteur de bases de données avec GUI.\n\n## Modélisation de bases de données relationnelles\n\n- [Initiation à la conception de bases de données relationnelles avec MERISE](https://ineumann.developpez.com/tutoriels/merise/initiation-merise/)\n- [Petit guide d'analyse des données à l'aide de la méthode MERISE](https://sqlpro.developpez.com/cours/modelisation/merise/), par Frédéric Brouard\n- [Règle de gestion bien écrite =\u003e Modélisation des données facile](https://blog.developpez.com/cinephil/p10397/bases-de-donnees/regle_de_gestion_bien_ecrite_g_modelisat), par CinéPhil, modérateur actif de developpez.com\n- [Le Dictionnaire des données](https://www.univ-constantine2.dz/CoursOnLine/Benelhadj-Mohamed/co/grain3_2.html), article utile de Pr. Nacer-Eddine Zarour et Dr. Mohamed El Hadi Benelhadj sur l'écriture du dictionnaire de données\n- [Associations réflexives](http://cours.thirion.free.fr/Cours/Merise/Asso-Refl-Cours.php), très bonne page web sur les associations réflexives en Merise, par E. Thirion\n- [Normalisation des noms des objets des bases de données](https://sqlpro.developpez.com/cours/standards/), une proposition de standardisation interne à l'organisation de l'ensemble des éléments composant une base de données, par Frédéric Brouard. Propose un standard sur le nommage, les domaines de validité, la documentation, l'ergonomie et l'écriture des requêtes. Indépendant du SGBDR. Ne pas hésiter à s'en servir.\n- [La méthode MERISE](http://tcosnuau.free.fr/COURS/MERISE/MERISE.HTM), par tcosnuau\n- [Clefs auto-incrémentées](https://sqlpro.developpez.com/cours/clefs/), article complet de Brouard sur la génération de la valeur des clefs primaires permettant d'identifier chaque enregisterment de manière unique dans une table\n- [Les 10 meilleures pratiques pour développer avec un SGBDR](https://blog.developpez.com/sqlpro/p6507/ms-sql-server/les_10_meilleures_pratiques_sur_ms_sql_s), les 10 commandements positifs ou règles impératives à suivre pour que votre SGBDR soit performant, efficace et précis ! valable pour tous les SGBDR, avec des exemples pour MS SQL Server, de Frédéric Brouard\n- [Bases de données relationnelles et normalisation : de la première à la sixième forme normale](https://fsmrel.developpez.com/basesrelationnelles/normalisation/), excellente série d'articles sur les formes normales et l'algèbre relationnelle de François de Sainte Marie\n\n## Outils de conception de base de données\n\n- [AnalyseSI](https://launchpad.net/analysesi), un outil open-source *distraction-free* basé sur Merise 1 pour modéliser une base de données (MCD) et produire un MPD et scripts SQL\n- [Oracle SQL Developer Data Modeler](https://www.oracle.com/database/sqldeveloper/technologies/sql-data-modeler/), outil graphique complet et plus complexe pour la conception de base de données, proposé par Oracle. La documentation accessible depuis le logiciel est de bonne qualité, [le blog d'helifromfinland](https://helifromfinland.blog/) est rempli d'articles utiles sur l'outil\n\n## Analyse, conception : UML et alternatives\n\n- [DRAKON](https://drakonhub.com/read/docs), [un langage visuel de spécification logicielle](https://fr.wikipedia.org/wiki/DRAKON) développé par l'Agence Aérospatiale Fédérale de Russie et l'Académie des Sciences de Russie à la fin des années 90.\n\n## Outils d'administration (et conception parfois) de base de données\n\n- [dbeaver](https://dbeaver.io/), multiplateforme, multi-sgb, open-source que demande le peuple\n- [adminer](https://www.adminer.org/), une alternative open-source a phpMyAdmin (aussi open source) qui commence à être chargé historiquement. Plus légèr, plus performant, plus sécurisé, plus user-friendly. Prend en charge les base de données MySQL, SQLite, PostgreSQL, MS SQL et Oracle\n- [pgAdmin](https://www.pgadmin.org/), le système d'administration open-source le plus poussé pour Postgresql\n- [pspg - Postgres Pager](https://github.com/okbob/pspg), pspg est un navigateur Unix pour naviguer dans les tables d'une base de données relationnelle\n\n## Architecture logicielle\n\n- [Le catalogue des patrons de conception (POO)](https://refactoring.guru/fr/design-patterns/catalog), un catalogue en ligne inspiré du GoF sur les Design Patterns. Bien fait, ludique avec de nombreux exemples, schémas et implémentations dans différents langages\n- [Software Architecture Guide](https://martinfowler.com/architecture/), de Martin Fowler. Qu'est ce que l'architecture logicielle ? À quoi ça sert ? Pourquoi ça compte ?\n- [Software Architecture Premier](https://github.com/sivaprasadreddy/software-architecture-premier), liste de ressources pour apprendre l'architecture logicielle\n\n## Maintenabilité\n\n- [Refactoring.com](https://refactoring.com/), le site de Martin Fowler dédié au refactoring\n- [Refactoring, catalog](https://refactoring.com/catalog/), le catalogue des refactorings identifiés et décrits par Martin Fowler\n\n## Développement informatique et science académique\n\n- [Best Practices for Scientific Computing](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745), un papier en libre accès sur les pratiques recommandées pour le développement, la distribution et la maintenance de logiciels dans le milieu académique\n\n## Développement informatique et écologie (ecoconception)\n\nVoir aussi [les approches radicales et les fondements du web](#fondamentaux-radical)\n\n- [Comment minimiser l’impact des vidéos dans nos sites web ?](https://www.editions-eni.fr/blog/comment-minimiser-limpact-des-videos-dans-nos-sites-web/), un excellent article d'[Hervé Boisgontier](https://www.editions-eni.fr/herve-boisgontier) et Boris Butaeye sur les moyens à mettre en oeuvre pour limiter l'impact environnemental des contenus vidéos distribués sur le web.\n\n## Programmation fonctionnelle\n\n### Général\n\n- [Introduction to Functional Programming (1996)](https://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/), par John Harisson\n- [Mostly adequate guide to functional programming](https://drboolean.gitbooks.io/mostly-adequate-guide-old/content/)\n- [Eric Normand](https://ericnormand.me/), Eric Normand est une référence en programmation fonctionnelle, en tant que développeur mais aussi professeur. Il a écrit des livres de qualité sur le sujet.\n\n### Haskell\n\n- [Le Guide (fr)](https://github.com/bitemyapp/learnhaskell/blob/master/guide-fr.md)\n- [Haskell basics](https://www.seas.upenn.edu/~cis194/spring13/lectures/01-intro.html)\n\nVoir ce [bouquin de référence](#haskell-1).\n\n### Clojure\n\n- [Clojure for the Brave and True](https://www.braveclojure.com/foreword/), un livre complet, hyper pédagogique, accessible en ligne pour s'initier à la programmation fonctionnelle avec Clojure.\n- [clojuredocs](https://clojuredocs.org/), un dépôt regroupant documentation et exemples pour Clojure\n- [How to earn your Clojure white belt](https://www.notamonadtutorial.com/how-to-earn-your-clojure-white-belt/)\n- [4clojure](https://4clojure.oxal.org/), un site d'exercice classer par difficulté pour apprendre Clojure\n\n### Elm\n\n[Elm](https://elm-lang.org/) est un langage/ecosystème fonctionnel pour développer des applications web. Il compile vers Javascript. Elm possède peut être le compilateur le plus *human-friendly* au monde\n\n### Racket, le *langage-oriented programming language*\n\n- [Racket, the Programming Language](https://racket-lang.org/), un *language orienté language*\n\n## Langages Assembleur\n\n- [Reverse Engineering for Beginners](https://beginners.re/) aussi connu sous le nom RE4B et \"Comprendre le langage Assembleur\"\n\n## Rich Hickey\n\nEt oui, [Rich Hickey](https://en.wikipedia.org/wiki/Rich_Hickey) a le droit à sa propre section. Allez directement voir [ce dépôt](https://github.com/tallesl/Rich-Hickey-fanclub), le ","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/websealevel%2Fawesome-fr/projects"}