Bonnes Pratiques Web & Cloud
58.8K views | +5 today
Bonnes Pratiques Web & Cloud
Administration cloud et développement web
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'framework'. Clear
Scooped by Mickael Ruau
Scoop.it!

• Minimal CSS Framework for semantic HTML

• Minimal CSS Framework for semantic HTML | Bonnes Pratiques Web & Cloud | Scoop.it
Elegant styles for all natives HTML elements without .classes and dark mode automatically enabled. 7.9 kB minified and gzipped!
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Application / Domain / Infrastructure : des mots de la Layered Hexagonal Clean Architecture ? | OCTO Talks !

Application / Domain / Infrastructure : des mots de la Layered Hexagonal Clean Architecture ? | OCTO Talks ! | Bonnes Pratiques Web & Cloud | Scoop.it
 

Depuis quelques années, quand je découvre un projet je vois régulièrement des répertoires qui s’appellent :

  • Application
  • Domain
  • Infrastructure

Je me suis interrogé sur le sens de ces mots. Est-ce qu’ils sont liés à un pattern en particulier ? J’ai eu des réponses diverses en fonction des projets :

  • « C’est une architecture en couches »
  • « C’est une architecture hexagonale »
  • « C’est une Clean Architecture »
  • « On fait du Domain-Driven Design (DDD) »

Quelle est la bonne réponse ? D’où viennent ces mots ? Quel intérêt à les utiliser ou ne pas les utiliser aujourd’hui ? Je me suis documenté sur le sujet et je vous propose un voyage dans le temps pour y voir un peu plus clair.

Mickael Ruau's insight:

 

Annexe : Exemples de code

DDD Sample

Ce repository qui illustrait le Domain-Driven Design, initié vers 2008 par une équipe comprenant Eric Evans, utilise ces mots application / domain / infrastructure :

Dans src/main/java/se/citerus/dddsample, on trouve les répertoires :

. ├── application/ ├── config/ ├── domain/ ├── infrastructure/ └── interfaces/

Le répertoire application contient l’interface de programmation du code métier, une fine couche qui orchestre le code métier :

src/main/java/se/citerus/dddsample/application/ ├── ApplicationEvents.java ├── BookingService.java ├── CargoInspectionService.java ├── HandlingEventService.java └── impl/    ├── BookingServiceImpl.java    ├── CargoInspectionServiceImpl.java    └── HandlingEventServiceImpl.java

Dans domain, on trouve les objets et les règles métier, par exemple pour les marchandises (cargo) :

src/main/java/se/citerus/dddsample/domain/model/cargo ├── Cargo.java ├── CargoRepository.java ├── Delivery.java ├── HandlingActivity.java ├── Itinerary.java ├── Leg.java ├── RouteSpecification.java ├── RoutingStatus.java ├── TrackingId.java └── TransportStatus.java

Et le répertoire infrastructure contient le code de persistance et de messaging :

src/main/java/se/citerus/dddsample/infrastructure/ ├── messaging/ │   └── jms/ ├── persistence/ │   └── hibernate/ └── routing/ └── ExternalRoutingService.java

Modular Monolith with DDD

Cet autre exemple de Kamil Grzybek utilise des répertoires Application / Domain / Infrastructure dans ses modules, qui correspondent chacun à des bounded contexts :

Vous pouvez inspecter chaque module :

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

State of JavaScript 2020 : TypeScript leader incontestable des déclinaisons de JavaScript, le typage statique devient la fonctionnalité la plus demandée et React reste le framework front-end dominant

State of JavaScript 2020 : TypeScript leader incontestable des déclinaisons de JavaScript, le typage statique devient la fonctionnalité la plus demandée et React reste le framework front-end dominant | Bonnes Pratiques Web & Cloud | Scoop.it
Créé en 1995, JavaScript est aujourd'hui le langage le plus populaire selon de nombreux baromètres. C'est également l'écosystème dans lequel on voit le plus de technologies naitre tous les jours. Comme conséquence, il est parfois très difficile de faire des choix ou de voir une technologie s'imposer comme la norme à moins d'avoir de puissants sponsors pour la propulser. Selon les catégories, certaines technologies arrivent toutefois à se distinguer. C'est dans le but d'identifier clairement ce
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

J'ai veillé pour vous : Svelte

J'ai veillé pour vous : Svelte | Bonnes Pratiques Web & Cloud | Scoop.it
Vous avez probablement déjà entendu parler de ce nouveau Framework Front-End – encore un ?! – qui commence à se faire un nom et se révèle aussi prometteur
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Les bonnes pratiques SEO avec les Frameworks JavaScript

Les bonnes pratiques SEO avec les Frameworks JavaScript | Bonnes Pratiques Web & Cloud | Scoop.it
Notre mise en garde

Le développement en Framework JS est un casse-tête qui n’est pas insoluble, mais qui demande de solides compétences techniques côté SEO et développeurs.

Et dans tous les cas, c’est à réserver à des situations où le trafic SEO n’est pas stratégique pour le site :

On peut rendre les sites faits avec ces technologies crawlables et indexables.

Mais si l’on veut atteindre des positions sur des requêtes concurrentielles, il vaut mieux compter sur un site web en serveur side rendering à l’ancienne.

Mickael Ruau's insight:
 2/ Comment rendre ces sites SEO friendly ?

Solution 1 : coder différemment avec une stratégie d’amélioration progressive.

Le principe de l’amélioration progressive consiste à construire son site en 3 couches :

  • Le contenu stocké dans le code HTML (contenu et fonctionnalités accessibles pour tous).
  • La mise en forme est définie par les feuilles de style en cascade externes (CSS).
  • Les fonctionnalités écrites dans un script externe comme JavaScript.

Solution 2 : Créer des snapshots HTML soi-même. Cette méthode est préconisée par Google pour l’Ajax.

En résumé, le code JS est exécuté via un headless browser côté serveur, afin de générer le HTML produit par le code JS.

Ce code est “capturé” avant d’être envoyé, comme une page HTML normale, au navigateur de l’internaute.

Néanmoins, cette méthode fait perdre une partie de l’intérêt du “client side rendering”, la page devient statique.

Souvent, l’arbitrage est d’envoyer les snapshots aux bots des moteurs de recherche uniquement.

Solution 3 : Utiliser un serveur de prérendition tiers. Les outils de pré-rendu de document facilitent le crawl de notre site.  Un serveur de prérendition permet de pré rendre vos pages statiques, dès que l’outil détecte qu’un crawler vient sur votre site, il lui affichera le rendu final HTML statique.

Les principaux outils de prérendition tiers sont : Prerender, SEO 4 Ajax (Cocorico !), Brombone.

Attention cette technique peut ressembler à du cloaking même si ce n’est pas le cas.

Aussi, les serveurs de rendition utilisent la méthode obsolète pour rendre l’Ajax crawlable. À savoir :

  • Soit la méthode des escaped fragments avec hash bangs (comme vu précédemment).
  • Soit la méthode des escaped fragments avec balise méta : <meta name=”fragment” content=”!”>

Attention, cette méthode en HTML5 utilisant la méthode pushstate() est aussi obsolète que l’autre. Pour le moment cette méthode fonctionne y compris sur les différents moteurs de recherche. Mais jusqu’à quand ?

Framework JavaScript : The next generation

L’avenir est aux Frameworks JavaScript “isomorphes” capables d’une rendition hybride (coté serveur et/ou client).

Avec ReactJS ou HapiJS, on peut donc générer le HTML avant de l’envoyer au navigateur. Il devient possible de créer des sites web avec des Framework JS, sans générer de problèmes avec le SEO.

Cependant, mal utilisés, ces Frameworks JS de dernière génération peuvent poser les mêmes problèmes que ceux expérimentés avec la première génération.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Lightning Design System

Lightning Design System | Bonnes Pratiques Web & Cloud | Scoop.it

The Lightning Design System enables you to build rich enterprise experiences and custom applications with the patterns and established best practices that are native to Salesforce.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

you have ruined javascript

Start thinking for yourselves, ditch this shit before it's too late and learn how to write some actual fucking code. The information is out there, you can do it. If you need handholding with factories and providers and service provider factories then consider that the world doesn't need your bullshit code and go and get a job you're actually good at. Stop ruining it for the rest of us.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le framework Code Igniter - Lézard Rouge

Pour les besoins d’un important développement, je me suis mise à la recherche d’un framework. 

Mickael Ruau's insight:

Le seul bémol à Code Igniter, c’est qu’il ne permet pas d’intégrer des thèmes comme le font les CMS et d’autres frameworks (Copix par exemple). Par contre, en cherchant un peu, j’ai trouvé une librairie qui pallie cet inconvénient. La doc est moins à la hauteur, le tuto ne fonctionne pas et il faut chercher les solutions dans le forum, mais bon, la librairie a le mérite d’exister et de bien fonctionner.

Code Igniter :
http://codeigniter.com/

Librairie Template :
http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

[Symfony2][DoctrineExtension] Créer des slugs pour les caractéres non latin (Arabe particulièrement).

[Symfony2][DoctrineExtension] Créer des slugs pour les caractéres non latin (Arabe particulièrement). | Bonnes Pratiques Web & Cloud | Scoop.it

Le comportement Sluggable de la bibliothèque Doctrine extensions permet de créer facilement des URLs SEO-Friendly. La mise en place du bundle est facile et ne nécessite pas beaucoup de configuration. 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Foundation | Building Blocks

