Alexandre CANTIN - Blog personnel

01 avr. 2022

Antisocial - Pourquoi ce projet ? 🙉

Cette série d’articles (5-6 au total) sera comparable à un journal de bord dans lequel je parlerai, de manière régulière, de mon avancé mais aussi de mes différentes réflexions technologiques ou fonctionnelles autour ce projet.

Je ne prévois d’en faire une relecture intensive donc il n’est pas impossible que certaines incohérences, changements de direction surviennent ou que des post-scriptum apparaissent 🙂

Dans tous les cas, stay tuned pour ne pas manquer tous les épisodes 🙂

⇒ 11 novembre 2021 : Début du projet “Antisocial”

Bien que cette idée me taraude depuis deux semaines, je déclare ouvert le projet du 1er réseau antisocial ! Le site s’intitulera sobrement “Réseau antisocial” ou “Antisocial network” et sera un réseau comparable à Twitter où toutes les réponses seront positives mais surtout fausses car générées de manière aléatoire.

La date de lancement sera le 1er avril pour accentuer l’aspect ironique du projet et s’arrêtera le 7 avril (à minuit et une seconde), ne comptant pas assurer créer et surtout gérer un projet sur le long terme.

J’ignore quelle sera la réception de ce projet mais dans tous les cas, je souhaite le développer comme un projet professionnel et potentiellement m’en servir comme base pour d’autres projets plus… sérieux 🙂 Je compte aussi expérimenter une série de technologies dont voici une liste non exhaustive : Clever Cloud, GithubActions, GoFiber, Svelte, Matomo, internationalisation (français et anglais), accessibilité etc.

Ainsi même en cas de flop, les apprentissages et l’expérience accumulés seront au rendez-vous 🙂

En ce jour, le périmètre global du projet est défini mais avant d’en dire davantage, répondons à la question essentielle :

Pourquoi un tel projet ?

Comme beaucoup de personnes, je passe beaucoup de temps sur les réseaux sociaux (essentiellement Twitter et Facebook) afin d’effectuer principalement ma veille technique et me tenir au courant des divers sujets d’actualité en France et près de Nantes.

Toutefois, il m’arrive de me perdre dans les commentaires et encore pire… de les lire ! Loin de moi la volonté de dire qui a raison ou qui a tort sur les sujets évoqués mais une chose me semble sûre : personne n’est d’accord et rares sont les échanges se terminant cordialement… 😓 De ce constat naquit l’idée d’un réseau social où tout le monde serait d’accord.

Malheureusement, ne pouvant le garantir avec “de vrais humains”, l’ensemble des commentaires et des likes seront purement artificiels et générés aléatoirement, simulant ainsi un message à succès. Ce fonctionnement étant en opposition avec le principe même d’un réseau social et isolant les utilisateurs les uns des autres, je lui ai donné le nom d'antisocial 🙂

Développeur web au quotidien, j’étais aussi à la recherche d’un projet personnel me permettant d’approfondir mes connaissances sur tout un ensemble de technologies (voir section suivante). Bref, un projet sympa qui devrait m’occuper pour les six mois à venir !

Tours des technologies

Comme évoqué précédemment, ce réseau antisocial sera l’objet d’expérimentation et d’apprentissage autour de certaines technologies que je maîtrise à des divers degrés.

  • Clever Cloud : pour l’hébergement du site. Bien que beaucoup de monde utilisent - et surtout ne connaissaient - que les plateformes américaines des GAFAM (AWS d’Amazon, GCP de Google, Azure de Microsoft), des acteurs français existent. Je compte donc expérimenter l’hébergement sur Clever Cloud dont mes collègues nantais me disent beaucoup de bien 🙂 Ce sera l’occasion de répondre à certaines questions que je me pose sur cette plate-forme : gestion de la sécurité ? déroulement des migrations de base de données ?…
  • Github Actions : Github servira pour stocker le code source du projet et aussi d’environnement d’intégration continue pour les tests. Le code restera privé et j’ignore si je le rendrais open-source un jour… 🤷‍♂️
  • GoFiber : Go est un langage qui m’intéresse : il mise sur la simplicité tout en proposant des performances plus qu’intéressantes pour tenir une forte charge. Même si je suis plus à l’aise dans les langages JavaScript/TypeScript et que je coderai moins rapidement qu’en Go, je ne peux m’empêcher de penser que penser un site dès le départ pour tenir une forte charge est important. Mais je comprends aussi les personnes préconisant que la vitesse de développement est plus importante et surtout qu’avant de réfléchir à la tenue une forte charge, il faut déjà une forte charge à tenir !
  • Svelte : Svelte est une alternative à React que j’affectionne tout particulièrement ⇒ moins de code, plus de performant et des fichiers plus légers 🥳 J’adore Svelte et prends un véritable plaisir à développer avec 🙂 Ce sera aussi l’occasion de découvrir les notions d’accessibilité et d’internationalisation avec ce framework.
  • Matomo : une alternative à Google Analytics française et plus respectueuse du RGPD, un outil intéressant que je compte tester 🙂

État d’avancement

Le périmètre global du projet est défini dont voici les points principaux :

  • le projet débutera le 1er avril et prendra fin le samedi 9 avril (impossible de créer un nouveau message mais consultation toujours possible). L’ensemble des données sera supprimé le 17 avril (2022 je précise) et j’essaierai de faire en sorte que ce soit le cas aussi sur les services tiers. Ces dates ne sont pas fixées dans le marbre et l’agenda peut varier en fonction d’imprévus… imprévisibles 🙂

  • aucun compte ne sera nécessaire pour créer un nouveau message. L’idée est de faciliter la contribution sans imposer la barrière de la création d’un compte (et aussi gérer les mots de passe oubliés etc…). Un système de limitation via cookie ou localStorage sera peut-être présent mais ça ne fera pas de miracles 🤷 Une meilleure solution serait de stocker les adresses IP en base de données mais la question du RGPD se pose… et stocker des données personnelles pour une blague me semble inapproprié…

  • les réponses seront générées aléatoirement en mélangeant des milliers de noms avec des milliers et des milliers de messages et un long travail de remplissage m’attend donc 🙂 Il faudra aussi que chaque message soit genré pour être plus “réalistes”

  • un partage Twitter, LinkedIn et Facebook sera disponible pour faire parler du projet 🙂

  • une page Contact sera disponible et postera les messages sur un serveur Discord qu’il me faudra créer

  • un dark mode… indispensable !

Comme on le dit l’expression : y’a plus qu’à ! J’espère parvenir à une première version montrable et testable pour fin janvier🖖