Les langages de programmation :

Le développement durable :

En 1987, le développement durable est défini par le rapport Brundtland de la Commission européenne de la manière suivante : "Un développement qui répond aux besoins des générations présentes sans compromettre la capacité des générations futures à répondre aux leurs". Cette définition, donnée il y a plus de trente ans, est plus que jamais d'actualité. Il est urgent d'agir, si nous souhaitons continuer à profiter des bienfaits que nous apporte notre planète sans que cela remette en cause la qualité de vie des générations futures.

Souvent, nous avons l'impression que nous n'avons pas le pouvoir de changer les choses, car nous ne sommes ni dirigeants d'un pays bu P.-D.G. d'une grande entreprise. Néanmoins, ces dernières années ont montré que lorque les citoyens du monde changent de regard, changent leurs habitudes, prennent conscience des enjeux, alors c'est toute notre société qui évolue. À nous donc de changer nos pratiques dans notre vie de tous les jours, mais également dans notre vie de développeur !

Le numérique responsable :

Le numérique responsable est donc l'application des principes du développement durable à notre monde informatique. Les entreprises sont incitées à prendre ce virage, en particulier en mettant en place une politique de responsabilité sociale des entreprises (RSE). Cela les engage à prendre leur décision en tenant compte des aspects sociaux, éthniques, économiques et environnementaux. La norme ISO 26000 regroupe les pratiques sociétales, éthniques et de gouvernance sous forme de lignes directrices à appliquer. Cette norme n'est pas certifiable.

L'éthnique est l'une des facettes de ce numérique responsable. Cela se traduit, en plus du besoin d'accessibilité, par la saine et respectueuse gestion des données personnelles, par une égalité de traitement entre chaque être humain (quelques soient son genre, sa couleur de peau, sa religion...), par un refus des techniques de captation de l'attention ou d'addiction...

L'Institut du Numérique Responsable (INR) oeuvre pour sensibiliser les acteurs et les utilisateurs de l'informatique aux coséquences de leurs actes. Sur son site, est proposée une formation gratuite au numérique responsable sous forme de MOOC. Vous pouvez également à une fresque du numérique qui vous permettra de mieux comprendre les impacts du numérique.

Le numérique responsable étant un très vaste sujet, ce syllabus se concentresur l'écoconception de sites web accessibles à tous.

Le choix du langage, du framework ou du CMS :

L'un des premiers choix techniques à effectuer pour un site web est le langage éventuellement accompané de l'un de ses frameworks ou le CMS (Content Management System - Système de gestion de contenu).

Un langage sans framework estbien évidemment ce qu'il y a de plus léger puisque seul ce qui est vraimet nécessaire au site est codé. Un CMS et un framework dans une moindre mesure apportent une multitude de fonctionnalités et de possibilités qui vont au-delà des besoins du site internet. Néanmoins, la plupart sont modulaires et il est possible de les configurer pour n'avoir que les modules néessaires. Exemple : sous Symfony, il est possible de partir de la version minimaliste et ensuite d'ajouter les packages nécessaires.

Voici l'exemple de la création d'un projet minimaliste auquel est ajouté le moteur de template Twig :

#> composer create-project symfony/skeleton nom_projet
#> cd nom_projet
#> composer require twig

Parmi les CMS, certains sont plus ou moins légers et proposentdes thèmes qui ne se valent pas tous. Pensez à vérifier cela lors de votre choix. Il existe également des CMS qui ont été créés pour être écoresponsables. C'est le cas du CMS Translucide, un projet opensource initié par Simon Vandaele et porté par Translucide, un collectif d'artisans du Web.

Pour le choix du langage de programmation et de son éventuel framework associé, il faut se poser la question de l'hébergement, qui ne ser pas le même suivant le langage choisi.

Les conseils donnés sont généralement transposables à d'autres serveurs web qu'Apache, à d'autres langages que le PHP natif éventuellement avec un framework et même à des sites utilisant des CMS.

