Skip to content

Encore une nouveauté sur mon outil !

capture de la nouvelle fonctionnalité sur Moon

Ok, ok, j'ai l'impression de ne parler que de ça mais ...

so-happy

Mon outil de gestion de projet grandit encore et devient toujours plus grand !

Et chanceux que vous êtes, je vous raconte ABSOLUMENT tout

Tout a commencé par la flemme

Dans mon outil, je peux créer des tâches. 

Une tâche a une date d'échéance

C'est cool.

Mais j'ai pas mal de tâches qui reviennent encore et toujours, pour des durées indéterminées. 

Et jusque là, pas très grave, on peut faire très simplement un copier-coller du nom et créer des taches. 

Mais ... 

Flemme

Et aussi, j'oublie. 

J'oublie très TRES rapidement. 

Surtout quand la tâche c'est "lier les factures aux dépenses" ou "payer l'URSSAF". 

Alors j'ai longtemps réfléchi à faire des tâches récurrentes. 

Mais ... 

ça me paraissait hors de ma portée de mini-baby-dev.

Alors j'ai cherché comment les gens faisaient.

Le benchmark

Quand je pense "recurrence", je pense à deux outils que j'utilise beaucoup : 

  • Google calendar

Classique mais tellement pratique. Créer ses petites réu hebdos avec les clients, c'est si simple avec Calendar.

Calendar, c'est vraiment top et très complet. 

On a vraiment le choix de faire ce qu'on veut et on peut vraiment personnaliser la récurrence. 

Capture d’écran de la création d'un événement
La récurrence n'est pas la première chose que l'on voit quand on crée un événement. 
Capture d’écran de la récurrence d'événement

J'ai une select qui me permet d'avoir une récurrence très classique (quotidien, hebdomadaire, etc)

Capture d’écran de la personnalisation de la récurrence

si je veux quelque chose de très spécifique, je peux personnaliser la récurrence (par exemple en bi-hebdo). 

 

  • Clickup

Dans clickup, on est vraiment sur de la tâche. Et la fonctionnalité est très bien faite. 

(cherchez pas, j'adore clickup, c'est vraiment mon outil de gestion de projet chouchou)

Capture d’écran de la création de tache dans clickup

quand je crée une tâche, je peux lui assigner une deadline

Capture d’écran de la recurrence de tache
Je peux choisir de créer une récurrence dans la tâche. 

Surtout, sur clickup, j'ai le choix de ne pas créer 1000 tâches et juste "déplacer ma tache" une fois qu'elle est passée en terminé ou à chaque fois que la date arrive. 

On a aussi la même personnalisation que sur Calendar, ce qui permet de faire vraiment ce qu'on veut. 

Tout ça c'est cool, mais est-ce vraiment ce dont j'ai besoin ? 

Recentrer sur le besoin et l'attente

Ce que j'ai compris de mon benchmark, c'est que cette récurrence n'est pas juste une feature au pif qu'on fait en 2-3 lignes de codes. C'est une partie importante (ou qui peut le devenir).

Et, si c'est cool sur le papier, c'est moins cool quand on doit le développer. Parce qu'on sait que ça va être long et compliqué (et que ça me fait peur quand c'est long et compliqué).

Du coup, pour pas partir dans tous les sens (et pour me rassurer aussi), je me suis posée sur ce que je voulais vraiment faire.

Le postulat de départ que j'ai mis sur Github : 

  • Je peux créer une tâche récurrente et dire combien de fois / combien de temps je la veux
  • Je peux arrêter une tâche récurrente

Ensuite, j'ai commencé à faire les specs pour voir où j'allais vraiment : 

  • Je crée une tâche et je dis si elle est (ou non) récurrente.
    Si elle est récurrente :
    • j'ai une date de début et une date de fin
    • je donne la fréquence (quotidienne, hebdo, des jours spécifiques, mensuel)
  • Dans ma sauvegarde, pour chaque date, je vais créer une tâche dans task et dans core avec le statut nouveau

Ensuite, j'ai paniqué sur cette partie "des jours spécifiques" et j'ai fait un milliard de recherches sur internet.

figurez-vous que c'est pas si simple d'expliquer le besoin pour voir quel post stack overflow va pouvoir m'aider.

J'ai trouvé quelque chose mais je suis pas convaincue.

Alors j'ai supprimé cette personnalisation dans ma V1 de la feature (eh ouais, je fais qu'est-ce-que-je-veux)

Et je reprends mes specs : 

  • on pourrait faire un truc du type :
    • date de début
    • fréquence (case à coher ou select)
      • quotidien
      • hebdo
      • mensuel
      • annuel
    • date de fin
  • et derrière :
    • Je prends la date de début :
      • En fonction de la fréquence, j'effectue un calcul :
        • Q => date de début + 1 jusqu'à date de fin (avec un for($i = date de debut, $i < date de fin, $i++) => il faut peut-être deux boucles : une pour le jour, une pour le mois. A voir comment se comportent les dates
        • H => date de début + 7 jusqu'à date de fin
        • M => mois de la date de début + 1 jusqu'à date de fin
        • A => année de la date de début + 1 jusqu'à date de fin
      • Je mets ces dates + les taches et tout dans la boucle et j'envoie en base

