46 matching collectives

Atlantis Collective

About

Nous sommes Atlantis, un collectif axé sur le développement durable ainsi que sur la rapidité de réalisation de par l’utilisation de nouvelles technologies dans le domaine du développement web. 🌳

Blockness

About

Des projets décentralisés légendaires par des buidlers* humains.

Growth on Track

About

Notre collectif multidisciplinaire vous aide à trouver les ingrédients d‘une croissance saine, multi-canal, et centrée sur la data.

L'Atelier

About

Une équipe de développement à disposition pour tous vos besoins tech 🚀

TekFlare

About

Nous vous accompagnons pour prendre les bonnes décisions et structurer l'expertise technique au sein de votre entreprise.

Optimeast

About

Jetez l'ancre en position 1 de Google Search

MAKE IT BOLD

About

✨ MAKE IT BOLD - MAKE IT BRIGHT - MAKE IT HAPPEN ✨

Squadrone

About

Nous sommes un collectif d’experts en communication

Addscale

About

Addscale aide les entreprises BtoB à accélérer leur business avec un accompagnement alliant audit, stratégie, structuration et implémentation d'outils commerciaux innovants avec la mise à disposition de BDR.

SBK - ACDSIS

About

Notre collectif de développement web regroupe des passionnés de la technologie et de l'innovation, prêts à relever tous les défis pour vous offrir une expérience en ligne exceptionnelle.

FA#

About

Automatisation & Optimisation: Votre duo d'experts pour des process métier performants et une croissance accélérée.

Octocode

About

Octocode : Des solutions technologiques créatives et sur mesure.

Rocket dev

About

Des apps rapides et solides

Movelytics

About

De l'idée à l'application : Design, Développement technique, Développement marketing. Votre application web ou mobile sur mesure.

Atelier Digital

About

La première coopérative No-Code

RiseAgency

About

Ensemble, faisons grandir votre business

Dsides

About

Ingénierie numérique

Squaad

About

Le collectif expert en développement de solutions digitales sur mesure. Avec vos équipes, nous déployons des méthodes secrètes pour relever vos défis 👨‍🚀

Brickfilms logo

Brickfilms

Art & LeisureNon-profit


Comment 20 ans de données ont été réunies sur le nouveau site de Brickfilms.com

💡Découvrez comment Brickfilms.com by Brick à Brack à restauré et fusionné des données datant d’il y a plus de 20 ans pour le lancement de leur tout nouveau site 👏


Brick à Brack est une association à but non lucratif qui regroupe des passionnés réalisant des films en stop-motion LEGO depuis 2008. Cette communauté s’est ouverte à l’international en 2017 et dispose désormais d’un site multilingue, en français et en anglais.

En 2021, l’association fait l’acquisition du site américain Brickfilms.com, un site anglophone qui regroupe une communauté de “brickfilmeurs” depuis plus de vingt ans. Mettant par la même occasion la main sur plusieurs backups du site datant de différentes époques et dans divers formats : Wordpress, CSV, HTML, SQL, etc… Il fut alors décidé de rassembler tous ces contenus et de sortir un nouveau site.

La première étape fut de normaliser toutes ces données dans un nouveau format commun et de dédupliquer les comptes utilisateurs. Suite aux différentes versions des sites, un grand nombre d’utilisateurs se sont réinscrits sous des pseudonymes différents. Nous avons alors choisi l’email comme élément discriminant pour cette tâche, à quelques exceptions pour certains utilisateurs qui furent géré au cas par cas.