Piece together amazing sites faster with Foundation Building Blocks. ZURB Building Blocks is a pattern library for Foundation UI components. These HTML, CSS, and JS snippets can be plugged into any Foundation project to build faster. Enjoy!
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

SOAT Blog » [Devoxx 2016] Construire facilement une application desktop grâce à Electron !

SOAT Blog » [Devoxx 2016] Construire facilement une application desktop grâce à Electron ! | Bonnes Pratiques Web & Cloud | Scoop.it

Electron est tout simplement un assemblage de deux projets bien connus : NodeJS et Chromium. Grâce à ce principe de fonctionnement, Electron est naturellement une solution cross-plateforme. Et pour faire une application de bureau, il ne reste plus qu’à écrire… Une application web !!

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Formation Laravel

Formation Laravel | Bonnes Pratiques Web & Cloud | Scoop.it
A travers cette formation, je vous propose de découvrir le framework Laravel. Comme tous les frameworks PHP, Laravel vous permettra d'écrire une application web plus rapidement et surtout plus proprement.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Facebook Open Sources React Native For Android So Devs Can Reuse Code Across Web And iOS

Facebook Open Sources React Native For Android So Devs Can Reuse Code Across Web And iOS | Bonnes Pratiques Web & Cloud | Scoop.it
Facebook built the React JavaScript library so its engineering team could build interfaces for iOS, Android, and web with the same code. Now it's giving that..
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le fondateur de GitHub présente RedwoodJS, un framework JavaScript qui apporte le full-stack à la philosophie JAMstack et « fonctionne avec les composants de développement que vous aimez »

Le fondateur de GitHub présente RedwoodJS, un framework JavaScript qui apporte le full-stack à la philosophie JAMstack et « fonctionne avec les composants de développement que vous aimez » | Bonnes Pratiques Web & Cloud | Scoop.it

Sur Twitter, c’est Tom Preston-Werner, fondateur de GitHub, qui a fait la présentation de son nouveau bébé : un framework JavaScript sur lequel il a travaillé durant l’année dernière. Sur le site dédié, voici l’introduction que nous pouvons lire : « vous aimez la philosophie JAMstack mais vous avez besoin d'une application Web basée sur une base de données ? Vous voulez une grande expérience de développeur et une mise à l'échelle facile? Redwood est là! S’appuyant sur React, GraphQL et Prisma, Redwood fonctionne avec les composants et le flux de travail de développement que vous aimez, mais avec des conventions et des aides simples pour rendre votre expérience encore meilleure ».
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Vite 2.0

Le nom du projet Vite est le mot français vite, qui dit ce qu'il veut dire.Vite est un outil de création en JavaScript qui vise à fournir une expérience de développement plus rapide et plus légère pour les projets Web modernes. Il se compose de deux parties principales :...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Pourquoi les PWA rendent les frameworks Javascript obsolètes

Pourquoi les PWA rendent les frameworks Javascript obsolètes | Bonnes Pratiques Web & Cloud | Scoop.it
Les PWA dépendent des services workers, un script d'arrière-plan puissant. Découvrez pourquoi les PWA rendent les frameworks Javascript obsolètes.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Flutter for web - Flutter

Flutter for web - Flutter | Bonnes Pratiques Web & Cloud | Scoop.it

Flutter for web is a code-compatible implementation of Flutter that is rendered using standards-based web technologies: HTML, CSS and JavaScript. With Flutter for web, you can compile existing Flutter code written in Dart into a client experience that can be embedded in the browser and deployed to any web server. You can use all the features of Flutter, and you don’t need a browser plug-in.

Mickael Ruau's insight:

Flutter is Google’s portable UI toolkit for building beautiful, native applications for mobile, web, and desktop from a single codebase.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

JavaScript SEO | The Basics of SEO for JS Frameworks

JavaScript SEO | The Basics of SEO for JS Frameworks | Bonnes Pratiques Web & Cloud | Scoop.it
Technologies for website application development such as Angular, React, Vue, Backbone, Ember, Aurelia etc are gradually proliferating throughout the front end web development landscape. A core understanding of this technology should be, in our opinion, a mandatory requirement in the advanced SEO skillset. For SEO Consultants We’ve written this article as an introductory guide to …
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Angular CDK : un kit de composants pour Angular JS

Pour éviter les tâches répétitives aux développeurs qui travaillent avec le framwork Angular JS, Google annonce le kit de composants Angular CDK.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

No more JS frameworks

So what do we need now?

  1. Idioms and guidelines for building reusable components.
  2. Tools that work under those idioms to compile, crush, etc. all that HTML, CSS, and JS.
  3. A scalable HTML 5 polyfill, full or scaled down based on what's really used.

That's what we need to build a future where we don't need to learn the latest model of the newest framework, instead we just work directly with the platform, pulling in custom elements and libraries to fill specific needs, and spend our time building applications, not mapping icebergs.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