Type de langages de programmation :

  • Compilé :

    • Transformation du code source en binaire par un compilateur
    • Ex : .java → .class
    • Exécution du code binaire
    • Souvent langage statiquement typé
  • Interprété :

    • Exécution directe du code source
    • Ex : Javascript
    • Souvent, langage dynamiquement typé

Les bibliothèques ou frameworks JavaScript ou CSS :

Il est très classique d'entendre : "Pour faire de l'AJAX, j'ajoute jQuery au projet.". Ou bien : "Pour avoir un site web responsive, j'utilise Bootstrap.". Mais est-ce vraiment nécessaire ? C'est souvent une solution de facilité, mais sur les milliers de lignes de code, combien nous sont vraiment utiles ? De plus, JavaScript et CSS évoluent en permanence et il est maintenant possible de faire beaucoup de choses facilement sans l'aide d'aucune bibliothèque, d'aucun framework. Il est alors nécessaire de se poser la question de l'intérêt d'utiliser telle bibliothèque ou tel framework. Certaines bibliothèques sont parfois disponibles en différentes parties. Il est alors possible de n'utiliser que la partie dont nous avons besoin. Une autre possibilité est de chercher d'autres bibliothèques plus spécialisées pour répondre à notre besoin.

L'écriture inclusive :

L'écriture inclusive, appelée également écriture égalitaire, est souvent réduite au double genre des mots marqué à l'aide de points, de points médians ou de tirets (exemple : les étudiant·e·s), mais cela va bien plus loin. L'objectif est d'éviter dans un texte toute discrimination d'ordre sexiste, religieux, ethnique, relative à l'âge ou à l'orientation sexuelle. Il est bien évident que les contenus rédactionnels des sites web doivent respecter cela pour se conformer aux principes du numérique responsable ! Lorsque nous rédigeons un texte, il faut veiller à ne pas reproduire des stéréotypes auxquels nous avons été malheureusement habitués. Pourquoi, par exemple, parle-t-on d'un directeur et d'une secrétaire quand on évoque une société fictive, et pas d'une directrice et d'un secrétaire ? Il est donc nécessaire de nous poser systématiquement des questios sur nos choix a priori anodins, mais qui peuvent contribuer à faire perdurer des préjugés ou des stéréotypes. Est-ce que nos propos réflètent et valorisent la diversité et la mixité de notre société ? Pourquoi certains secteurs d'activités seraient nécessairement féminins ou masculins ? Il est possible de contrebalancer ces préjugés avec des exemples de femmes ayant réussi dans des milieux à dominante masculine, ou inversement.

Néanmoins, concernant l'utilisation du double genre des mots marqués à l'aide de points, de points médians ou de tirets, cela a des effets pervers en excluant un certain nombre de personnes : les lecteurs d'écran ne sont pas capables de lire correctement le texte; et les personnes souffrant de dyslexie ou n'ayant pas le français comme langue maternelle sont gênées par cette pratique. Il est souvent possible de tourner la phrase différemment pour faciliter la lecture tout en me mettant pas en avant le genre masculin au détriment du genre féminin. Voici trois recommandations à appliquer quand le texte s'y prête :

  • Utiliser un doublet, c'est-à-dire la paire forme féminine/forme masculine d'un mot : "les étudiantes et les étudiants" à la place de "les étudiant·e·s".
  • Utiliser des mots épicènes (même orthographe au féminin et au masculin) : graphiste, élève, artiste...
  • Formuler différemment : "cahque personne" à la place de "chacun·e", ou encore "syndrome d'imposture" à la place de "syndrome de l'imposteur·trice".

Remarque : cela est également préférable pour le référencement naturel puisque les formes à double genre marqué par des points, points médians ou tirets ne constituent pas des mots.

Le site https://eninclusif.fr indique comment écrire 10000 mots en écriture inclusive, et propose parfois des alternatives neutres.