C'est déjà moins complexe mais aussi moins personnalisé mais ça fait une bonne V1.

Et là, c'est parti. Je crée la tâche, la branche et je me dis "Go go go".

Mais .... en fait, comment je montre ça ? 

Et oui, une feature, même simple, ça se design dumbass.

Dumbass, c'est moi, hein, pas vous.

Vous vous auriez direct pensé à designer. 

Moi j'oublie.

C'est l'excitation du dev

Mais bon, hein, c'est pas comme si j'étais designer à la base

face-palm

Bref ... let's Figma tout ça

J'ai fait une V1 que j'aimais bien. 

Simple, clair, easy et baby-dev-friendly. Et oui, la partie developpement est aussi importante parce je suis pas ouf ouf encore. 

Desktop - 1

Et là, c'est vraiment dev-easy : 

  • Pas de javascript (c'est pas moi qui l'aime pas, c'est lui qui m'aime pas) avec des champs masqués ou une extension de la tâche classique.
  • 1 champ pour chaque chose et chaque chose dans son champ.

En gros, c'est vraiment une extension d'une tâche classique mais complètement séparée.

Puis je me suis dis : "C'est cool, mais sur mobile, c'est pas possible ça. ça passera jamais".

Alors j'ai fait une V2

Desktop - 2

 

Oui, c'est pas centré mais OSEF. 

Dans ma V2, on retrouve la même taille que la création de tâche classique et donc, je SAIS que ça passe en mobile.

Et pourtant, je la trouve un peu naze. 

Parce que soit je fais un "trou" après les points et ça rallonge de ouf ma pop-in, soit je laisse sans trou mais je trouve ça très confus. Passer du choix des points à la récurrence sans même une petite séparation, c'est un peu dur (je trouve).

Mais mon problème restait entier ... comment je le mets sur mobile moi !

Et là, je me suis dit "attends. Dans quel contexte tu as besoin de créer une tâche récurrente depuis ton mobile ?"

Et qui qui repart sur les specs ?

Le trop est l'ennemi du bien, TMTC

Me revoilà donc sur GitHub pour reprendre LES BASES

Le but de mon outil, c'est de m'entrainer à développer mais aussi de créer un outil qui réponde à mes besoins "sans en faire trop". C'est ce que je reproche à tous les outils du marché qui sont trop complets pour moi. 

(Si tu n'as pas suivi toute l'histoire, j'en ai parlé dans ces articles : 

fin de la )

Donc, mes specs. 

Pour savoir ce qu'il faut vraiment faire (ou ne pas faire), il suffit de poser une question simple : 

Quand ai-je besoin de faire une tâche récurrente ?

  • Quand j'ai un nouveau projet (gestion de projets)
  • Quand j'ai une nouvelle tâche / quand on arrive sur une nouvelle étape (recette d'un truc de façon éphémère, volonté d'une nouvelle habitude, etc)

Tout ça, ça se fait principalement sur desktop, et pas forcément sur mobile.
On peut imaginer le faire dans une pop-in avec un bouton sur la section droite du desktop et pas sur mobile.

Si besoin, on peut l'ajouter dans le menu du mobile.

Et voilà. Mon problème est réglé. 

shake-hands

 

Et maintenant, let's dev baby !

Et le temps n'était pas si long. 

Déjà parce que j'ai pu réutiliser des morceaux de code (nouvelle tache, pop-in) mais aussi parce que j'ai vraiment simplifié la feature pour qu'elle soit juste ce dont j'avais besoin. 

Et vous voulez voir le résultat ? 

Enregistrement de l’écran 2025-07-23 à 10.34.20

Et depuis la mise en prod (hier soir), je suis comme ça : 

so-happy

Et ça ne va clairement pas aller en s'améliorant !

Et maintenant, je fais quoi ?

Alors, je suis en phase d'apprentissage de Laravel pour arrêter de faire du n'importe quoi avec des petits bouts de code. Donc oui, il y aura une V3 de Moon sur Laravel pour avoir enfin quelque chose de safe. 

Je voudrais pas que le monde entier sache que je fais des points hebdos tous les jeudis 

giphy (2)

Mais avant de refaire Moon, j'ai au moins 10-15 idées de petits outils à faire avec Laravel. Et là, ce seront des outils que je partagerai ... donc stay tuned !

Et vous, vous faites quoi ?

Si vous voulez suivre mes aventures passionnantes et épiques dans mon combat avec le PHP, n'hésitez pas à me suivre sur Linkedin ou à vous inscrire à ma newsletter (que je n'envoie pas encore parce que personne ne s'inscrit)

Si vous êtes à la recherche d'un mouton à 12 pattes prêt à relever tous les défis de votre entreprise en design (je précise, je ne vends pas de dev, je suis pas encore assez capée), bigophonez-moi (wow la boomer) ou envoyez-moi un message. On s'appelle, on se fait un produit numérique !

Enfin, si vous voulez me témoigner votre soutien ou dire que ce que je fais, c'est nul (tout est possible sur internet), lâchez un comm' !

Allez, des bisous

Caro.

 

Comments