New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vision et évolutions futures ? #2

Open
maximelebreton opened this Issue Jun 14, 2016 · 0 comments

Comments

Projects
None yet
1 participant
@maximelebreton
Owner

maximelebreton commented Jun 14, 2016

Suite à une conversation commencée dans les commentaires de ce post, je tenais à clarifier mon intention à propos de cette version, et ma vision concernant ses évolutions futures.


Pourquoi cette version ?

Partant du constat que le script alertes-leboncoin devait être adapté de plus en plus régulièrement, et qu'il devenait vraiment compliqué de trouver une version stable, du fait d'un code très fragile, et d'un problème d'organisation entre les différents contributeurs, j'ai décidé de prendre les choses en main pour créer une version opinionated, qui se veut stable et facilement maintenable.

Le code a donc été intégralement réécris pour répondre à ces principes :

Simplicité

Un libellé, une url, une adresse mail, et ça marche.
Une nouvelle fonctionnalité est envisagée que si elle ne nuit pas à la simplicité de l'ensemble.

Souplesse

Prendre en compte les différents usages, en proposant des paramètres pouvant être modifiés par l'utilisateur, tout en veillant à ne pas tomber dans des cas trop spécifiques qui complexifieraient de manière trop importante le code existant.

Maintenabilité

Bien que je sois encore loin de les maitriser, j'ai tenté d'appliquer deux des trois principes utilisés par Redux, à savoir :

Stabilité (mises à jour & versioning)

Le code étant maintenant centralisé en tant que librairie, les mises à jour doivent suivre les principes du semantic versioning (MAJOR.MINOR.PATCH).

  • Si elle concerne la résolution d'un bug, c'est une PATCH version : (4.0.0 > 4.0.1)
  • Si elle concerne une nouvelle fonctionnalité, sans modification de la feuille de calcul, c'est une MINOR version : (4.0.0 > 4.1.0)
  • Si elle concerne une nouvelle fonctionnalité qui demande la modification de la feuille de calcul sans casser la compatibilité avec les anciennes feuilles, alors c'est une MINOR version, sinon, c'est une MAJOR version : (4.0.0 > 5.0.0).

Si les contributions que vous souhaitez apporter diffèrent de ces principes, je vous suggère de créer une branche séparée, ou votre propre fork.


Comment contribuer ?

Sachant que Google App Script ne propose pas d'outil de versioning type Git, je passe par node-google-apps-script pour envoyer ou récupérer les fichiers en ligne, ce qui me permets de pouvoir maintenir un repo git de manière semi-automatique.

Donc n'hésitez pas à envoyer des pull request.

Les points à améliorer

  • Auto-update de la librairie côté utilisateur [aucune solution à ma connaissance à ce jour]
  • Implémentation de tests unitaires [en cours de test avec GSUnit]
  • Possibilité de définir différents destinataires par recherche [proposé par Franck Dillies, implémenté dans la 5.0.0]
  • Revoir l'utilisation du dernier id comme référence pour connaitre les nouvelles annonces [proposé par jief l, implémenté dans la 4.2.0]
  • Notificaton de mise à jour disponible en bas de mail
  • Email full responsive
  • Callbacks faisant appel à des custom functions locales [implémenté dans la 5.1.0]
  • Limiter les autorisations d'accès (seulement ce document) [implémenté dans la 5.0.4]
  • Filtrer les annonces via un minprice et maxprice plus souple que celui du site leboncoin [implémenté dans la 5.2.0]

N'hésitez pas à réagir directement via les commentaires ou en créant une nouvelle issue


@maximelebreton maximelebreton changed the title from Vision et évolutions futures de la version 4.x ? to Vision et évolutions futures de la version 4 ? Jun 16, 2016

@maximelebreton maximelebreton changed the title from Vision et évolutions futures de la version 4 ? to Vision et évolutions futures ? Aug 22, 2016

@maximelebreton maximelebreton self-assigned this Dec 20, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment