Les actualités du Mardi 04 mai 2021 dans les métiers du web - Marmits.com - Reims

Le: 04 05 2021 à 22:45 Web Design Shock Auteur: Admin

Have a look at this open-source tool with a professional version available that can help you find spelling, grammatical errors & broken links on your websites. Find out more useful testing tools. Features: 1. Easy installation 2. Scan multiple websites 3. Custom rule checks 4. AGPL License

Le: 04 05 2021 à 21:56 Web Design Shock Auteur: Admin

Check out this snippet featuring a Photo Carousel that uses a parallax effect to provide you with a 3D experience while you scroll. Find out more Carousel Examples. Your browser does not support the video tag.

Le: 04 05 2021 à 21:51 WebdesignerNews

https://tympanus.net/codrops/2021/05/04/dynamic-css-masks-with-custom-properties-and-gsap/

Le: 04 05 2021 à 21:24 WebdesignerNews

https://www.frontendpractice.com/

Le: 04 05 2021 à 20:57 WebdesignerNews

https://uxdesign.cc/from-investigation-to-invitation-the-case-for-co-design-c71ec52e1935

Le: 04 05 2021 à 20:20 WebdesignerNews

https://marketsplash.com/slack-alternatives/

Le: 04 05 2021 à 19:42 WebdesignerNews

https://apptelemetry.io/

Le: 04 05 2021 à 18:46 WebdesignerNews

https://designmodo.com/bootstrap-5-form/

Le: 04 05 2021 à 18:03 FrenchWeb.fr Auteur: Richard Menneveux

Cette crise sanitaire aura accéléré l’adoption de nouveaux usages amenant de nombreuses entreprises à se reconfigurer au delà de leurs projets de transformation initialement engagés. Ces changements sont autant d’opportunités dont se sont saisies les plus vaillantes, suivies de leurs compétiteurs. De la découverte produit en livestream shopping, à la livraison du produit en passant …

L’article The New Standards Retail est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 18:01 Journal du Net Développeurs

Suite à la situation sanitaire, des changements radicaux ont été observés dans nos manières de nous déplacer. Des évolutions qui pourraient être amenées à se pérenniser, entraînant avec elles de nouveaux challenges.

Le: 04 05 2021 à 17:55 Journal du Net Développeurs

Les leaders de la mobilité doivent sélectionner leurs fournisseurs de logiciels pour VE avec soin, et ont tout intérêt à suivre certaines tendances majeures.

Le: 04 05 2021 à 17:49 Journal du Net Développeurs

Et s'il était vraiment temps de se former à l'informatique quantique ?

Le: 04 05 2021 à 17:46 Journal du Net Développeurs

Dans le contexte où la crise a accéléré la digitalisation des entreprises, et notamment des PME, les directions générales ont tout l'intérêt de recourir aux experts "à temps partagé" pour insuffler un esprit nouveau dans leur structure.

Le: 04 05 2021 à 17:36 Journal du Net Développeurs

Le service a attiré 22,3 millions de visiteurs uniques sur le mois de mars selon Médiamétrie//Netratings. TousAntiCovid et la rubrique santé du Journal des Femmes complètent le podium.

Le: 04 05 2021 à 17:36 Journal du Net Développeurs

Vous êtes une DNVB en quête de financements ? Découvrez qui sont les fonds d'investissement ayant pris des participations dans des marques digitales françaises et ce qui les motive.

Le: 04 05 2021 à 17:34 Journal du Net Développeurs

Invité du podcast Tech Attitude, le président de Scaleway lève le voile sur sa stratégie et sa feuille de route produits. Il revient également sur l'incendie d'OVH dont il tire les conséquences pour le secteur.

Le: 04 05 2021 à 17:04 WebdesignerNews

https://www.wired.com/story/how-pixar-uses-hyper-colors-to-hack-your-brain/

Le: 04 05 2021 à 16:28 Journal du Net Développeurs

Selon IDC, plus de 39,9 millions de tablettes ont été écoulées dans le monde au premier trimestre 2021, soit 55,2% de plus qu'au premier trimestre 2020.

Le: 04 05 2021 à 16:24 FrenchWeb.fr Auteur: La rédaction

Un plan de sauvegarde de l'emploi (PSE) qui prévoyait la suppression de 1 251 postes en France chez le géant informatique américain IBM se traduira par un unique plan de départs volontaires (PDV).

L’article IBM France veut privilégier les départs volontaires pour éviter les licenciements contraints est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 16:13 WebdesignerNews

https://mediatemple.net/blog/design-creative/star-wars-storytelling-and-website-design/

Le: 04 05 2021 à 16:13 WebdesignerNews

https://www.webdesignerdepot.com/2021/05/3-essential-design-trends-may-2021/

Le: 04 05 2021 à 16:12 WebdesignerNews

https://ped.ro/blog/why-i-build-design-systems-with-stitches-and-radix

Le: 04 05 2021 à 16:12 WebdesignerNews

https://www.imore.com/facebook-and-instagram-threaten-charge-access-ios-145-unless-you-give-it-your-data?hm=r

Le: 04 05 2021 à 16:12 WebdesignerNews

https://uxdesign.cc/every-design-is-a-system-28bb9bf028b7

Le: 04 05 2021 à 16:08 WebdesignerNews

https://dribbble.com/stories/2021/05/04/graphic-design-portfolio-storytelling

Le: 04 05 2021 à 15:35 FrenchWeb.fr Auteur: Assiya Berrima

Cette nouvelle acquisition, dont le montant n'a pas été communiqué, survient un mois après la dernière levée de fonds du studio qui a porté sa valorisation à environ 28,7 milliards de dollars. 

L’article Jeux vidéo: Epic Games rachète ArtStation, plateforme dédiée aux créateurs de contenus est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 15:17 WebdesignerNews

https://speckyboy.com/clients-can-hurt-project-outcomes/

Le: 04 05 2021 à 14:35 Journal du Net Développeurs

Jamais l'industrie pharmaceutique et le secteur de la santé n'ont été l'objet d'autant d'attention de la part des professionnels, des médias, des non-professionnels, malades ou non malades. Le monde entier a les yeux rivés sur chaque publication, innovation, ou (fake) news.

Le: 04 05 2021 à 14:25 Journal du Net Développeurs

Devenir entreprise à mission implique notamment de mobiliser les collaborateurs autour d'objectifs différents de ceux qui leur étaient traditionnellement assignés.

Le: 04 05 2021 à 14:22 codrops Auteur: Michelle Barker

Learn how to animate CSS masks based on the cursor position using GSAP and custom properties for a unique spotlight effect.

The post Dynamic CSS Masks with Custom Properties and GSAP appeared first on Codrops.

Le: 04 05 2021 à 14:08 Journal du Net Développeurs

Eduquer un enfant en situation de handicap génère des frais souvent lourds pour la famille. L'AEEH est une aide financière versée par la CAF qui contribue à en alléger le poids. Comment fonctionne cette allocation et dans quelle mesure est-elle cumulable ? L'AEEH en détail.

Le: 04 05 2021 à 14:08 WebdesignerNews

https://growth.design/case-studies/clubhouse-user-retention/

Le: 04 05 2021 à 14:08 Journal du Net Développeurs

Eduquer un enfant en situation de handicap génère des frais souvent lourds pour la famille. L'AEEH est une aide financière versée par la CAF qui contribue à en alléger le poids. Comment fonctionne cette allocation et dans quelle mesure est-elle cumulable ? L'AEEH en détail.

Le: 04 05 2021 à 13:37 CreativeJuiz blog Auteur: Geoffrey Crofte

The post Suggest.design — Suggestions de design aux produits du quotidien first appeared on Creative Juiz.

Laissez-moi vous raconter l’histoire du début d’un side project proposant des suggestions de design. L’un de mes nombreux projets, mais qui pour une fois a vu le jour bien plus vite que prévu. C’est grâce à des gens compétents et à des services (no-code) tellement facile à prendre en main que nous avons pu nous […]

The post Suggest.design — Suggestions de design aux produits du quotidien first appeared on Creative Juiz.

Le: 04 05 2021 à 13:12 Journal du Net Développeurs

[AIDE COVID] Pour faire face aux difficultés économiques provoquées par la crise du coronavirus, le gouvernement dévoile régulièrement de nouvelles salves d'aides aux entreprises. Voici les principales mesures.

Le: 04 05 2021 à 12:33 Journal du Net Développeurs

Gain fiscal, rentabilité locative, opportunités de se lancer dans le contexte actuel… Découvrez laquelle de ces deux solutions l'emporte.

Le: 04 05 2021 à 12:30 Journal du Net Développeurs

Ces dernières années, ont vu se développer des systèmes d'investigation et de contrôle comptable adaptés aux besoins des équipes spécialisées en support aux transactions.

Le: 04 05 2021 à 12:22 Journal du Net Développeurs

En mars 2021, Médiamétrie dénombrait 53 millions d'internautes en France, soit 84,4% des Français de deux ans et plus. Le temps passé à surfer sur le web quotidiennement s'élevait à 2h29.

Le: 04 05 2021 à 11:55 FrenchWeb.fr Auteur: La rédaction

Le prix distingue des inventeurs qui ont apporté une «contribution exceptionnelle au progrès technologique, au développement social, à la croissance économique et à la création d’emplois en Europe».

L’article Innovation: l’Europe dévoile les 15 finalistes du Prix de l’inventeur européen 2021 est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 11:54 Journal du Net Développeurs

Avec une communication qui se digitalise chaque jour davantage, il est tentant de mettre en place une stratégie de content marketing. Gagner en visibilité, montrer son expertise, donner des astuces… Les possibilités sont nombreuses, mais il est préférable de se demander si celles-ci sont adaptées à une communication B2B.

Le: 04 05 2021 à 11:48 Journal du Net Développeurs

La fin annoncée des cookies tiers ébranle tout l'écosystème publicitaire. Ces évolutions ainsi que la nécessité de reprendre le contrôle sur les données obligent les annonceurs à internaliser les outils programmatiques.

Le: 04 05 2021 à 11:46 Journal du Net Développeurs

Alors que la crise sanitaire a fêté sa 1ère année, et que nous vivons plus ou moins confinés, que doit-on retenir des impacts qui en découlent ? Sur nos usages, notre consommation de contenus ? Notre relation aux marques et leur publicité ? Quels enjeux pour nous tous, dans l'écosystème publicitaire ?

Le: 04 05 2021 à 11:00 Alsacreations.com - Actualités Auteur: Raphael

Au début était la Pangée. Un magma informe, une soupe de balises où se noient des styles épars et obscurs. Tout cela dans un ensemble de code inextricable et bien difficile à comprendre et maintenir !

Et l'on se rendit compte que HTML et CSS étaient tout autant faciles à écrire qu'extrêmement complexes à maintenir, et que seuls certain•e•s sorcier•e•s étaient capable d'assurer une consistence à leurs codes.

Les premières méthodologies CSS "grand public" voient le jour dans les années 2008-2009 sous l'impulsion, entre autre, de Nicole Sullivan alors ingénieure chez Facebook qui évoque le terme de "CSS Orienté Objet" ou "OOCSS" notamment lors d'une conférence à Paris-Web.

Méthodologies, Frameworks, Preprocesseurs

À l'instar de véritables langages de programmation, CSS se voit s'articuler autour de lui différentes approches, méthodologies et frameworks.

  • Les Approches et méthodologies CSS définissent généralement des règles de nommage ou des bonnes pratiques à suivre.
    Les plus utilisées à ce jour sont : OOCSS (Nicole Sullivan), BEM (Yandex), SMACSS (Jonathan Snook), Atomic CSS (Yahoo!) et ITCSS (Harry Roberts)
  • Les Frameworks CSS : désignent des environnements d'intégration complets et généralement fondés sur l'une des méthodologies sus-citées.
    On y trouve par exemple : Bootstrap (historiquement Twitter), Foundation (Zurb), Materialize CSS (Google), Tailwind (Adam Wathan), Bulma (Jeremy Thomas), Tachyons (John Otander) et PureCSS (Yahoo!). Sans oublier KNACSS (Alsacréations) bien sûr !
  • Les Pré et post-processeurs : sont des outils permettant de générer ou d'améliorer du code CSS existant. Les plus célèbres étant postCSS (Evil Martians), Sass, LESS et Stylus.

Si l'ensemble de ces approches et outils existent et prospèrent de nos jours, c'est bien parce qu'ils se sont fait leur place dans la réalité des environnements de production.

Comme disaient les cssribes de l'antiquité : "il n'y a pas de bonne ou de mauvaise approche" car :

  1. Les méthodologies répondent à des besoins
  2. Les méthodologies évoluent (car les besoins évoluent)

"Être consistant au sein d'une grosse équipe", "Ne pas avoir besoin de toucher au CSS", "Ne pas avoir besoin de comprendre CSS"… sont tout autant de besoins qui peuvent être légitimes.

Certains frameworks, dont Bulma, se targuent d'ailleurs de ne nécessiter aucune compétence en CSS (si cela vous choque… c'est que vous n'en n'avez sans doute pas besoin).

On veut des chiffres !

Si vous aimez les graphiques et les chiffres, sachez que le site web "State of CSS" suit de près les tendances de ce langage :

L'évolution des frameworks CSS entre 2019 et 2020

L'histoire des approches CSS de IE4 la préhistoire à nos jours

Approche (pré)Historique

La belle époque des <font>, des <center>, des <b>, mais aussi des tableaux de mise en forme à grand renfort de rowspan, colspan et autres valign a longtemps bercé notre enfance d'intégratrice et intégrateur. Les supports navigateurs et les bugs en tout genre complétèrent le tableau (huhu) d'un pseudo-langage bancal qu'était CSS.

Exemple
<div class="center"></div>
<font>
  <center>
    <b> <!-- j'ai mal rien que d'écrire tout ça --></b>
  </center>
</font>
Avantages et inconvénients

Un avantage indéniable est que le terme "center" est parfaitement compréhensible pour un être humain, même un développeur web.

Par contre, un élément <center>, ou un <div class="center">, véhiculent des notions purement graphiques, or HTML ne devrait transmettre que des informations de contenu, être dénué de notions de style. En mélangeant allègrement les deux, on complique le rôle et diminue l'intérêt de chacun.

Si cet élément change de style selon le contexte (n'est plus centré sur un grand écran par exemple), le choix de classe devient totalement incohérent. C'est problématique.

le dinosaure du HTML


Approche Sémantique

Mettons vite le hola à ces pratiques barbares et revenons aux bases que sont :

  • le HTML c'est pour la structure et le contenu (le fond)
  • le CSS c'est pour la présentation (la forme)
Exemple de sémantique
<div class="container">
  <div class="author-info">
    <h2>Francis Lalanne</h2>
    <img src="" alt="" />
    <p class="author-desc">Un troubadour des temps anciens.</p>
  </div>
</div>
.author-bio {
  ...;
}
.author-bio > h2 {
  ...;
}
.author-bio > img {
  ...;
}
.author-bio > .author-desc {
  ...;
}
Avantages et inconvénients

Grâce à ces classes "sémantiques", mon code HTML est propre et pourvu de sens et de logique, et surtout je comprends bien quelle est la fonction de chaque élément (enfin, normalement).

Alors par contre c'est drôle mais cela devient assez vite compliqué de trouver des noms de classe cohérents (salut à toi .modal-wrapper > .inner-content > .warning-global!).

Avouez que "Nommer les choses en CSS est compliqué" et que depuis l'ère du Responsive et des CSS modernes ça ne va pas en s'arrangeant car il faut aujourd'hui non seulement trouver des noms de classes, mais aussi de variables CSS, de valeurs de Breakpoints, etc.

Fort heureusement, tout le monde utilise de solides Conventions de nommage CSS de nos jours, n'est-il pas ?

En creusant bien, je me heurte à une autre problématique : comme souhaité, mon HTML n'a plus de notions de styles… mais maintenant c'est CSS qui est devenu très dépendant de ma structure HTML car les noms de classes ne contiennent plus aucune information graphique. Je dois systématiquement vérifier mon CSS pour deviner à quoi va ressembler ma classe .warning. Au final, j'ai simplement retourné la situation, et je n'ai pas séparé HTML de CSS.

la sainte sémantique HTML et CSS


Méthodologie BEM

La méthodologie "BEM" (pour "Block Element Modifier") a été élaborée par le moteur de recherche russe Yandex. Elle trouve racine en 2010 mais s'est vraiment activement développée à partir de 2015. Son objectif est de faciliter la réutilisation de composants CSS et d'assurer une cohérence de nommage à travers les équipes et dans la durée.

BEM impose une règle de nommage différente que selon que l'élément soit un "Block" (entité autonome), un "Element" (dépendant d'un Block) ou un "Modifier" (variante de Block ou d'Element).

Trois règles distinguent BEM d'autres approches :

  1. Tous les éléments HTML doivent chacun avoir un nom sous forme de class CSS (pas de nommage via id)
  2. Les sélecteurs CSS ne doivent cibler que des classes (pas d'élément tel que nav, ni a, ni ul dans le nom d'un sélecteur par exemple)
  3. Les sélecteurs CSS composés / hiérarchiques sont à éviter (pas de .menu .list, ou de .navigation > a)
Exemple de BEM
<div class="container">
  <div class="author-info">
    <h2 class="author-info__title">Francis Lalanne</h2>
    <img class="author-info__image" src="" alt="" />
    <p class="author-info__desc">Un troubadour des temps anciens.</p>
  </div>
</div>
.author-bio {
  ...;
}
.author-bio__title {
  ...;
}
.author-bio__image {
  ...;
}
.author-bio__desc {
  ...;
}
Avantages et inconvénients

La méthodologie BEM évite toute surprise : sa convention de nommage très stricte permet à coup sûr de comprendre à quoi sert chaque élément mais aussi de choisir le bon nommage quand j'en crée un nouveau. Je comprends ce que mes collègues écrivent et je comprends ce que j'ai moi-même écrit il y a 6 mois dans mon projet.

En outre, la structure HTML peut changer sans aucun impact sur le style (car CSS ne cible que des classes et non des balises HTML).

Enfin, il devient extrêmement facile de maintenir, modifier voire écraser des styles existants puisqu'il n'y a qu'un seul niveau de poids : un sélecteur CSS = une classe unique.

Mais il y a forcément des contreparties…

Mon code HTML a subitement doublé de taille, car chacun des éléments de structure (même s'il n'est pas utilisé) doit avoir un nom de classe à lui, voire plusieurs s'il dispose de variantes.

Et surtout, comment gérer efficacement tous les composants très similaires graphiquement mais dont la fonction est différente (ex. un .article__preview qui serait quasi identique à un .author__info) ?

Au final, pour résoudre cette problématique, on ajoutera généralement un niveau d'abstraction plus vaste ("content-agnostic") tel que .card ou .btn ou .badge. Et forcément, la précision et la compréhension en prennent un sale coup.

la convention de nommage BEM


Approche Atomique

L'approche Atomique (ou "utilitaire") trouve ses origines en octobre 2013 au sein d'un article de Thierry Koblenz sur Smashingmagazine. Cet article donne naissance à ACSS qui est adopté par Yahoo! dès 2015.

Les principes essentiels de cette approche sont :

  1. À chaque classe CSS correspond une seule fonction (ex. .txt-left {text-align: left} ou .mr-2 {margin-right: 2rem} )
  2. Le styles CSS sont volontairement dénués de contexte (agnostiques) pour être totalement indépendants de la structure HTML
  3. Les sélecteurs CSS composés n’existent pas (pas de .menu .list, ou de .navigation > a)
  4. Il n'est plus nécessaire d'intervenir dans la feuille de styles CSS. Plus aucun CSS à écrire, modifier ou maintenir car le fichier CSS existe initialement ou est généré au fur et à mesure.
Exemple d'approche atomique
<div class="container md:grid grid-col-3 bg-hotpink p-10 mb-6">
  <div class="text-center md:text-left">
    <h2 class="text-lg bg-chocolate rounded-full">Francis Lalanne</h2>
    <img class="h-16 w-16 md:h-24:w-24" src="" alt="" />
    <p class="p-10 my-6 hover:bg-orange">Un troubadour des temps anciens.</p>
  </div>
</div>
.text-center {
  ...;
}
.text-left {
  ...;
}
.text-lg {
  ...;
}
.p-10 {
  ...;
}
Avantages et inconvénients

Atomic CSS, on l'adore ou on le déteste, mais quoi qu'il en soit il est impossible de se tromper dans le nommage ! Il n'y a aucune surprise ni de pièges, personne ne se torture l'esprit ni ne peut bifurquer puisque le nommage existe déjà. Toutes les classes CSS vous attendent, inutile d'en créer davantage.

De plus, je n'ai même plus besoin de fouiller dans mes fichiers CSS, tout se passe côté HTML et je peux me concentrer sur un seul langage lors de mon intégration.

Se fonder sur un nombre de classes existant et restreint m'impose une cohérence (difficile d'avoir 150 niveaux de gris différents par exemple, même si c'est possible.)

Enfin, les contextes d'affichage tels que le Responsive peuvent parfaitement être pris en charge.

Mais encore une fois il y a forcément des contreparties et elles sont de taille 

  • Ça pique carrément les yeux ! C'est moche. C'est un fait.
  • Mon HTML est alourdi, difficile à lire, et contient partout de multiples classes
  • Mon CSS, s'il doit prévoir toutes les classes utilitaires dans tous les contextes possibles, aura une taille gigantesque.
  • Contrairement aux apparences, j'ai besoin de très bien connaître CSS et toutes ses propriétés pour en déduire toutes les classes utilitaires (oh mais attendez, connaître les CSS n'est pas censé être un inconvénient n'est-ce pas ?)

l'approche Atomique avec le framework Tailwind


Mais alors c'est quoi la meilleure méthodologie ?

Pour la petite anecdote, je me souviens très bien du jour où j'ai découvert CSSLint et son incitation à "ne pas utiliser de sélecteur d'ID en CSS". Ma première réaction fut de vivement réfuter en block cet argument car la "Bonne Pratique" de l'époque était de cibler les éléments uniques de la page via des #id, et CSSLint allait clairement à l'encontre de toutes nos années d'apprentissage et d'usage de CSS.
J'ai mis quelques années à changer d'avis.

Cet exemple, parmi tant d'autres, démontre qu'une bonne pratique n'est pas figée dans le temps.

Des projets différents impliquent des besoins différents et une approche différente. Tout cela pour conclure qu'aucune approche n'est meilleure qu'une autre car certaines sont parfaitement adaptées à des typologies de projets particuliers, ou aux compétences de l'équipe. Et d'autres non.

Le mot de la fin revient à Thierry Koblenz, ancien chef des experts CSS chez Yahoo!, "inventeur" des CSS atomiques :

Pour Yahoo!, ACSS s’est révélé être un super outil mais si je devais refaire mon site perso demain ce serait certainement 80% sémantique et 20% atomique > (« utility classes »).
Et pour une page toute bête, je pense que ça frôlerait les 99.99% (sémantique ou atomique selon l’humeur du moment).

Source : Thierry Koblenz, 2016

Finalement, vous l'aurez compris, cet article n'avait pas pour but de vous imposer un choix de méthodologie mais plutôt de vous rendre attentif aux avantages et inconvénients de chacune.

N'hésitez pas à enrichir ce débat en avouant votre amour inconditionnel pour Atomic CSS ou votre haine sans fin pour BEM, nous faire découvrir d'autres approches modernes, ou simplement nous témoigner de celle(s) que vous adoptez dans vos projets.

Publié par Alsacreations.com

Le: 04 05 2021 à 11:00 FrenchWeb.fr Auteur: Assiya Berrima

Cette annonce intervient à peine un mois après que Microsoft ait renoncé à racheter Discord, dans le cadre d’une transaction qui aurait valorisé la plateforme à 10 milliards de dollars.

L’article Face à Microsoft, Sony s’allie à Discord pour intégrer la plateforme sur sa PlayStation est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 11:00 Alsacreations.com - Apprendre Auteur: Raphael

Au début était la Pangée. Un magma informe, une soupe de balises où se noient des styles épars et obscurs. Tout cela dans un ensemble de code inextricable et bien difficile à comprendre et maintenir !

Et l'on se rendit compte que HTML et CSS étaient tout autant faciles à écrire qu'extrêmement complexes à maintenir, et que seuls certain•e•s sorcier•e•s étaient capable d'assurer une consistence à leurs codes.

Les premières méthodologies CSS "grand public" voient le jour dans les années 2008-2009 sous l'impulsion, entre autre, de Nicole Sullivan alors ingénieure chez Facebook qui évoque le terme de "CSS Orienté Objet" ou "OOCSS" notamment lors d'une conférence à Paris-Web.

Méthodologies, Frameworks, Preprocesseurs

À l'instar de véritables langages de programmation, CSS se voit s'articuler autour de lui différentes approches, méthodologies et frameworks.

  • Les Approches et méthodologies CSS définissent généralement des règles de nommage ou des bonnes pratiques à suivre.
    Les plus utilisées à ce jour sont : OOCSS (Nicole Sullivan), BEM (Yandex), SMACSS (Jonathan Snook), Atomic CSS (Yahoo!) et ITCSS (Harry Roberts)
  • Les Frameworks CSS : désignent des environnements d'intégration complets et généralement fondés sur l'une des méthodologies sus-citées.
    On y trouve par exemple : Bootstrap (historiquement Twitter), Foundation (Zurb), Materialize CSS (Google), Tailwind (Adam Wathan), Bulma (Jeremy Thomas), Tachyons (John Otander) et PureCSS (Yahoo!). Sans oublier KNACSS (Alsacréations) bien sûr !
  • Les Pré et post-processeurs : sont des outils permettant de générer ou d'améliorer du code CSS existant. Les plus célèbres étant postCSS (Evil Martians), Sass, LESS et Stylus.

Si l'ensemble de ces approches et outils existent et prospèrent de nos jours, c'est bien parce qu'ils se sont fait leur place dans la réalité des environnements de production.

Comme disaient les cssribes de l'antiquité : "il n'y a pas de bonne ou de mauvaise approche" car :

  1. Les méthodologies répondent à des besoins
  2. Les méthodologies évoluent (car les besoins évoluent)

"Être consistant au sein d'une grosse équipe", "Ne pas avoir besoin de toucher au CSS", "Ne pas avoir besoin de comprendre CSS"… sont tout autant de besoins qui peuvent être légitimes.

Certains frameworks, dont Bulma, se targuent d'ailleurs de ne nécessiter aucune compétence en CSS (si cela vous choque… c'est que vous n'en n'avez sans doute pas besoin).

