Ressources gratuites pour les programmeur*euses, designeur*euses web, independant*es, bidouilleur*euses et autres interesse*es
We're Using GitHub Under Protest
Pour en savoir plus rendez-vous a cette section.
This project is currently hosted on GitHub. This is not ideal; GitHub is a proprietary, trade-secret system that is not Free and Open Souce Software (FOSS).
En quelques mots
Une liste d'outils et de ressources (sites web, ebooks, podcasts, videos, blogs, articles, conferences, guides, programmes, etc.) gratuites plutot orientes web (en tout cas initialement, ce qui tend a changer au cours du temps).
Cette liste n'est pas exhaustive par choix (il y'a des choses qui ne m'interessent pas plus que ca et d'autres ressources que je trouve moins pertinentes).
Ce depot contient (est) evidemment des opinions (de moins en moins) sur certains sujets
Des limites de la francophonie
La liste en elle-meme est francophone, cependant de nombreuses ressources repertoriees ici sont (malheureusement) uniquement disponibles en anglais.
Il serait idiot de ne selectionner que des ressources ayant l'amabilite d'etre traduites en francais. L'accessibilite aux francophones reste neanmoins une priorite sur ce depot (au meme titre que la gratuite) et permettra au moins de proposer un panorama en francais de differentes ressources.
Un effort est fait pour mettre en avant des ressources francophones et retrouver des ressources traduites en francais (par exemple pour les livres) quand cela sera possible*.
*Une traduction n'est pas qu'une operation automatique, il en resulte bien souvent un livre different du livre de depart. Aussi il est parfois difficile de la recommander aveuglement.
Conseils d'utilisation
Servez-vous de ce depot comme d'une banque de marque-pages. Grace a la table des matieres, trouvez quelque chose qui peut vous aider ou vous interesser.
Spoiler alert : vous n'avez pas besoin - et de toute maniere n'aurez pas assez d'une vie - d'apprendre, de lire ou de maitriser tout ce qui est expose ici. Naviguez la conscience tranquille vers ce qui vous parait utile ou vous attire. Ce depot donne du vertige aussi a son auteur, et ce dernier est pris dans le douloureux paradoxe d'ajouter du bruit au bruit pour toutes celles et ceux qui cherchent a demarrer en programmation et/ou dans le developpement web.
Par souci de simplicite et d'accessibilite, ce depot va continuer a grandir dans un fichier bien a plat. C'est comme dans une brocante, faut faire un tour pour voir. Mais bon, il y'a quand meme une table des matieres, la recherche par mot-clef et des hyperliens pour faciliter la navigation.
Contribuez et partagez
Des liens morts ? Une typo ? Une ressource que vous trouvez pertinente n'est pas presente ici et vous voulez la partager ?
Proposez votre contribution via l'ouverture d'une issue ou d'une Pull Request. Avant de soumettre une suggestion, merci de lire Comment contribuer au depot ?
No time to lose !
Table des matieres
- Ressources gratuites pour les programmeur*euses, designeur*euses web, independant*es, bidouilleur*euses et autres interesse*es
- We're Using GitHub Under Protest
- En quelques mots
- Des limites de la francophonie
- Conseils d'utilisation
- Contribuez et partagez
- Table des matieres
- Comme evaluer la sante d'un depot ?
- Environnements d'apprentissage interactifs
- Document Object Model (DOM)
- git
- CSS grid
- JS
- Algorithmes
- SEO
- API publiques
- Divers
- Opendata/France
- Cote client, Frontend
- Agregateurs de ressources pour le front
- Templates
- Typographies/Fonts
- Palettes de couleurs
- Pack d'icones/favicons
- Classic gif
- Images: photos, illustrations, svg
- Generateurs/Templates CSS
- Generateur d'assets au format SVG
- Motifs
- Animations CSS (keyframes API) ou JS
- Composants, extraits de code
- Gradients
- Generateur de mise en page / layouts
- Courbes de Bezier
- JS
- Backgrounds
- Pixel art
- Agregateurs de design, inspiration
- Composants
- UI/UX
- Sitemap
- Quelques references tierces
- Apprendre le web design
- Check, check, check
- Code
- Est-ce-que j'ai oublie un truc ?
- Accessibilite
- Perfs et config
- Analyse de texte
- Contraste
- WordPress
- Un mot
- Doc officielle wordpress.org
- Articles
- Livres de developpement Wordpress
- Episodes de podcasts sur Wordpress
- Podcasts dedies a Wordpress
- Formations
- Starter themes
- Banque de themes
- Plugins recommandes
- Articles sur la pratique de WordPress et son evolution vers le FSE
- Hebergement gratuit
- Mots de passe
- Gestionnaire de mots de passe
- Generateur de mots de passe
- Git
- Deploiement
- DevOps
- Tests
- Mouvement "NoCode", outils visual code (no-code ou low-code)
- Quitter Github
- Logiciels open-source et logiciels libres (free software)
- Capture/Edition video
- Principes generaux et fondamentaux
- Standards
- Organismes
- SGML
- XML
- Un mot sur le XML
- Apprendre le XML et ses standards associes
- Applications XML de prestige
- Standard SQL et bases de donnees relationnelles
- Securite des applications web / Audit
- Reseau
- Protocoles
- TCP/IP
- SSH
- HTTP
- BitTorrent
- Misc
- OS
- Infrastructure
- Request For Comments (RFC), drafts et W3C
- Unix
- Taches planifiees
- REST, Architecture of the World Wide Web
- Specification OpenAPI
- Specifiques a un langage/ecosysteme
- PHP
- C
- JavaScript
- Docker et conteneurs
- Suivi de projets
- Gestion de projet, gestion de l'apprentissage et des connaissances d'equipe
- Dessin et diagrammes
- Quelques SGBD
- Modelisation de bases de donnees relationnelles
- Outils de conception de base de donnees
- Analyse, conception : UML et alternatives
- Outils d'administration (et conception parfois) de base de donnees
- Architecture logicielle
- Maintenabilite
- Developpement informatique et science academique
- Developpement informatique et ecologie (ecoconception)
- Programmation fonctionnelle
- General
- Haskell
- Clojure
- Elm
- Racket, le langage-oriented programming language
- Langages Assembleur
- Rich Hickey
- Defis
- Markdown
- Presentations (slides) avec Markdown
- CV
- Ecriture technique
- Outils d'ecriture et de publication
- Apprentissage
- Expressions regulieres (regex)
- Boite a outils
sedsloccountrclonewwb(et descendants)- Manipulation de fichiers, documents
- Convertir des documents, editer des pdf
- Compresser, optimiser des documents (images, pdf etc..)
- Capture video, audio
- IA Generatives
- Android
- Langages/technos a decouvrir
- Du bruit au bruit
- SmallTalk
- Assembleur
- Prolog
- Scheme (Lisp dialect)
- Installtion
- Tcl/Tk
- Mumps/M
- RGPD
- Blog design
- Livres
- Quelques classiques (liste non exhaustive, en construction...)
- Software design, architecture logicielle
- Specifications, design
- Base de donnees
- Architecture de l'information/Recherche d'information
- Securite des applications web
- Sysadmin
- HTTP
- Perl
- Test
- Functional programming
- Clojure
- Common Lisp
- Scheme
- Haskell
- Algorithmes
- Rust
- Developpement de jeux videos
- Generation procedurale et game design
- IA, LLMs
- Hacker culture, Unix
- Education, outils/langages pour initier a la programmation
- Compilateurs, interpreteurs
- Mathematiques, mathematiques et informatique et autres aspects bas niveau
- Ressources pour formateur*trices
- En vrac
- Articles, News, Billets de blog
- IA generatives, LLMs : reflexions et ressources utiles
- Partage d'experiences, argumentaires, essais
- Design
- Misc et a classer
- Papiers
- Blogs
- Podcasts
- Cours
- Conferences, videos et series
- La verite par l'humour
- Generation procedurale
- Game Developers Conference (GDC)
- Chaines YouTube
- Playlists
- Articles, News, Billets de blog
- Fondamentaux, radical
- Contribuer a des projets open-source
- Rester informe*e
- Prendre soin de soi
- Prendre soin de sa machine
- Geometrie, art generatif, algorithmes, procedural
- Correction
- Depots
- General
- Securite
- Outils "no code", "low code" ou plutot visual code
- Cote client (Front-end)
- Developpement de jeux videos
- Applications web et reseaux a heberger soi-meme
- Conferences
- Revues et magazines informatiques
- Machine learning
- Specifique a une techno
- PHP
- Java
- JS
- Typescript
- Vue.js
- Node.js
- Flutter
- Projets open-source
- Design et architecture logicielle
- Apprendre
- API web publiques
- Divers
- Lecture : articles, livres techniques (informatique, mathematiques)
- Trouver des livres techniques d'occasion pas cher
- Vivre de son travail
- Vendre des templates
- Vendre des articles
- Trouver du boulot a distance (remote)
Comme evaluer la sante d'un depot ?
Quelques conseils pour se faire une idee de la sante d'un depot ou d'une bibliotheque, a savoir est-ce que j'en ai vraiment besoin ? Si oui, pourquoi ? Est-ce que ce depot est maintenu ou abandonne ? Est-ce qu'il y a une communaute derriere active et prete a depanner ? Est-ce que cette dependance de mon projet va casser dans 6 mois ?
Aller sur le depot puis :
- Regarder s'il y a une documentation. S'il n'y en a pas, fuyez !
- Regarder si la documentation est a jour. Si ce n'est pas le cas, vous allez souffrir.
- Regarder la date du dernier commit
- Regarder le nombre d'issues ouvertes et a quelles dates les dernieres ont ete ouvertes. Qu'il y ait un grand nombre d'issues en soit n'est pas un probleme. Au contraire, cela temoigne de l'activite du depot, de son usage et peut-etre de son utilite. Ce qui compte c'est est-ce qu'on repond a ces issues, sont-elles traitees ?
- Regarder le nombre de Pull Requests en attente, idem que pour les issues
- Regarder depuis combien de temps les contributeurs du depot n'ont pas repondu a une issue
- Regarder le nombre de contributeur*ices
- Mesurer le temps de reaction a l'ouverture d'une issue (utile et bien formulee !)
- Essayer de trouver une communaute en ligne (site, wikis, IRC, Discord etc...) Dites bonjour, si on vous repond pas mieux vaut passer son chemin.
- Est-ce que le projet (ses livrables) est versionne ? C'est important pour savoir exactement de quelle version depend notre projet, traquer les changements retrocompatibles ou non etc..
- Regarder le nombre de stars/fav (attention, metrique pas toujours pertinente)
Environnements d'apprentissage interactifs
Document Object Model (DOM)
- testing playground, tester vos interactions avec le DOM dans un environnement dedie
git
- learngitbranching, apprendre git via une appli web interactive. Excellent site web.
CSS grid
JS
- JavaScript Visualizer 9000, apprendre JS en visualisant le fonctionnement de son moteur (queue, stack, event loop etc.)
Algorithmes
- algorithm-visualizer, apprendre a programmer des algorithmes tout en les visualisant
SEO
- siteliner, trouver le contenu duplique sur votre site (et supprimez le !)
- Carrousels de donnees structurees (beta), Google utilise des donnees structurees pour comprendre le contenu de la page et le presenter sous une forme plus riche dans les resultats de recherche (ce que l'on appelle un resultat enrichi). Ce guide se concentre sur un nouveau resultat enrichi de type carrousel, disponible en version beta (2024)
- ETINCELLE : l'audit en live de ton site WordPress !, un audit live tres instructif de sites WordPress et e-commerce, par Daniel Roch, de SEOKEY.
- Comment optimiser le referencement de son site WordPress : les 7 conseils d'un expert SEO, publie chez BDM, avec le pertinent Daniel Roch
API publiques
Divers
- weatherstack
- fakerapi
- wordsapi
- catfacts
- openweather,
- nasa api, photos prises par la NASA
- movieDB api, api pour les films, series, emissions
- JSONPlaceholder, une api qui sert du JSON pour le test/dev
- rapid api, recense et documente tout un tas d'api a utiliser, pour aller en trouver encore d'autres
- open food facts, API de produits alimentaires
- open library API, l'API d'Open Library, un projet d'Internet Archive, pour travailler sur les livres, auteurs, couvertures de livres, etc.
- the Keanu Reeves Whoa API, une API JSON tres complete pour chaque "whoa" prononce par l'acteur Keanu Reeves dans ses films
Opendata/France
- data.gouv, liste des apis de donnees publiques maintenues par l'etat
- api.gouv.fr, rechercher une api parmi toutes les api du service publique
- Donnees temps reel pour les transports en commun, un exemple d'api publique (voir lien precedent) sur les donnees du transport en commun
- pappers, une api pour les donnees sur les entreprises
- voir depot plus bas
Cote client, Frontend
Agregateurs de ressources pour le front
- uxtools.co, un hub des outils, tendances, design pour les designer. Organisent des sondages tous les ans.
- devtooly, repertorie tout un tas de ressources frontend par categories
- webcode.tools, collection d'outils en ligne pour le developpement web (generateurs de code)
Templates
Templates HTML5/CSS3 a telecharger, utiliser, modifier :
- btemplates.com, des templates old school de blog pour Blogger a la base
- html5webtemplates.co
- htmlrev.com
- html5up.et
- templated.live
- templatemo.com
- zerotheme.com
- html5xcss3.com
- dopeui.co, telecharger des templates UI de grande qualite pour Figma
- uideck.com
- toolplate.com
- colorlib.com
- cruip.com
- templateMO.com
- styleshout.com
- freehtml5.co
- free-css.com
- mashup-template.com
- html5-templates.com
Typographies/Fonts
Les designers se moqueront de vous si vous utilisez le mot typographie ou typeface au lieu de police de caracteres ou font, et inversement. C'est du pur mepris de classe, comme lorsqu'on on vous corrige sur la difference entre URI et URL. Ne vous laissez pas faire.
Mais sachez en gros que la typographie, ou Typeface, c'est le design et la Font c'est l'implementation de ce design en informatique.
- wakamai, upload votre font pour connaitre ses proprietes
- typescale, creer facilement un systeme de tailles de font a suivre
- typography principles, un guide pour apprendre les principes de la typo
- fontjoy, trouver facilement des combinaisons de fonts qui fonctionnent
- google-type, trouver facilement des combinaisons de fonts qui fonctionnent
- fontsquirrel, bibliotheque de fonts libres pour usage commercial
- fontsinuse, bilbiotheque de typos
- fontfabric, tester rapidement ses fonts
- FontZone, une archive de fonts telechargeables et gratuites
- fontshare
- Typeoff.de, le blog de Dan Reynolds, un designer et historien des typographies
Quelques lectures utiles sur des aspects techniques de la typographie :
- CSS Baseline: The Good, The Bad And The Ugly
- Rule of Thirds Web Design: Using Layout Secrets
- Readability and Typesetting Basics: Kerning, Tracking, Leading, and More!
Palettes de couleurs
- open color, le dictionnaire Larousse des couleurs
- coloors, fouiller ce site il vous offre toute une palette d'outils incroyables autre que les palettes de couleurs
- colorspace, generateur de palettes de couleurs style
- css duotones
- duotones, palettes duotones (deux couleurs)
- palette ninja
- pattern background
- palettes
- data color picker : palette generator
- huetone, des palettes de couleurs, avec une attention apportee a l'accessibilite
- colorspectrum
- randomally, generateur de combinaisons de couleurs
Pack d'icones/favicons
Des icones, des icones et encore des icones. Faites votre choix :
- favicon generator
- icomoon
- font awesome icons
- bootstrap icons, plus de 1600 icones gratuites en SVG ou webfont mis a disposition par Bootstrap
- Tabler Icons
- heroicons
- iconshock
- phosphor icons
- vertex, icones 3D customizables
- icons8
- pixelarticons, des icones en pixelart
Classic gif
- The 88x31 GIF Collection: Part 1, des vieux gifs des annees 90/2000
Images: photos, illustrations, svg
- unsplash
- pexels
- drawkit
- undraw
- compresseur
- noun project
- fake images please?
- freepik
- profile pic Maker, faire une photo de profil classe a partir de "n'importe quelle photo"
- blush.design
- story-set, customization/animation d'illustrations
- dover collection series, des series de gravures sur bois magnifiques sur tous les themes (motifs, plantes, mobilier, ornements de toutes les epoques et style, animaux etc...). Une vraie boite de pandore, et la totalite de ces illustrations sont liberees du droit d'auteur, donc vous pouvez les utiliser, les modifier etc..
Generateurs/Templates CSS
- gloweffect, generer des glow effects
- underline generator
- ribbon generator, creez vos rubans
- 3dbookcovergenerator, creez des visuels 3D de livres a partir d'une image
- button generator
- simple.css, un template css sans classe pour prototyper un site markup style rapidement.
- new.css, un framework css sans classe utilisant uniquement les selecteurs de balise HTML et qui pese 4.8kb
- houdini.how
- hover.css, collection d'effet hover CSS
- min-max-calculator, creer des mise a l'echelle de votre font en fonction de la taille du displayport
Generateur d'assets au format SVG
- getwaves, faites des vagues
- blobmakers, creer des formes uniques et organiques en svg rapidement
- clip path maker, creer des svg de maniere interactive
- fancy border radius
- haeiki, generer des assets svg
Motifs
- patternify, generateur de motifs CSS
Animations CSS (keyframes API) ou JS
Experimenter et creer des animations CSS
- Animista, experimentez les animations CSS
- Pictogon, images interactives
- keyframes animate
- wait !, des animations a jouer pendant le chargement d'une ressource ou la fin d'un processus pour faire patienter l'utilisateur
- lottie
- zzz.dog, des animations rondes, a plat, pseudo 3D
- haikuanimator
- Animate.css, animations en pure CSS, a importer directement via un CDN
Composants, extraits de code
- Magic UI, composants
- shadcn/ui, composants
- codepad, code snippets dans tout un tas de langages et composants pour le front (html,css,js)
- snipplr
- web code tools, des outils cles en mains pour le developpement web
- code my ui, inspirations et code snippets pour le web design/ui
- cssui, composants interactifs en CSS (sans JS)
Gradients
- CSS Gradient, un generateur de gradient
- grainy gradients playground, un generateur de gradients pointillistes
Generateur de mise en page / layouts
Courbes de Bezier
- cubic-bezier
- The Engineering behind Figma's Vector Networks, de Alex Harri (2019), decrivant l'approche unique utilisee par Figma pour leur outil de courbes de Bezier. Contient une section tres ludique sur le fonctionnement des courbes de Bezier
JS
- magic grid
- scroll reavel, animer le scrolling de vos pages webs
- three.js, animation 3D dans le navigateur, base sur WebGL
- anime.js
- greensock, creer de l'animation engageante pour votre site
- mo.js
- velocity.js
Backgrounds
Pixel art
Agregateurs de design, inspiration
- Votre vie
- Les affiches dans la rue
- Le web !
- wayback machine, quoi de mieux que de fouiller dans les archives du web et de parcourir tous ces sites qui n'existent plus ?
- Web Design Museum, decouvrez et inspirez-vous des tendances en webdesign parfois oubliees (et qui reviennent, souvent, a la mode)
- Le design brutaliste (qui revient a la mode)
- cern, un apercu du premier navigateur web WorldWideWeb
- first website, premiere page web publique du web
- webpagesthatsuck, des designs juges horribles qui peuvent servir d'inspiration
- brutalistwebsites, une collection de sites dont le design se revendique du mouvement brutaliste
- land-book
- onepagelove
- awwwards
- screenlane
- webdesign inspiration
- dribble
- landingfolio, designs de landing pages
- ui garage
- collect ui
- behance, explorez le monde de la creation
- admiretheweb
- lapa.ninja, templates de landind pages, acces a des livres gratuits pour les designers
- landing-page-examples
- cssnectar, nectar du web design
- siteinspire
- triPixel
Composants
- accordion slider generator
- navbar generator
- button
- loader, des loaders
- uiball.com/loaders, des loaders
- Froala Design Blocks, une banque de composants pret a l'emploi
UI/UX
- figma, actuellement le meilleur editeur de design (webapp/desktop) gratuit
- checklistdesing, une collection des meilleures pratiques de design web
- laws of UX, une autre collection des meilleures pratiques en design web, tres bien faite, avec un resume de ce qu'il faut retenir sur chaque post
- design principles
- uiplaybook, un dictionnaire des composants webs (fonction, bonnes pratiques, implementation etc..)
- UX challenges, exercices d'UX
- future learn, apprendre l'ux, maintenu par Accenture
- baselinehq, un bootcamp gratuit produit par des professionnels
- springboard, apprendre l'ux/ui
- UXMTYHS, collection des erreurs de conception en UX avec des explications sur le pourquoi
- Google UX Design
- Decathlon figma, Decathlon a ouvert au domaine public tout son systeme de design
Sitemap
- octopus, un outil en ligne pour construire le sitemap (architectures des pages, composants) de son projet
Quelques references tierces
- w3schools, une bonne reference. On y trouve toutes les ressources pour apprendre le developpement web, surtout cote navigateur
- css grid
- flexbox
- css selectors
- how to draw an svg in Inscape, un tutoriel qui explique bien comment faire un svg a partir d'une image bitmap
Apprendre le web design
- Learn Design, serie de cours proposes par Figma
- hackdesign
- Web Design Tips for Beginners: The Ultimate Guide
- Guidelines for Brutalist Web Design, guidelines pour developper des sites web content first
- Using color wisely, guide de la MDN sur l'usage des couleurs
Check, check, check
Code
- The W3C Markup Validation Service, valider le code source de vos pages web
- Can i use ...
Est-ce-que j'ai oublie un truc ?
- Landing Page Checklist, des ressources pour votre landing page et s'assurez de n'avoir rien oublie d'important
- Front-end checklist
- unused-css, detecte le CSS non utilise sur une page web
- Checklist Design, une collection des meilleurs pratiques de design. Pour chaque composant, cochez une a une les cases d'un checklist pour voir si vous n'avez rien oublie (page login, page 404, flot de paiement, logo etc... )
- faviconcheck, verifier comment rend vos favicons sur differents os, navigateurs ou themes
Accessibilite
L'accessibilite du web est la problematique de l'acces aux contenus et services web par les personnes handicapees et plus generalement par tous les utilisateurs, quels que soient leurs dispositifs d'acces ou leurs conditions d'environnement.
- Premiers pas pour rendre un site Web accessible, une liste de tutoriels de la W3C pour rendre votre site web plus accessible
- Design and Develop Overview, sujets, tutoriels et conseils pour rendre votre site web plus accessible
- WebAIM: web accessibility in mind, verifier et se documenter sur l'accessibilite du web pour les personnes souffrant de handicap
- Sensible Forms: A Form Usability Checklist, ameliorer l'accessibilite des formulaires HTML
Perfs et config
- pingdom, tester le temps de chartement d'une page et obtenir un diagnostic
- pingtest, ping un nom de domaine depuis plusieurs positions sur le globe
- whatsmydns.net, visualiser la propagation sur les serveurs DNS de votre enregistrement DNS
- intodns, verifier votre config DNS (serveur web, serveur mail,etc.)
- WebPageTest, un projet open-source soutenu par Google avec un focus sur le network. Au top
- measuring page weight, un article (en anglais sorry, j'essaierai de trouver un article equivalent en fr) qui discute de la facon dont est calcule le poids d'une page et la recherche d'un standard. Liste egalement tous les outils populaires pour faire des mesures
Analyse de texte
- word-counter, donne des metriques sur un texte (nombre de mots, caracteres, paragraphes etc..)
Contraste
WordPress
Un mot
En 2021 on comptait environ 455 000 000 sites WordPress. Cela represente au moins 30% du web, mais en realite plutot 40% (estimation haute).
WordPress est un framework parfaitement adapte pour gerer et publier du contenu sur Internet. C'est un outil versatile qui peut etre adapte pour toute taille de projet. Si WordPress peut etre utilise pour tout faire, il n'est pas toujours la solution la plus adaptee !
Ce framework existe depuis 2004, dans le monde du logiciel libre c'est une eternite.
WordPress est developpe et pense pour l'utilisateur final (celui qui publie et gere le contenu), et non pour le developpeur. Les utilisateurs se moquent bien de nos outils tant qu'ils ont ce qu'ils demandent. WordPress, a 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 enorme avantage de capitaliser dessus pour les futurs utilisateurs de votre application web.
Doc officielle wordpress.org
Tres bien faite, mais peut parfois demander un peu d'experience pour s'y retrouver. Ne pas oublier que de documenter un immense framework qui evolue sans cesse est un immense challenge en soi.
- Codex
- Wordpress hierarchy
- Wordpress coding standards
- Template tags
- Using Permalinks
- Data Sanitization/Escaping
- Localization
- Make Wordpress, un hub centralises de ressources pour les developpeurs Wordpress
Articles
Livres de developpement Wordpress
A telecharger sur pdfdrive:
- Professional WordPress: Design and Development de Brad Williams et David Damstra, Edition Wrox, 3rd Edition, 2015
- Professional WordPress Plugin Development de Brad Williams et Justin Taldock, Edition Wrox, 2nd Edition, 2020
- Modern PHP: new features and good practices, Josh Lochart, Edition O'REILLY, 2015
Episodes de podcasts sur Wordpress
- 070: All things WordPress, Tessa Kriesel presente ici l'etat et le futur de Wordpress ainsi que l'histoire de son developpement
- The thing about Wordpress, Matt y discute des avantages et inconvenients de Wordpress en tant que developpeur. Tout ce qui est discute ici est pertinent
Podcasts dedies a Wordpress
Formations
- Cours wordpress.org
- Building websites with WordPress
- Learn Wordpress
- Wordpress for beginners training
- How to Learn WordPress for Free in a Week (or Less)
- Wordpress tutorials
- How to, video
- Our wordpress library
- Wordpress freecodecamp
- Building PHP MVC Framework from Scratch, The Codeholic. Pas sur Wordpress mais montre les fonctionnalites de base d'un framework a implementer
Starter themes
Banque de themes
- colorlib
- themeforest, des themes wordpress mais pas que
Plugins recommandes
Le plus recommande est de limiter au maximum l'usage de plugins pour vos themes. Cela dit certains plugins stables et bien maintenus sont souvent de la partie pour des sites en production
- Advanced Custom Fields, et non SCF !
- ewww image optimizer
- bulletProof Security, bonne alternative a WordFence
- carbon fields, alternative gratuite a ACF Pro
- fakerpress, generateur de faux contenu pour tester son theme
- RankMath, plugin SEO, bonne alternative a Yoast
- BuddyPress, plugin pour ajouter une couche reseau social a votre site
- bbPress, gestionnaire de forums/fils de discussion
- W3 Total Cache, un plugin pour optimiser les performances de Wordpress, completement agnostique de l'hebergeur. Mise en cache des pages webs etc... Au final, ameliore l'experience utilisateur et le SEO de votre site. Verifiez que votre hebergeur ne vous propose pas deja un plugin de mise en cache maison avant de l'installer sur votre site en prod
Articles sur la pratique de WordPress et son evolution vers le FSE
- Testing and Feedback for using block based template parts in classic themes
- The Imaginary Block-vs-Classic Battle in WordPress
Hebergement gratuit
- Neocities, Neocities est un hebergeur web ayant pour objectif de faciliter la creation de sites internet personnels afin d'offrir une alternative aux reseaux sociaux. Il s'inscrit dans la continuite du legendaire Geocities, un ancien service d'hebergement web gratuit fonde en 1994, ferme en 2009
- GitHub Pages, GitHub offre la possibilite d'heberger un site statique
Mots de passe
Gestionnaire de mots de passe
- KeePassXC, les navigateurs proposent de sauvegarder vos mots de passe. Mais ils ne sont pas concus pour ca et ce n'est pas l'ideal d'un point de vue securite. Mieux vaut utiliser un gestionnaire de mots de passe sur votre machine pour les acces sensibles. KeePassXC est un gestionnaire de mots de passe multiplateforme et open-source. Il stocke vos mots de passe dans une base de donnees cryptee et respecte les standards. Il offre egalement tout un tas d'autres fonctionnalites. Il vient meme avec une extension pour votre navigateur favori qui se connecte a votre base de donnees de mots de passe et (essaie) de remplir automatiquement les formulaires de login.
Generateur de mots de passe
- xkpasswd, creer des mots de passes securises ET faciles a retenir (si vous devez le faire)
Git
- inside .git, comic strip de Julia Evans sur le systeme de fichiers interne de git
- Conventional Commits, une specification pour ajouter une signification lisible par l'humain et par la machine aux messages de commit, pour s'en servir de base a des outils d'automatisation
Deploiement
- FileZilla, le client ftp/sftp open source par excellence (evitez deployer en ftp sur un projet complexe, il y a de meilleures alternatives pour moins de charge mentale). Depanne toujours et fonctionne tres bien pour des sites web simples.
- Capistrano, un outil pour deployer automatiquement sur un serveur distant, avec gestion de version, rollbacks etc... Pour un deploiement sans stress
DevOps
"DevOps is a meaningful term"
- Pourquoi notre workflow Devops est le plus efficace et rentable que vous puissiez trouver aujourd'hui (1ere partie), de bearstech
Tests
- Programmer Test Principles, de Kent Beck;
- Test Desiderata, de Kent Beck
Mouvement "NoCode", outils visual code (no-code ou low-code)
- No Code Summit, conference organisee par l'Union Francaise des Professionnels du NoCode qui federe et represente les professionnels du NoCode et du LowCode
- No-Code France, association et espace communautaire francophone dedie au No-Code (slack, chaine YouTube, veille, meetups)
- Makerpad, communaute consacree au NoCode (tutoriels, posts, veille), cree en 2018
- Webflow University, des cours sur le developpement de site webs avec Webflow
- Bubble Academy, la source principale de guides pour developper avec Bubble
- La gazette du No-Code, un media 100% NoCode dediee au NoCode (portraits, actualities, interviews, tests d'outils, etc.)
Quitter Github
Le 29 Juin 2022, le software freedom conservancy a publie un article incitant a abandonner GitHub pour se tourner vers des plateformes d'hebergement de codebase plus respectueuses de l'open-source et des utilisateurs.
L'article mentionne les raisons tres claires de cette initiative et alerte sur la derive du logiciel proprietaire GitHub. GitHub a porte un coup de grace en monetisant l'outil copilot entraine sur les depots des utilisateurs sous licence libre (mais non sur les codebases de Windows) et en laissant lettre morte les revendications et questions adressees par la communaute.
Souscrivant a la vision et aux arguments du software freedom conservancy, cette liste sera migree prochainement vers une autre plateforme.
Des alternatives existent et vont se creer. Voici une liste de plateformes alternatives
Sinon vous pouvez mettre en place vous meme votre hebergement de gestionnaire de projets a l'aide de ces outils
Logiciels open-source et logiciels libres (free software)
- 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
- opensourcealternative, trouver une solution alternative open-source a ...
- degooglisons-internet, remplacer tous vos services tiers proprietaires par du libre (partage de fichiers, communication...)
- Framasoft, association d'education populaire soutenant plusieurs projets open-source dont Framalibre
- flop!EDT, gestionnaire d'emploi du temps personnalise open-source
- Framalibre, l'annuaire des logiciels libres
- librejs, une extension pour navigateur pour bloquer uniquement l'execution du JavaScript non libre
- Le piege JavaScript, Richard Stallman (traduction fr), article de Richard Stallman traduit en francais sur les problemes que posent l'execution de code Javascript dans le navigateur vis a vis du logiciel libre et de son ethique
- En quoi l'open source perd de vue l'ethique du logiciel libre, article originellement publie par Richard Stallman sous le titre Why Open Source Misses the Point of Free Software. Pour bien comprendre les differences philosophiques et pratiques dans des cas tres concrets entre les deux mouvements
Capture/Edition video
- Pitivi, tres bon editeur video open-source, simple a utiliser, avec beaucoup de fonctionnalites avancees et puissant (notamment a l'export impeccable)
- unscreen, retirer l'arriere plan d'une video en ligne (automatique)
- ffmpeg, collection de logiciels libres maintenus depuis les annees 2000 pour manipuler les flux audio et video. Indispensable
- HandBrake, un converteur video open source pour convertir et compresser vos videos en utilisant les meilleurs algorithmes de compression
- Shrink my video!, un outil en ligne pour compresser facilement vos videos (preferer handbrake pour faire tout le travail en local si possible)
- SimpleScreenRecorder, un tres bon logiciel, simple et complet, de capture video de son ecran et du son, parfait pour enregistrer des screencasts et des tutos.
- OBS Studio, logiciel libre d'enregistremetn video et de streaming en direct multiplateforme
Principes generaux et fondamentaux
- What Every Programmer Should Know About Floating-Point Arithmetic
- Dive into Systems, de Suzanne J. Matthews, Tia Newhall, Kevin C. Webb. Livre complet en ligne sur les fondamentaux avec de la programmation C, assembleur, architecture, multithreading
Standards
"The good thing about standards is that there are so many to choose from." (Andrew Tanenbaum)
Organismes
Une liste non exhaustive d'organismes qui implementent et maintiennent les standards ouverts dans differents domaines de l'informatique.
- OASIS OPEN, groupe de collaboration (individus, entreprises, gouvernements, etc.) en charge de l'implementation et de la maintenance de standards informatiques ouverts, comme DITA, DocBook, OData, OpenDocument, etc. Voir tous les projets ici.
- W3C, le World Wide Web Consortium, en charge de maintenir et developper les standards ouverts du Web.
- WHATWG, le Web Hypertext Application Technology Working Group est un groupe de collaboration qui travaille sur la standardisation des navigateurs webs (voir ici les standards sur lesquels ce groupe travaille) et des standards associes comme le protocole WebSocket, le Storage, XMLHttpRequest, etc. C'est un groupe qui a ete forme en 2004, suite a un atelier organise par le W3C, par des personnes travaillant chez Apple, Mozilla et Opera. Il a ete cree en reponse au fait que le W3C partait un peu en cavalier seul sur le futur du standard HTML avec XHTML (qui au final a donne HTML5) sans prendre assez en compte l'etat de l'industrie du developpement informatique. Il represente surtout le cote industrie du web et les vendor de navigateur web, et cherche a accelerer le developpement des standards pour les implementer 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 egalement partie.
- Internet Engineering Task Force (IETF), L'Internet Engineering Task Force (IETF), elabore 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 generalement la redaction d'une ou plusieurs Request for comments (RFC), nom donne aux documents de specification a la base d'Internet.
- Open Container Initiative (OCI), gouvernance pour maintenir et garantir des standards ouverts sur les formats de conteneurs et de leurs environnement d'execution. En font partie Docker Inc., Red Hat, Google, etc.
- Web Developer Experience (WebDX) Community Group, groupe de travail de la W3C regroupant les principaux editeurs de navigateurs web (Mozilla, Microsoft, Apple, Google ) pour creer un ensemble connu de fonctionnalites securisees. Le travail de ce groupe se retrouve sous la forme du Web Platform Baseline, un ensemble d'informations claires sur la compatibilite des navigateurs avec les fonctionnalites du web (actuelles et a venir) que l'on peut utiliser en securite (en production). Ces informations se retrouvent sur la MDN Web Docs.
- MDN Web Docs, 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 developpement web. Maintenue par le groupe de travail Open Web Docs (OWD)
- Interop, groupe de travail specialise dans l'interoperabilite entre les navigateurs (implementations des standards du web). Ce groupe maintient notamment une suite de tests cross-browsers
SGML
SGML est un metalangage a balise pour definir des langages a balise (markup langages). SGML est a l'origine de tous les langages a balise, comme HTML ou XML qui en sont des applications.
XML
Un mot sur le XML
Le standard XML (eXtensible Markup Language) est extremement puissant pour construire des documents robustes, echangeables et faciles a maintenir (lire et ecrire) dans le temps. Contrairement aux idees recues, il n'est pas mort et n' a pas vocation a etre remplace par JSON car les deux standards n'ont pas du tout la meme histoire, ni les memes ambitions. Loin de la...
XML est un format universel pouvant etre lu facilement par des humains et par des machines. XML est ne en 1998 du standard SGML (qui a donne l'application HTML, un sous-ensemble du standard SGML, plus simple et plus permissif adapte au web). XML est egalement une simplification du standard SGML.
Son but initial etait de faire office de standard pour conserver les documents numeriques dans un format independant des machines, des OS ou des supports physiques. L'idee du W3C etait de creer un standard qui permettra de lire votre document sur une techno inconnue dans 2000 ans. C'est un projet fascinant. Il etait avant tout destine a des documents narratifs (rapports, articles, catalogues). Il est base sur la separation stricte du contenu et de la forme.
Les developpeurs s'en sont empares ensuite pour faire du maintien d'enregistrement pour leurs applications, ce qui n'avait pas ete envisage dans sa conception initiale.
XML s'accompagne d'autres standards comme
- XPath, un standard qui permet de requeter la structure XML pour naviguer dans la structure de donnees et la manipuler
- XQuery, un standard qui permet de requeter l'abre via un langage declaratif (le pied) comme le SQL
- XSLT, standard plus avance que le CSS pour mettre en forme les donnees XML pour la publication (vers un autre fichier XML, le web, le papier, etc.). Permet egalement de modifier l'affichage d'elements, de les reorganiser etc...
- DTD, pour la validation des donnees par un schema
- et d'autres encore (XML Schema, etc.)...
Tous ces standards font d'XML un outil a avoir dans sa poche lorsque l'on a besoin d'echanger ou de construire des structures de donnees complexes et validables, ou de produire des documents independemment de leurs usages (web, presentation, impression papier, etc.).
Apprendre le XML et ses standards associes
- XML Tutorial, W3C Schools
- XML Facile !
- XML in a nutshell, A Desktop Quick Reference
- La DTD et son langage XML, article publie par cairn.info, pour le domaine de l'edition
Applications XML de prestige
- Docbook, application XML dediee a la publication de documents, principalement des articles et des livres d'informatique mais pas que. Le projet a originellement ete developpe par l'editeur O'Reilly pour ses editeurs, il est aujourd'hui maintenu par OASIS OPEN, un groupe de collaboration travaillant et maintenant des standards
- Dita Open Toolkit, implementation open-source du standard Dita, the Darwin Information Typing Architecture, projet egalement maintenu par OASIS OPEN. C'est un framework de documentation et de publication technique ou l'on va pouvoir developper et maintenir une source de verite pour la publier vers differents formats (PDF, HTML, Markdown, etc.)
Standard SQL et bases de donnees relationnelles
- A Relational Model of Data for Large Shared Data Banks, Edgard Codd (PDF), la publication originale de Edgard Codd en 1970, pere de l'algebre relationnelle et du modele relationnel
- Use the index, Luke !, site maintenu par Markus Winand, une reference des bases de donnees relationnelles. Vous trouverez sur son site une explication complete de l'optimisation et des performences des bases de donnees relationnelles. Le contenu est dipsonible en ligne ou en PDF.
- Modern SQL, a lot has changed since SQL-92, le site cousin du site Use the index, Luke !, de Markus Winand. Aborde les evolutions les plus recentes du standard SQL
- Le site de Markus Winand, de Markus Winand, un expert du standard SQL (et une personne a suivre si le standard vous interesse)
- The Mother of all Query Languages: SQL in Modern Times | Markus Winand (Conference), conference de Markus Winand (Data Natives Berlin, 2018) sur l'etat actuel du standard SQL, de l'evolutions de ses differentes implementations (Oracle, PostgreSQL, MySQL, etc.)
- Norme de developpement (SQLSpot), un document complet sur une proposition de conventions et les normes de developpement de bases de donnees relationnelles. Propose par Frederic Brouard. Frederic Brouard a ecrit et co-ecrit des ouvrages de reference (Pearson Eduction, Campus Press) sur les implementations du standard SQL, avec Christian Soutou
- Normalisation des noms des objets des bases de donnees, un autre document HTML plus succint sur les normes et bonnes pratiques de nommage en SQL, par Frederic Brouard
- Cours complet pour apprendre les systemes de gestion de bases de donnees, un cours complet de Georges Gardarin sur les bases relationnelles
- Les meilleurs cours et tutoriels pour apprendre le SQL, par les membres de developpez.com. Un grand nombre de cours, tutoriels, exercices sur le sujet
- Une selection de livres par les membres de developpez.com
- Other MySQL Documentation, documentation de MySQL sur des aspects plus avances ainsi que des liens pour telecharger des bases de donnees avec des grand volumes de donnees pour pratiquer sa comprehension du standard, de MySQL et des performances
Securite des applications web / Audit
- OWASP Top Ten : Top 10 Web Application Security Risks, document standardise des risques de securite des applications web. Liste et classifie l'ensemble de risques reconnus comme critiques pour les applications web
- OWASP : Attacks, la liste des attaques les mieux connues
- OWASP Cheat Sheet Series, des syntheses sur les differents types d'attaque et leur prevention
- OWASP Secrets Management Cheat Sheet, conseils sur la gestion des secrets;
- OWASP Cryptographic Storage Cheat Sheet, conseils sur le stockage de donnees chiffrees;
- OWASP Password Storage Cheat Sheet, conseils sur le stockage de mots de passe;
- Securite : Chiffrement, hachage, signature, publie par la CNIL
- NIST Special Publication 800-63B : Digital Identity Guidelines, Authentication and Lifecycle Management, document de reference publie par le National Institute of Standards and Technology (NIST) sur les recommandations liees a la gestion de l'identite en ligne et des systemes d'authentification.
- KeePassXC Application Security Review, de Zaur Molotnikov. Un audit du gestionnaire de mots de passe open source KeePassXC. Contient de nombreuses informations utiles sur son fonctionnement et ses details d'implementation. Telecharger le PDF (version 1.2)
- RFC 7519 : JSON Web Token (JWT), publie par l'IETF. Le document decrivant le standard JWT
Reseau
- Beej's Guide to Network Concepts, un cours de Brian "Beej" Hall continuellement mis a jour depuis 1995 sur la programmation et les protocoles reseau. Exemples initialement en C, une nouvelle version est editee en s'appuyant sur le langage Python. Voir la version C. Voir le site de Brian Hall
- Service Name and Transport Protocol Port Number Registry, le registre d'assignations des ports utilisateurs par l'Internet Assigned Numbers Regisitry (IANA). Les numeros de port sont assignes de differentes facons, repartis en 3 categories : Ports Systeme (0-1023), Ports Utilisateurs (1024-49151), Ports dynamiques ou prives (49152-65535)
Protocoles
TCP/IP
- A Protocol for Packet Network Intercommunication, par CERF et KAHN, membre de l'IEEE. Papier a l'origine du protocole TCP/IP
SSH
HTTP
- HTTP Caching, une synthese sur l'implementation du cache du protocole HTTP. Attention, tous les navigateurs n'implementent pas le standard au meme point.
- Un tutoriel de la mise en cache, un tres bon tutoriel en francais de Mark Nottingham sur la mise en cache du protocole HTTP
- Content-Security-Policy (CSP) header, header important qui permet aux administrateurs d'un site web de controler les ressources que l'agent utilisateur est autorise a charger pour une page donnee
BitTorrent
- Peer-to-peer networking with BitTorrent (PDF), de Jahn Arne Johnsen, Lars Erik Karlsen et Sebjorn Saether Birkeland
Misc
- Code de radiorecherche No 1 (POCSAG), un protocole de transmission radio utilise pour les reseaux de radiomessagerie.
OS
- Minix 3, OS developpe par Tanenbaum dont s'est inspire Linus Torvalds pour creer le noyau Linux. OS destine initialement a des fins pedagogiques, notamment via le fameux livre Operating Systems Design and Implementation, 3rd edition
- Minix 3, background, un article tres interessant de Tanenbaum sur l'histoire des OS Unix-like, de Minix, de ses rapports avec l'equipe Unix du Bell Labs (Ken Thompson, Dennis Ritchie, Weinberger, etc.) et de Linux
- Operating Systems, three easy pieces, ou le Comet OS Book, de Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (University of Wisconsin-Madison), publie par l'universite du Wisconsin, depuis 2008 (continuellement mis a jour). Accessible en ligne (version HTML). Une reference sur les systemes d'exploitation.
- Operating System Concepts, 9th edition
- NOC:Introduction to Operating Systems, IIT Madras, de Chester Rebeiro, Indian Institute of Technology. Apprendre les fondamentaux des OS et bien maitriser le langage C. Vous pouvez telecharger les videos, les transcripts et le support complet du cours.
Infrastructure
- Load Balancing, un article bien fait avec visualisations sur les repartiteurs de charge (load balancer) et les differentes strategies d'implementation
Request For Comments (RFC), drafts et W3C
Des documents decrivant les aspects et specifications techniques d'Internet. La source, et des lectures arides mais tres interessantes quand on prend le temps de fouiller certaines sections. Certains d'entre eux definissent des standards.
- Draft: JSON Hypertext Application Language, par M.Kelly
- RFC 9110: HTTP Semantics
- RFC 3986: Uniform Resource Identifier (URI): Generic Syntax, par T. Berners-Lee, R.Fielding et al.
- RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, par R. Fielding, J. Reschke
- W3C: Cool URIs don't change, par Tim Berners-Lee
- W3C: Architecture of the World Wide Web, Volume One, ecrit par le W3C Technical Architecture Group
Unix
- Unix programmer's manual Third Edition, publie par K. Thompson et D. M. Ritchie, 1973
- Philosophie d'Unix
- Basics of the Unix Philosophy, extrait de The Art of Unix Programming, d'Eric Steven Raymond, 2003, Chapter 1
- The UNIX Pipe Card Game, un jeu de cartes que l'on peut imprimer pour apprendre a manipuler les pipes UNIX et les programmes UNIX fondamentaux (grep, cat, tail, etc.)
Taches planifiees
REST, Architecture of the World Wide Web
- REST, une synthese de David Gayerie sur REST de qualite, avec une bibliographie utile
- Welcome to the REST CookBook
- Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000., la these de Roy qui a "coin" le terme REST. Un document sur l'architecture logicielle distribuee. Voir la traduction Chapitre 5 sur REST en francais, mais ne pas s'arreter qu'a ce chapitre;
- Architecture of the World Wide Web, Volume One, publie par le W3C, 2004. La bible sur l'architecture du web et sur les technologies du web (HTTP, HTML et URL)
- REST APIs must be hypertext-driven, billet de blog de Roy T. Fiedling tres interessant sur le fait qu'une API RESTful doit etre orientee hypertexte (ou de maniere generale par les hypermedia)
- Hypermedia Types, les differents types d'hypermedia definis pour le protocole HTTP et pour construire des API plus robustes. Le livre de l'auteur Building Hypermedia APIs with HTML5 and Node, Amundsen, a l'air tres interessant
- JSON-LD, A JSON-based Serialization for Linked Data*
- JSON Linking with HAL;
- The case for hyperlinks in APIs
- 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.
- Zalando RESTful API and Event Guidelines, guide et recommandations pour concevoir des API RESTful
- The Vision of Kay and Fielding: Growable Systems that Last for Decades
- IANA Media Types Registry, liste de formats serieux, recenses par l'IANA. Si vous cherchez un format pour les reponses de votre service vous pouvez parcourir cette liste:
- 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 schemas a suivre pour differents modeles de donnees
- Microformats wiki, un wiki qui decrit des specifications de structure de donnees interoperables
- Design Guidelines, une liste filtree de guidelines de design d'API publiees par plusieurs entreprises
Specification OpenAPI
- La specification OpenAPI est une description formelle et standardisee d'une web API au format texte (JSON ou Yaml). Elle est maintenue et developpee par l'OpenAPI Initiative (OAI), un consortium ouvert d'experts de l'industrie. Ce projet collaboratif est porte par la Linux Foundation.
- La specification ouverte OpenAPI a ete cree a l'origine par Wordnik en 2010, sous le nom de Swagger specification. SmartBear Software et d'autres acteurs ont repris la specification a partir de 2015. Le projet est devenu l'OpenAPI Specification.
- Swagger designe aujourd'hui une suite d'outils pour le developpement d'API, publies par SmartBear Software. Cette enterprise est membre du comite de l'OpenAPI Initiative et maintient et developpe plusieurs logiciels open source autour de la specification, comme Swagger Editor. Il existe de nombreux autres outils developpes par la communaute
- Le guide officiel pour demarrer avec OpenAPI ;
- OpenAPI tooling, liste tous les outils developpes par la communaute pour travailler avec la specification ;
- The OpenAPI Specification Explained, le guide
- OpenAPI Specification, la reference complete
- OpenAPI Best Practices, un guide de bonnes pratiques et de recommandations pour travailler avec la specification OpenAPI
- OpenAPI Initiative, le site web officiel de la specification OpenAPI, une description standardisee de web API;
Specifiques a un langage/ecosysteme
PHP
- php.watch, news PHP, articles, changements a venir. Le blog officiel qui suit le developpement de PHP
- PHP: The Right Way reference accessible aux standards modernes de PHP
- The PHP Foundation, groupe de travail sur l'ecosysteme PHP. En savoir plus.
- PHP-FIG, le PHP Framework Interop Group, a l'origine des PSR
- packagist, depot principal des composants PHP
- pecl, le repertoire officiel des extensions de PHP (Modernisation de la distribution et maintenance envisagee par la communaute et initiee par la PHP Foundation et Derick Rethans)
- PHP Usergroup, trouvez des usergroups PHP pres de chez vous
- Afup, association francaise des utilisateurs de PHP
- PHP Documentor, produire de la documentation directement a partir des sources
- FrankenPHP, un serveur PHP moderne ecrit en C et Go, maintenu par Kevin Dunglas, qui permet d'utiliser HTTP 1.1, 2 et 3, et supporte des reponses HTTP multiples. Remplace PHP-FPM
- NativePHP, framework PHP pour deployer des applications desktop, maintenu par Marcel Pociot. Attention, outil toujours en alpha (2023)
- psalm, analyseur statique de code, notamment inspire de Hack
- phpStan, l'analyseur statique (at compile time) du code PHP par excellence. Find bugs without writing tests
- phpCodeSniffer, l'outil par excellence pour appliquer des standards de maniere semiautomatise a son code source. Compose de deux programmes: phpcs pour sniffer les erreurs dans votre code et phpcbs pour corriger automatiquement ce qui peut l'etre.
- phpBench, un framework de benchmark pour PHP, inspire de PHPUnit
- Le blog de Fabien Potencier
- Le blog de Kevin Dunglas, membre core de Symfony, mainteneur de FrankenPHP et du protocole Mercure (entre autres). Un grand developpeur et contributeur de l'ecosysteme PHP notamment, plein d'humilite
- Functional Programming in PHP
- PHP Quality Assurance
Voir le depot dedie a la veille PHP.
C
- Beej's Guide to C Programming (en), un excellent cours complet (au ton personnel) sur le langage C, completement accessible sur le web
- Introduction To C course (en), un cours d'introduction au C
- The GNU C Reference Manual (en), le manuel sur le C publie par le projet GNU est une bonne ressource pour apprendre et approfondir ses connaissances en C
- comp.lang.c Frequently Asked Questions (clc FAQ), faq sur le langage C, issue du groupe Usenet
comp.lang.c. Composee et rafinee depuis 1990. A meme ete publiee sous forme de livre par Addison-Wesley - The Definitive C Book Guide and List, discussion sur StackOverflow sur les bons ouvrages pour apprendre le C a differents niveaux.
- Linux kernel coding style, style guide C utilise par les contributeurs de Linux
- The C Book, 2nd edition, de Mike Banahan, Declan Brady et Mark Doran, publie originellement chez Addison Wesley, 1991. Disponible gratuitement en ligne.
JavaScript
- p5js, une librairie JavaScript open-source pour le code creatif. Avec un focus pour rendre le code accessible et inclusif pour les artistes, designers, formateurs, debutants.
- leaflet, le projet open-source pour developper des cartes interactives et mobile-friendly.
- openlayers, bibliotheque pour couvrir les besoins en carthographie
- jquery, jquery est le parfait exemple de bibliotheque 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 role majeur dans l'evolution du standard de JS. La bibliotheque est tellement solide et populaire qu'il a meme ete suggere d'embarquer jquery (en cache) dans tous les navigateurs pour le futur standard HTML6. Idealement, dans un monde parfait, jquery devrait disparaitre tout comme JavaScript devrait disparaitre du navigateur. En effet, les besoins de JS reculent toujours d'avantage a 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'eloigne pas trop du DOM, on apprend des choses sur le DOM qui seront toujours utiles meme dans un monde post-jquery, meme dans un univers vanilla JS (c) ca permet aussi de prototyper rapidement des interfaces dynamiques meme si on decide ensuite de passer sur un framework JS (d) ca demande quand meme de comprendre le vanilla JS. Voici un tout petit depot ou l'on a selectionne l'essentiel du fonctionnement de jquery pour bien comprendre comment cette bibliotheque fonctionne. (source de l'image)
- Vanilla JS, le site web qui promeut le vanilla JS
Docker et conteneurs
- Un conteneur Linux, qu'est-ce que c'est ?, publie par RedHat
- Docker Tag Guide | Purpose, Usage, and Examples, un article et guide sur la maniere de tag correctement les images pour implementer un versionnement semantique
- Simplify the Smallest Possible Docker Image, de Adriaan de Jonge
- 12 Fractured Apps, de Kesley Highttower
- Best Practices Around Production Ready Web Apps with Docker Compose, de Nick Janetakis. Publie en 2021, des choses ont change sur docker compose depuis mais reste pertinent sur de nombreux points
- La securite des conteneurs, qu'est-ce que c'est ?, un tres bon article de RedHat sur la securite des conteneurs, de l'application conteneurisee a l'infrastructure sur laquelle le conteneur est deployee
- Guide pour la programmation reseaux de Beej's, sur les differents types de sockets
- Docker Bench for Security, ensemble de scripts open-source qui permet d'auditer de maniere automatique l'installation et la configuration du serveur Docker en environnement de production
Suivi de projets
- Mattermost, alternative open source a Trello, outil de workflow, travail collaboratif, suivi de taches, etc.
Gestion de projet, gestion de l'apprentissage et des connaissances d'equipe
- Philippe Bourgau's XP Coaching Blog, des articles sur la gestion de projets et de la veille en pratique (comment travailler en accord avec les principes de l'extrem programmaing, gerer du code legacy, organisation des equipes, apprentissage et veille, etc.), par Philippe Bourgau verse dans l'eXtrem Programming (XP)
- Xtrem Reading, des articles sur l'extrem reading et comment le mettre en pratique, par Yoan Thirion verse aussi dans l'eXtrem Programming (XP)
Dessin et diagrammes
- Umlet, meilleur outil crossplatform pour realiser des diagrammes UML rapidement, faciles a partager et editer (dans l'esprit UML 1)
- dia, programme opensource et crossplatform pour dessiner des diagrammes structures
- excalidraw, dessiner des diagrammes rapidement avec un look and feel fait-main, en local ou sur le web
- minimator, un editeur graphique SVG minimaliste dans le navigateur. Dessinez a l'aide d'une grille et exportez facilement votre svg
- dddraw, un editeur graphique SVG gratuit en ligne
- nomnoml, un outil pour script le rendu de diagrammes UML
Quelques SGBD
- PostgreSQL, le choix a faire lorsqu'on part sur une base de donnees relationnelle. Projet open-source maintenu depuis 30ans, le SGBD qui va le plus loin sur l'implementation du standard SQL
- Dalibo, l'expertise PostgreSQL, ressources gratuites pour se former sur PostgreSQL
- ClickHouse, base de donnees relationnelle orientee colonnes. Optimise pour l'OLAP. Verifiez bien avant de vous en servir pour votre projet que ce systeme soit adapte a votre cas d'utilisation
- Datomic, un SGBD developpe par Rich Hickey. En plus de concevoir la base de donnees comme une valeur ce modele incorpore le temps de maniere native. Depuis avril 2023, Datomic est accessible gratuitement
- SQLite, un SGBDR qui contrairement a la plupart des autres systemes n'utilise pas l'architecture client/serveur et permet de disposer d'une base de donnees relationnelles dans un simple fichier. On peut utiliser DB Browser for SQLite pour avoir un gestionnaire et inspecteur de bases de donnees avec GUI.
Modelisation de bases de donnees relationnelles
- Initiation a la conception de bases de donnees relationnelles avec MERISE
- Petit guide d'analyse des donnees a l'aide de la methode MERISE, par Frederic Brouard
- Regle de gestion bien ecrite => Modelisation des donnees facile, par CinePhil, moderateur actif de developpez.com
- Le Dictionnaire des donnees, article utile de Pr. Nacer-Eddine Zarour et Dr. Mohamed El Hadi Benelhadj sur l'ecriture du dictionnaire de donnees
- Associations reflexives, tres bonne page web sur les associations reflexives en Merise, par E. Thirion
- Normalisation des noms des objets des bases de donnees, une proposition de standardisation interne a l'organisation de l'ensemble des elements composant une base de donnees, par Frederic Brouard. Propose un standard sur le nommage, les domaines de validite, la documentation, l'ergonomie et l'ecriture des requetes. Independant du SGBDR. Ne pas hesiter a s'en servir.
- La methode MERISE, par tcosnuau
- Clefs auto-incrementees, article complet de Brouard sur la generation de la valeur des clefs primaires permettant d'identifier chaque enregisterment de maniere unique dans une table
- Les 10 meilleures pratiques pour developper avec un SGBDR, les 10 commandements positifs ou regles imperatives a suivre pour que votre SGBDR soit performant, efficace et precis ! valable pour tous les SGBDR, avec des exemples pour MS SQL Server, de Frederic Brouard
- Bases de donnees relationnelles et normalisation : de la premiere a la sixieme forme normale, excellente serie d'articles sur les formes normales et l'algebre relationnelle de Francois de Sainte Marie
Outils de conception de base de donnees
- AnalyseSI, un outil open-source distraction-free base sur Merise 1 pour modeliser une base de donnees (MCD) et produire un MPD et scripts SQL
- Oracle SQL Developer Data Modeler, outil graphique complet et plus complexe pour la conception de base de donnees, propose par Oracle. La documentation accessible depuis le logiciel est de bonne qualite, le blog d'helifromfinland est rempli d'articles utiles sur l'outil
Analyse, conception : UML et alternatives
- DRAKON, un langage visuel de specification logicielle developpe par l'Agence Aerospatiale Federale de Russie et l'Academie des Sciences de Russie a la fin des annees 90.
Outils d'administration (et conception parfois) de base de donnees
- dbeaver, multiplateforme, multi-sgb, open-source que demande le peuple
- adminer, une alternative open-source a phpMyAdmin (aussi open source) qui commence a etre charge historiquement. Plus leger, plus performant, plus securise, plus user-friendly. Prend en charge les base de donnees MySQL, SQLite, PostgreSQL, MS SQL et Oracle
- pgAdmin, le systeme d'administration open-source le plus pousse pour Postgresql
- pspg - Postgres Pager, pspg est un navigateur Unix pour naviguer dans les tables d'une base de donnees relationnelle
Architecture logicielle
- Le catalogue des patrons de conception (POO), un catalogue en ligne inspire du GoF sur les Design Patterns. Bien fait, ludique avec de nombreux exemples, schemas et implementations dans differents langages
- Software Architecture Guide, de Martin Fowler. Qu'est ce que l'architecture logicielle ? A quoi ca sert ? Pourquoi ca compte ?
- Software Architecture Premier, liste de ressources pour apprendre l'architecture logicielle
Maintenabilite
- Refactoring.com, le site de Martin Fowler dedie au refactoring
- Refactoring, catalog, le catalogue des refactorings identifies et decrits par Martin Fowler
Developpement informatique et science academique
- Best Practices for Scientific Computing, un papier en libre acces sur les pratiques recommandees pour le developpement, la distribution et la maintenance de logiciels dans le milieu academique
Developpement informatique et ecologie (ecoconception)
Voir aussi les approches radicales et les fondements du web
- Comment minimiser l'impact des videos dans nos sites web ?, un excellent article d'Herve Boisgontier et Boris Butaeye sur les moyens a mettre en oeuvre pour limiter l'impact environnemental des contenus videos distribues sur le web.
Programmation fonctionnelle
General
- Introduction to Functional Programming (1996), par John Harisson
- Mostly adequate guide to functional programming
- Eric Normand, Eric Normand est une reference en programmation fonctionnelle, en tant que developpeur mais aussi professeur. Il a ecrit des livres de qualite sur le sujet.
Haskell
Voir ce bouquin de reference.
Clojure
- Clojure for the Brave and True, un livre complet, hyper pedagogique, accessible en ligne pour s'initier a la programmation fonctionnelle avec Clojure.
- clojuredocs, un depot regroupant documentation et exemples pour Clojure
- How to earn your Clojure white belt
- 4clojure, un site d'exercice classer par difficulte pour apprendre Clojure
Elm
Elm est un langage/ecosysteme fonctionnel pour developper des applications web. Il compile vers Javascript. Elm possede peut etre le compilateur le plus human-friendly au monde
Racket, le langage-oriented programming language
- Racket, the Programming Language, un language oriente language
Langages Assembleur
- Reverse Engineering for Beginners aussi connu sous le nom RE4B et "Comprendre le langage Assembleur"
Rich Hickey
Et oui, Rich Hickey a le droit a sa propre section. Allez directement voir ce depot, le job est deja fait avec talent pour recenser tous ses travaux.
Defis
Apprenez a coder via des defis
- Root Me, testez vos competences en hacking
- Sad Servers, like leetcode for linux
- codewars, affutez votre lame en realisant/publiant des katas
- codinGame, on ne presente plus cette plateforme
- Flexbox froggy, apprendre CSS flexbox via des challenges
- Flexbox defense, un tower defense ou l'on joue en CSS
- Knights of the Flexbox Table, un jeu pour apprendre Tailwind CSS
- Guess CSS, deviner le HTML/CSS utilises dans des puzzle games
- Tenix, challenges originaux et corriges pedagogiques pour decouvrir de nouveaux concepts et progresser. PHP, javascript et Python.
Markdown
Le Markdown est tout simplement le meilleur format pour creer de la documentation sur tout ce que vous faites sur votre machine. C'est un langage a balises leger. Facile a lire, facile a ecrire. Il a ete pense originellement pour ecrire pour le web.
Facile a apprendre, facile a exporter vers tout un tas de formats markup (HTML, PDF, LaTeX, XML, etc.). C'est le markup ultime pour ecrire, prendre des notes, partager et surtout creer une base de connaissances, que ce soit en local ou sur le web. Markdown refait apprecier le gout du web : content first, les hyperliens et un processus de publication simple et facile.
Markdown est un "standard (volontairement) incomplet" ce qui a laisse la place a de nombreuses implementations differentes.
- Liste des implementations Markdown, les differentes implementations ou parsers Markdown
- CommonMark, une specification Markdown creee en 2004 par John Gruber et Aaron Swartz, implementee dans de nombreux langages de programmation
- Apprendre CommonMark en quelques minutes
- MultiMarkdown, superset de Markdown qui permet de produire des document complets bien formes. Ajoute des features utiles manquantes a Markdown, notamment la gestion de meta-donnees et tout ce qui touche a la connectivite entre documents Markdown
- marpit, framework minimal pour creer des presentations en Markdown.
- Mark Doc, superset et framework Markdown, open-source, oriente publication de contenu. L'outil a ete developpe par Stripe, pour developper et maintenir sa documentation structuree, complexe et de qualite.
- Babel Mark 3, la specification originale de Markdown (proposee par John Gruber) n'etant pas complete, de nombreuses implementations de Markdown existent avec leurs specificites. Babel Mark 3 vous permet de comparer le resultat (HTML) de nombreuses implementations de Markdown
Presentations (slides) avec Markdown
- pandoc, creer une presentation directement avec pandoc
- Marp, creer ses diapos dans un ecosysteme full Markdown. Reutiliser ainsi facilement le contenu structure de vos presentations pour les publier en PDF ou HTML, ou inversement. Base sur Marpit,
- poc Marp, un depot simple qui sert de reference sur l'usage de Marp
- Revealjs, un autre outil, plus lourd mais permettant de