Nous avons ensuite dû dédupliquer les vidéos, une étape qui s’est avérée être la plus complexe de toutes. En effet, dans les années 2000, les membres ne postaient pas de liens vers Youtube ou Vimeo comme aujourd’hui, mais directement des liens permettant de télécharger leurs films. Les vidéos étaient encodées dans de vieux formats comme le Divx ou le RealMedia et certains fichiers n’étaient même pas lisibles via VLC ou FFmpeg. Nous avons dû utiliser une version modifiée de FFmpeg fournie avec RealPlayer pour les convertir dans un format plus commun. Une fois toutes les vidéos converties, nous en avons extrait des métadonnées (durée, format, nombre de frames, etc…) et nous nous sommes basés sur les dates de publications, les métadonnées, le titre et l’auteur pour fusionner ces contenus évitant ainsi les doublons.

Exemple de metadonnées pouvant être extrait d’une vidéo avec MediaInfo ou FFprobe

L’étape finale consistait à fusionner les commentaires, une opération assez simple à première vue mais qui s’est avérée complexe en pratique. Avec plus de 1,3 millions de messages brut à trier, parfois en HTML, parfois en BBcode. Nous avons fait le choix de nous baser sur la date et l’heure de création pour les dédupliquer, malheureusement certains backups n’avaient pas d’informations sur le fuseau horaire utilisé. Les dates ont été corrigées pour qu’elles correspondent à un même fuseau horaire. Une déduplication a ensuite été possible en se basant sur la date du message, l’utilisateur et la similitude du contenu fut assez efficace et retira la majorité des doublons.

Bien que les utilisateurs, les vidéos et les messages aient été grandement dédupliqués, une partie de l’équipe à pris le temps de vérifier manuellement qu’il n’y avait pas de problèmes lors de la fusion. Un travail de longue haleine nécessaire au vu de la qualité des données sources.

Il ne restait plus qu’à développer une nouvelle plateforme pour accueillir toutes ces données bien triées. Les technologies retenues furent NodeJS, Fastify, GraphQL et MySQL pour l’API et la gestion de données. R2 de Cloudflare fut choisi pour le stockage de fichiers car il est moins cher que AWS S3 / GCS et ne facture pas la bande passante.

Logos de NodeJs, Fastify, GraphQL, MySQL et Cloudflare

Des outils comme yt-dlp et FFmpeg ont aussi été mis en place pour automatiser certaines actions en lien avec la vidéo. Nous avons opté pour l’utilisation du service Mailjet pour l’envoi de mails dont les codes HTML sont rédigés en interne.

Logos de FFmpeg, yt-dlp et Mailjet

Pour le frontend, le choix de prendre React fut assez évident : Il y a une grosse communauté et de nombreuses librairies, c’est un gain de temps évident. L’option de prendre un framework permettant de faire du Server Side Rendering (SSR) comme NextJS a été écarté pour permettre de packager facilement le projet en tant que webapp avec Capacitor à l’avenir.

Logos de React et Capacitor

Nous avions uniquement besoin de SSR pour gérer l’affichage des liens sur les réseaux sociaux. Un simple morceau de code utilisé côté serveur permet d’ajouter les balises nécessaires, une alternative simple mais efficace pour un besoin SSR limité.

Affichage des informations lors du partage d’un lien sur Discord

Le 6 janvier 2023, le nouveau site fut lancé combinant à la fois tout l’historique de Brickfilms.com et celui de Brick à Brack sur une seule et même plateforme. La communauté fut au rendez-vous et apprécia ce grand retour ainsi que la qualité du nouveau site. Peu de bugs furent trouvés, et ce, grâce à une bêta privée qui avait été lancée sur les dernières semaines pour s’assurer que tout était au point.

Aperçu du nouveau site Brickfilms.com

Ce fut un projet titanesque au vu de la taille réduite de l’équipe sur ce projet et des nombreux formats de données à intégrer. Si vous avez un site qui évolue avec le temps, assurez-vous de toujours garder de la cohérence dans vos données et éviter de faire un site communautaire avec Wordpress, l’exploitation des données devient vite un calvaire si vous souhaitez les sortir proprement.

Members

Expertises

ReactProduct Design - UX/UIConsulting IT & Cyber

From

Apr 2023 to Apr 2023