[Dossier] CodeIgniter, quand un framework PHP change littéralement votre façon de travailler

[Dossier] CodeIgniter, quand un framework PHP change littéralement votre façon de travailler | Bonnes Pratiques Web & Cloud | Scoop.it
On se retrouve cette fois-ci dans un dossier plutôt orienté développement Web où je vais vous parler de mon expérience suite à l'utilisation d'un framework.
Mickael Ruau's insight:

Pour un module sur lequel il faudrait compter deux journées de travail, le temps passé dessus change complètement et ça ne se compte plus en journées mais en heures. Oui oui ! Deux heures de boulot pour une tâche qui aurait pris bien plus de temps. Pourquoi ? Simplement car un framework a des fonctions déjà conçues parfaitement et prêtes à l'emploi. Il suffit juste de charger les bonnes librairies au début du projet ou au début d'une partie d'un script pour appeler les fonctions qui y sont liées de façon à obtenir le résultat souhaité.

L'exemple le plus flagrant est une validation de formulaire. 

No comment yet.
Rescooped by Mickael Ruau from JavaScript for Line of Business Applications
Scoop.it!

Introducing Electrode, an open source application platform powering Walmart.com

Introducing Electrode, an open source application platform powering Walmart.com | Bonnes Pratiques Web & Cloud | Scoop.it

80 million monthly visitors, loads up to 10,000 requests per second, and 15 million items, adding more than one million new items each month is what Walmart.com’s scale is all about. With an e-commerce business that holds the number two online retailer spot in the U.S., we needed not just to scale Walmart.com, but to really leverage the talent and creativity of our engineering base.


Via Jan Hesse
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Vue 2.0 : du data-binding de manière intuitive grâce à ce framework JavaScript

Vue 2.0 : du data-binding de manière intuitive grâce à ce framework JavaScript | Bonnes Pratiques Web & Cloud | Scoop.it

Vue est un framework JavaScript qui s'est fait connaître pour son utilisation des propriétés réactives qui permet un data-binding très intuitif avec une API simple et familière. Ces derniers temps, il a bénéficié d'un fort regain de popularité, notamment sur le marché asiatique où il est soutenu par de forts acteurs comme Alibaba. Le projet a récolté 28 500 stars à ce jour et ce chiffre augmente très vite, plus vite que ses concurrents React et Angular. Ce succès lui permet régulièremen
Mickael Ruau's insight:

Et le framework PHP Laravel a choisi Vue comme framework client par défaut. Laravel est d'ailleurs un des contributeurs financiers de Vue, qui a parfaitement réussi sa campagne de financement participatif sur Patreon. Une petite équipe pilotée par Evan You peut ainsi travailler à plein temps sur Vue, ce qui rassure sur la pérennité de ce framework.

Une API simple et accessible, un outillage éprouvé, un écosystème florissant et un périmètre fonctionnel rivalisant désormais avec les ténors du milieu : Vue est l'outsider insoupçonné dans le domaine très concurrentiel des frameworks JavaScript. Quand on interroge Evan sur la raison pour laquelle la popularité de Vue explose, il mentionne la Framework Fatigue qu'éprouve la communauté des développeurs et le besoin de se rattacher à un outil simple, bien documenté et évoluant peu. L'API de Vue 2.0 est en effet étonnamment proche de la 1.x, tenu compte du fait qu'il s'agit d'un rewrite complet du framework ; et l'outil de migration est là pour faire la transition en toute sérénité.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

La représentation intervallaire (ou MPTT)

La représentation intervallaire (ou MPTT) | Bonnes Pratiques Web & Cloud | Scoop.it
Certains framework gèrent nativement la représentation intervallaire et la maintenance des bords, comme CakePHP et son Tree Behavior. Si vous n'utilisez pas CakePHP, la bonne méthode pour maintenir un arbre est de vous créer une classe qui va faire office de modèle (en référence à l'architecture Modèle Vue Controlleur) pour gérer les noeuds de l'arbre.

Inutile de perdre du temps à écrire des algorithmes de mise à jour des bords, il en existe déjà, je vous invite à lire cet excellent tutoriel : http://www.sitepoint.com/hierarchical-data-database-3/.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le prototypage rapide enfin viabilisé grâce aux frameworks CSS - SimpleWeb.fr

Le prototypage rapide enfin viabilisé grâce aux frameworks CSS - SimpleWeb.fr | Bonnes Pratiques Web & Cloud | Scoop.it
J’ai eu une discussion très intéressante ce matin avec Joël Berne, qui enseigne le web design, au sujet de la tendance générale à l’uniformisation graphique des interfaces web. Nous sommes tombés d’accord sur le fait qu’avec... Lire la suite
No comment yet.