Web
Prototypage
- Wireflow est un outil open-source qui permet de représenter les parcours de navigation au sein d'un site web. C'est un outil qui permet d'appuyer la réflexion auteur de la structuration du site en amont de sa conception.
HTML5
Bootstrap
- Bootply est un éditeur en ligne pour Bootstrap qui permet de réaliser des tests à la volée. (Fonctionne avec : JavaScript, CSS, HTML5 et jQuery)
CSS
Javascript
Frameworks
- TodoMVC est un site qui peut vous aider à bien choisir votre framework javascript
- Liste des frameworks javascript les plus populaires ou prometteurs:
- jQuery est un framework de référence largement utilisé
- AngularJS créé par Google
- ReactJS crée par Facebook
- Polymer.js créé par Google
Divers
- Sweet Alert est une librairie javascript qui permet d'afficher des messages d'alertes de manière élégante.
- JS.coach permet de trouver un package React, Webpack, Babel ou PostCSS
JSON
- jsoncrack permet de visualiser des données au format JSON sous forme de graphes instantanément.
PHP
- phpDocumentor est un outil indispensable pour documenter vos projets PHP.
Frameworks
Symfony
Symfony est le framework PHP le plus utilisé dans les projets professionnels.
Micro-frameworks
- Phalcon est le framework PHP le plus rapide.
Ruby on Rails
- The Odin Project est un cours (gratuit, open-source et en anglais) pour apprendre la programmation web. Les cours abordés sont :
- Introduction à la programmation web
- Les bases du développement web
- Programmation en Ruby
- Le framework Ruby on Rails
- HTML5 et CSS3
- Javascript et jQuery
- Être embauché comme développeur web
- Initiez-vous à Ruby on Rails (Open Classrooms)
Java
- CUBA est un framework Java pour le développement rapide d'applications web.
Outils
- codeCanvas permet de créer visuellement des interfaces graphique web en jQuery ou en HTML (avec Javascript & CSS)
WebApp
- Ionic facilite le développement hybride d'application mobile en HTML5
Back-end
Quelques alternatives à Firebase (de google)
- GUN est un serveur temps-réel, décentralisé gérant une base de données orientée graphe et robuste aux déconnexions.
- deepstream est un serveur temps-réel open source
- rxdb est une base de données fonctionnant sur des clients utilisant Javascript
Design
Pour réaliser vos maquettes:
- Penpot est un outil open-source qui permet le travail collaboratif.
Pour gérer et personnaliser vos icônes:
De quoi améliorer vos sites web:
- Resizer (de Google) est un outil pour tester un site web selon différente résolution (smartphone, tablette, ordinateur, …)
- Bootswatch est un site qui liste des thèmes pour Bootstrap gratuits et open-source.
- Rough.js permet d'afficher des figures dont le style graphique fait penser à des dessins fait à la main.
- Iconduck regroupe des icônes et des illustrations open-source.
Bien choisir ses couleurs:
Bien comprendre la psychologie des utilisateurs:
Besoin d'un look science-fiction ?
- Arwes est un framework d'interface utilisateur qui donnera un look science-fiction à votre site web.
API REST
Un article intéressant (en deux parties) qui décrit comment bien faire lorsqu'on souhaite développer un webservice du type REST API:
Google a également publié un guide sur ce sujet, le guide est orienté gRPC (variante de RPC) plutôt que HTTP mais l'approche REST est la même:
Un autre article sur les bonnes pratiques lorsqu'on développe une API REST. Même s'il traite de Symfony 2, les conseils restent pertinents :
Pour Symfony 3 :
- Créez une API REST avec Symfony 3 (sur Zeste de Savoir])
Bundle spécifique:
- swagger-bundle est un bundle Symfony qui permet d'inclure une API REST créée avec swagger.
Pour documenter votre API REST fonctionnant avec Symfony, vous pouvez utiliser :
- Nelmio API Doc Bundle ( Utilise les annotations)
- Automatiser la documentation avec NelmioApiDocBundle (Zeste de Savoir)
Les micro-frameworks PHP sont adaptés à la réalisation d'une API REST. Parmi ceux existants, vous pouvez utiliser :
- Silex (Créé par les créateurs de Symfony)
Il existe également des langages de modélisations d'API REST :
- swagger est le framework le plus utilisé pour définir des API REST. Il dispose d'un éditeur graphique stand-alone et d'un éditeur web. Il permet également de générer automatiquement le code source pour le serveur et les applications clientes.
- RESTful API Modeling Language (RAML) est basé sur YAML et JSON
- api-designer est un éditeur web pour créer des fichiers RAML.
- microrest.php permet d'implémenter rapidement une API REST décrit avec RAML. Il est basé sur Silex et Doctrine
Pour tester votre API REST, vous aurez besoin d'un client HTTP:
- Pour des tests ponctuels, avec interface utilisateur :
- Postman est un outil qui vous permettra de tester rapidement vos API REST.
- Pour des tests automatisés, en ligne de commande:
D'autres liens qui peuvent vous être utiles:
- GraphQL est un langage de requête pour les API; il permet d'être plus précis dans les requêtes et il permet la combinaison de requêtes multiples en une seule.
- PostgREST est un serveur web autonome qui permet de transformer une base de données PostgreSQL en API REST.
En python :
- panther est un framework python qui permet de créer des APIs asynchrones.
Un tutoriel pour les configurations plus exotiques:
Une liste de toutes les API publiques:
En complément, un mini-tutoriel pour comprendre YAML:
Bonnes pratiques
- yeoman permet d'initialiser un environnement de travail dédié au développement d'un projet d'application web en utilisant les bonnes pratiques et des outils adaptés. A ce jour, il y a plus de 3400 générateurs.
Analytics
Templating
Tests
- BrowserShots permet de réaliser des captures d'écran d'une url à partir de plusieurs navigateurs internet afin de vérifier la compatibilité de la page et son rendu visuel.
- Sauce Labs est un outil de tests professionnel basé sur Selenium et Docker (gratuit pour les projets open-source)
- Jest permet de tester des webapps en javascript.
- Firefox Multi-Account Containers est un add-on pour firefox; il permet de gérer plusieurs sessions simultanément et indépendamment les unes des autres. Il pourra donc vous servir pour tester la connexion de plusieurs utilisateurs simultanément sur votre site web.
- locust est un outil scalable pour tester la charge utilisateur (écrit en Python)
- Fake Data permet de remplir les formulaires avec de fausses données
- goreplay permet de capturer les requêtes du serveur en production pour les rejouer dans un environnement de test.