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.
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.
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.
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
).PATCH version
: (4.0.0 > 4.0.1
)MINOR version
: (4.0.0 > 4.1.0
)MINOR version
, sinon, c'est uneMAJOR 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
[aucune solution à ma connaissance à ce jour]
[en cours de test avec GSUnit]
[proposé par Franck Dillies, implémenté dans la 5.0.0]
[proposé par jief l, implémenté dans la 4.2.0]
[implémenté dans la 5.1.0]
[implémenté dans la 5.0.4]
minprice
etmaxprice
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