On veut des chiffres !

Si vous aimez les graphiques et les chiffres, sachez que le site web "State of CSS" suit de près les tendances de ce langage :

L'évolution des frameworks CSS entre 2019 et 2020

L'histoire des approches CSS de IE4 la préhistoire à nos jours

Approche (pré)Historique

La belle époque des <font>, des <center>, des <b>, mais aussi des tableaux de mise en forme à grand renfort de rowspan, colspan et autres valign a longtemps bercé notre enfance d'intégratrice et intégrateur. Les supports navigateurs et les bugs en tout genre complétèrent le tableau (huhu) d'un pseudo-langage bancal qu'était CSS.

Exemple
<div class="center"></div>
<font>
  <center>
    <b> <!-- j'ai mal rien que d'écrire tout ça --></b>
  </center>
</font>
Avantages et inconvénients

Un avantage indéniable est que le terme "center" est parfaitement compréhensible pour un être humain, même un développeur web.

Par contre, un élément <center>, ou un <div class="center">, véhiculent des notions purement graphiques, or HTML ne devrait transmettre que des informations de contenu, être dénué de notions de style. En mélangeant allègrement les deux, on complique le rôle et diminue l'intérêt de chacun.

Si cet élément change de style selon le contexte (n'est plus centré sur un grand écran par exemple), le choix de classe devient totalement incohérent. C'est problématique.

le dinosaure du HTML


Approche Sémantique

Mettons vite le hola à ces pratiques barbares et revenons aux bases que sont :

  • le HTML c'est pour la structure et le contenu (le fond)
  • le CSS c'est pour la présentation (la forme)
Exemple de sémantique
<div class="container">
  <div class="author-info">
    <h2>Francis Lalanne</h2>
    <img src="" alt="" />
    <p class="author-desc">Un troubadour des temps anciens.</p>
  </div>
</div>
.author-bio {
  ...;
}
.author-bio > h2 {
  ...;
}
.author-bio > img {
  ...;
}
.author-bio > .author-desc {
  ...;
}
Avantages et inconvénients

Grâce à ces classes "sémantiques", mon code HTML est propre et pourvu de sens et de logique, et surtout je comprends bien quelle est la fonction de chaque élément (enfin, normalement).

Alors par contre c'est drôle mais cela devient assez vite compliqué de trouver des noms de classe cohérents (salut à toi .modal-wrapper > .inner-content > .warning-global!).

Avouez que "Nommer les choses en CSS est compliqué" et que depuis l'ère du Responsive et des CSS modernes ça ne va pas en s'arrangeant car il faut aujourd'hui non seulement trouver des noms de classes, mais aussi de variables CSS, de valeurs de Breakpoints, etc.

Fort heureusement, tout le monde utilise de solides Conventions de nommage CSS de nos jours, n'est-il pas ?

En creusant bien, je me heurte à une autre problématique : comme souhaité, mon HTML n'a plus de notions de styles… mais maintenant c'est CSS qui est devenu très dépendant de ma structure HTML car les noms de classes ne contiennent plus aucune information graphique. Je dois systématiquement vérifier mon CSS pour deviner à quoi va ressembler ma classe .warning. Au final, j'ai simplement retourné la situation, et je n'ai pas séparé HTML de CSS.

la sainte sémantique HTML et CSS


Méthodologie BEM

La méthodologie "BEM" (pour "Block Element Modifier") a été élaborée par le moteur de recherche russe Yandex. Elle trouve racine en 2010 mais s'est vraiment activement développée à partir de 2015. Son objectif est de faciliter la réutilisation de composants CSS et d'assurer une cohérence de nommage à travers les équipes et dans la durée.

BEM impose une règle de nommage différente que selon que l'élément soit un "Block" (entité autonome), un "Element" (dépendant d'un Block) ou un "Modifier" (variante de Block ou d'Element).

Trois règles distinguent BEM d'autres approches :

  1. Tous les éléments HTML doivent chacun avoir un nom sous forme de class CSS (pas de nommage via id)
  2. Les sélecteurs CSS ne doivent cibler que des classes (pas d'élément tel que nav, ni a, ni ul dans le nom d'un sélecteur par exemple)
  3. Les sélecteurs CSS composés / hiérarchiques sont à éviter (pas de .menu .list, ou de .navigation > a)
Exemple de BEM
<div class="container">
  <div class="author-info">
    <h2 class="author-info__title">Francis Lalanne</h2>
    <img class="author-info__image" src="" alt="" />
    <p class="author-info__desc">Un troubadour des temps anciens.</p>
  </div>
</div>
.author-bio {
  ...;
}
.author-bio__title {
  ...;
}
.author-bio__image {
  ...;
}
.author-bio__desc {
  ...;
}
Avantages et inconvénients

La méthodologie BEM évite toute surprise : sa convention de nommage très stricte permet à coup sûr de comprendre à quoi sert chaque élément mais aussi de choisir le bon nommage quand j'en crée un nouveau. Je comprends ce que mes collègues écrivent et je comprends ce que j'ai moi-même écrit il y a 6 mois dans mon projet.

En outre, la structure HTML peut changer sans aucun impact sur le style (car CSS ne cible que des classes et non des balises HTML).

Enfin, il devient extrêmement facile de maintenir, modifier voire écraser des styles existants puisqu'il n'y a qu'un seul niveau de poids : un sélecteur CSS = une classe unique.

Mais il y a forcément des contreparties…

Mon code HTML a subitement doublé de taille, car chacun des éléments de structure (même s'il n'est pas utilisé) doit avoir un nom de classe à lui, voire plusieurs s'il dispose de variantes.

Et surtout, comment gérer efficacement tous les composants très similaires graphiquement mais dont la fonction est différente (ex. un .article__preview qui serait quasi identique à un .author__info) ?

Au final, pour résoudre cette problématique, on ajoutera généralement un niveau d'abstraction plus vaste ("content-agnostic") tel que .card ou .btn ou .badge. Et forcément, la précision et la compréhension en prennent un sale coup.

la convention de nommage BEM


Approche Atomique

L'approche Atomique (ou "utilitaire") trouve ses origines en octobre 2013 au sein d'un article de Thierry Koblenz sur Smashingmagazine. Cet article donne naissance à ACSS qui est adopté par Yahoo! dès 2015.

Les principes essentiels de cette approche sont :

  1. À chaque classe CSS correspond une seule fonction (ex. .txt-left {text-align: left} ou .mr-2 {margin-right: 2rem} )
  2. Le styles CSS sont volontairement dénués de contexte (agnostiques) pour être totalement indépendants de la structure HTML
  3. Les sélecteurs CSS composés n’existent pas (pas de .menu .list, ou de .navigation > a)
  4. Il n'est plus nécessaire d'intervenir dans la feuille de styles CSS. Plus aucun CSS à écrire, modifier ou maintenir car le fichier CSS existe initialement ou est généré au fur et à mesure.
Exemple d'approche atomique
<div class="container md:grid grid-col-3 bg-hotpink p-10 mb-6">
  <div class="text-center md:text-left">
    <h2 class="text-lg bg-chocolate rounded-full">Francis Lalanne</h2>
    <img class="h-16 w-16 md:h-24:w-24" src="" alt="" />
    <p class="p-10 my-6 hover:bg-orange">Un troubadour des temps anciens.</p>
  </div>
</div>
.text-center {
  ...;
}
.text-left {
  ...;
}
.text-lg {
  ...;
}
.p-10 {
  ...;
}
Avantages et inconvénients

Atomic CSS, on l'adore ou on le déteste, mais quoi qu'il en soit il est impossible de se tromper dans le nommage ! Il n'y a aucune surprise ni de pièges, personne ne se torture l'esprit ni ne peut bifurquer puisque le nommage existe déjà. Toutes les classes CSS vous attendent, inutile d'en créer davantage.

De plus, je n'ai même plus besoin de fouiller dans mes fichiers CSS, tout se passe côté HTML et je peux me concentrer sur un seul langage lors de mon intégration.

Se fonder sur un nombre de classes existant et restreint m'impose une cohérence (difficile d'avoir 150 niveaux de gris différents par exemple, même si c'est possible.)

Enfin, les contextes d'affichage tels que le Responsive peuvent parfaitement être pris en charge.

Mais encore une fois il y a forcément des contreparties et elles sont de taille 

  • Ça pique carrément les yeux ! C'est moche. C'est un fait.
  • Mon HTML est alourdi, difficile à lire, et contient partout de multiples classes
  • Mon CSS, s'il doit prévoir toutes les classes utilitaires dans tous les contextes possibles, aura une taille gigantesque.
  • Contrairement aux apparences, j'ai besoin de très bien connaître CSS et toutes ses propriétés pour en déduire toutes les classes utilitaires (oh mais attendez, connaître les CSS n'est pas censé être un inconvénient n'est-ce pas ?)

l'approche Atomique avec le framework Tailwind


Mais alors c'est quoi la meilleure méthodologie ?

Pour la petite anecdote, je me souviens très bien du jour où j'ai découvert CSSLint et son incitation à "ne pas utiliser de sélecteur d'ID en CSS". Ma première réaction fut de vivement réfuter en block cet argument car la "Bonne Pratique" de l'époque était de cibler les éléments uniques de la page via des #id, et CSSLint allait clairement à l'encontre de toutes nos années d'apprentissage et d'usage de CSS.
J'ai mis quelques années à changer d'avis.

Cet exemple, parmi tant d'autres, démontre qu'une bonne pratique n'est pas figée dans le temps.

Des projets différents impliquent des besoins différents et une approche différente. Tout cela pour conclure qu'aucune approche n'est meilleure qu'une autre car certaines sont parfaitement adaptées à des typologies de projets particuliers, ou aux compétences de l'équipe. Et d'autres non.

Le mot de la fin revient à Thierry Koblenz, ancien chef des experts CSS chez Yahoo!, "inventeur" des CSS atomiques :

Pour Yahoo!, ACSS s’est révélé être un super outil mais si je devais refaire mon site perso demain ce serait certainement 80% sémantique et 20% atomique > (« utility classes »).
Et pour une page toute bête, je pense que ça frôlerait les 99.99% (sémantique ou atomique selon l’humeur du moment).

Source : Thierry Koblenz, 2016

Finalement, vous l'aurez compris, cet article n'avait pas pour but de vous imposer un choix de méthodologie mais plutôt de vous rendre attentif aux avantages et inconvénients de chacune.

N'hésitez pas à enrichir ce débat en avouant votre amour inconditionnel pour Atomic CSS ou votre haine sans fin pour BEM, nous faire découvrir d'autres approches modernes, ou simplement nous témoigner de celle(s) que vous adoptez dans vos projets.

Publié par Alsacreations.com

Le: 04 05 2021 à 10:20 Journal du Net Développeurs

Le low-code est bourré de mythes. Le premier d'entre eux est que les développeurs n'en veulent pas. Pourtant, ils sont nombreux à avoir recours à ces solutions pour tous les avantages qu'elles apportent. Voici pourquoi.

Le: 04 05 2021 à 10:09 Journal du Net Développeurs

[ETHEREUM] Le cours de la deuxième crypmtomonnaie a franchi pour la première fois les 3 000 dollars le 3 mai 2021. En un mois, il a bondi de plus de 70%.

Le: 04 05 2021 à 10:07 Journal du Net Développeurs

Disposer d'environnements numériques fiables et résilients, tout le monde le souhaite. Mais pour se prémunir contre les pannes, la connaissance technique ne suffit pas. Savoir analyser une situation et prendre les bonnes décisions pour réduire les risques, c'est avoir la capacité à résoudre des problèmes complexes.

Le: 04 05 2021 à 10:03 Journal du Net Développeurs

La pandémie a ouvert aux cybercriminels une porte d'entrée inattendue dans la vie des internautes, en leur permettant de tirer parti du besoin d'informations exactes et actualisées concernant la Covid-19. Et les salariés en télétravail ont continué de représenter un problème de sécurité. Il s'avère que les plateformes mobiles sont tout aussi impactées que le reste.

Le: 04 05 2021 à 10:00 Journal du Net Développeurs

Le modèle a émergé comme concept de sécurité il y a déjà plusieurs années. Au cours des douze derniers mois cependant, le paysage informatique des entreprises a été bouleversé, avec de nombreuses conséquences en matière de cybersécurité. En particulier, le passage soudain au cloud a mis les équipes de sécurité au défi.

Le: 04 05 2021 à 09:55 Journal du Net Développeurs

Après la ville de Marseille, la métropole d'Aix-en-Provence, La Rochelle, la ville d'Angers, la Communauté de communes de l'Est lyonnais a été visée par une cyberattaque en mars, provoquant des dysfonctionnements de plusieurs de ses systèmes informatiques et services en ligne.

Le: 04 05 2021 à 09:50 Journal du Net Développeurs

Entre confinement, couvre-feu et autres restrictions sanitaires, les sociétés ont dû faire preuve de souplesse et d'inventivité pour maintenir leur activité durant la pandémie. Elles ont notamment accru leur utilisation du cloud. Ce qui leur a permis de renforcer leur productivité.

Le: 04 05 2021 à 09:30 FrenchWeb.fr Auteur: La rédaction

Facebook et d'autres réseaux sociaux ont banni l'ancien président américain, jugeant que le milliardaire républicain avait encouragé une foule de partisans à envahir le Capitole à Washington le 6 janvier.

L’article Facebook s’apprête à trancher sur la suspension du compte de Donald Trump est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 09:00 korben.info Auteur: Korben

Télécharger et imprimer en 3D ses propres briques LEGO.

Le: 04 05 2021 à 08:00 FrenchWeb.fr Auteur: Maxence Fabrion

Fintecture a développé une infrastructure qui permet aux marchands de s’affranchir des contraintes associées aux paiements pour alléger les coûts des transactions.

L’article Fintecture lève 7,5 millions de dollars pour supprimer les frictions autour du paiement en ligne est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 07:30 FrenchWeb.fr Auteur: La rédaction

Retrouvez l'émission GOOD MORNING FrenchWeb tous les matins dès 7h avec Joseph Postec et la rédaction pour décrypter l’actualité de la Tech.

L’article De l’affineur au vendeur: comment la filière du fromage fait sa transformation numérique est apparu en premier sur FrenchWeb.fr.

Le: 04 05 2021 à 05:26 Web Design Shock Auteur: Admin

130+ Fun Fonts for Kids, Support for Cyrillic & Latin Alphabets, OTF File Formats, Perfect for Children Cards, Posters, Apparel, School Designs & More, Commercial Use License

Le: 04 05 2021 à 02:22 jqueryrain.com Auteur: Admin

 

The post Bootstrap Modal Style 75 appeared first on Best jQuery.

Le: 04 05 2021 à 02:20 jqueryrain.com Auteur: Admin

 

The post Radio Button Style 12 appeared first on Best jQuery.

Le: 04 05 2021 à 01:05 WebdesignerNews

https://blog.alexdevero.com/react-useeffect-hook/

Le: 04 05 2021 à 00:33 WebdesignerNews

https://www.lafoo.com/the-end-of-amp/?twclid=11389086688677404673