Scriva : The best way to create content
Technologie utilisés
À l'heure de l'écriture de cette article, les choix technologiques sont:- ReactJS
- Redux Toolkit
- Material UI
- Typescript
- SSE
- Firebase
- Firestore
- Google Cloud function
- Golang
- Gitlab-ci
- API ChatGPT
- Docker
- Stripe
Lien de l'application : Scriva
Partie I : Présentation de Scriva
Description du projet
Scriva, une application innovante basée sur le modèle de service (SaaS) et interfacée avec ChatGPT, offre la possibilité de transformer un lien YouTube en diverses formes de contenu telles que des articles de blog, des threads sur LinkedIn ou Twitter, voire des synthèses concises.
Cet outil impressionnant vous donne le contrôle précis du contenu que vous souhaitez générer, vous permettant de spécifier si vous souhaitez transcrire l'intégralité de la vidéo ou une portion sélectionnée.
De plus, l'application Scriva propose une variété d'options de personnalisation, y compris la sélection de la langue, l'adaptation du ton et le choix du style d'écriture du contenu généré.
Origine de l'idée
L'idée est partie d'un ami, Valentin Brochard, qui m'a montré un post LinkedIn qui présentait une façon de récupérer tous les sous-titres d'une vidéo YouTube ainsi qu'un prompt pour ChatGPT lui permettant de générer des articles de blog.
Cet article nous a donc donné l'idée de créer Scriva, qui veut dire "écrire" en italien.
Voulant toujours approfondie les nouvelles technologies, c'était l'occasion pour nous de tester l'environnement cloud de Google avec Firebase, Firestore et les Google cloud fonction.
Partie II : La conception de Scriva
L'application fonctionne d'une manière particulière, au début du projet, nous avions commencé à implémenter les Google cloud fonction en HTTP, ce qui nous permettait de les exécutés via des appels api.
Mais en nous renseignant un peu plus en détail sur le sujet, nous nous sommes aperçus que ce type de Google cloud fonction était régulièrement ciblé par des bots. Les attaques de ces bots peuvent engendrer des factures excessives.
De ce fais nous nous sommes tournés vers un autre type de fonction, les fonctions basées sur des événements. Comme leurs noms l'indique, ces fonctions sont exécutées en suivant des événements qui se produisent sur la base de donnée Firebase.
De plus, ces fonctions sont plus sécurisées, car elles ne sont accessibles que par l'événement, elles ne sont pas ouvertes à l'extérieur de Google cloud.
Voici un schéma du fonctionnement de la génération d'un contenu :

Tout le formulaire fonction en SSE (Server Send Event), c'est-à-dire que le front se connecté à la collection Content de firebase puis écoute s'il y a des changements.
À chaque changement, le front reçoit les données actualisées en temps réel.
Cette façon de faire nous permet d'exécuter les Google Cloud Fonction et de changer le step du formulaire en fonction du status du contenu qui change dans la base de données.

Partie III : Futur de Scriva
Scriva, a de nombreuses améliorations en cours. Parmi elles, l'intégration d'une extension Obsidian. Cette extension est conçue pour synchroniser le contenu généré par Scriva avec vos notes Obsidian, élargissant ainsi les possibilités de gestion et de stockage de vos informations.
Une autre amélioration envisagée est la création en quelque clics d'un serveur web à la demande, en utilisant divers fournisseurs comme Digital Ocean. Nous envisageons d'intégrer différentes stack technologiques pour ces serveurs, qui serait utile pour les blogs par exemple. Ces services pourront inclure Traefik, Portainer, WatchTower, MySQL, Ghost et PhpMyAdmin.
L'ambition principale de cette évolution est de faciliter la publication du contenu généré par Scriva. Les utilisateurs pourront publier leur contenu directement sur leurs blogs, simplifiant ainsi le processus de transfert et de publication. L'intégration de ces améliorations permet d'améliorer l'expérience utilisateur et à rendre la gestion de contenu plus fluide et plus intuitive.
Conclusion
Scriva, en m'offrant une expérience pratique dans l'application de technologies avancées telles que ChatGPT, Firebase, Firestore et Google Cloud. Ce projet m'a permis de comprendre et d'appliquer la théorie acquise dans des contextes réels, une opportunité précieuse pour tout apprenant.
L'un des aspects les plus satisfaisants de mon travail sur Scriva a été la possibilité de transformer une idée, née d'une conversation avec un ami, en une application SaaS réel et utilisable.