Améliorations
Envoi de SMS
De nombreuses personnes ont demandé à ce que R.A.S. puisse envoyer des SMS en plus des courriels. C’est maintenant possible pour les clients de Free Mobile, grâce à l’interface de programmation (API) mise en place en juin par l’opérateur.
Pour activer ce service, les utilisateurs concernés doivent indiquer qu’ils sont clients de Free Mobile et remplir le nom d’utilisateur et la clé d’accès au service.
Afin de supporter d’autres opérateurs éventuels, j’ai d’ailleurs écris une mini bibliothèque fournissant une seule API pour l’envoi de SMS : SMSForward. Pour le moment seul Free Mobile est supporté, mais j’espère ajouter la prise en charge d’autres opérateurs lorsque ceux‐ci mettront une API à disposition.
Prise en charge des fuseaux horaire
Depuis la version 0.4, RandoAmisSecours est capable de gérer les fuseaux horaires correctement. Cependant ceux‐ci ne fonctionnent correctement que si chaque utilisateur a bien indiqué le fuseau horaire dans lequel il se trouve.
Avec la version 0.5, ce champ est devenu obligatoire. Les anciens utilisateurs sont donc automatiquement invités à mettre cette information à jour lors de la prochaine connexion.
Du code JavaScript détectant le fuseau horaire actuel du navigateur Web a été ajouté afin d’aider l’utilisateur à choisir le bon fuseau horaire.
Traductions
Une nouvelle traduction apparaît. Après l’anglais et le français, voici l’espagnol ! Merci beaucoup à sebbcn pour cette contribution.
Site officiel
J’ai migré le site officiel de R.A.S. vers un domaine dédié : randoamissecours.org. J’en ai profité pour utiliser un certificat StartSSL. Celui‐ci est supporté pas la majorité des navigateurs Web et présente le gros avantage d’être gratuit.
J’ai profité de l’occasion pour améliorer le score du site au SSL Test en suivant les conseils de Mozilla sur la configuration Apache.
Android
J’ai commencé le développement d’une application Android pour R.A.S. Pour le moment, l’application permet juste de se connecter au site et de lister ses sorties et celles de ses amis.
À terme, j’espère pouvoir ajouter les fonctionnalités suivantes :
- synchronisation régulière avec le serveur ;
- affichage d’une alerte en cas de retard sur une sortie de l’utilisateur ;
- clôture d’une sortie de l’utilisateur ;
- affichage d’une alerte en cas de retard sur une sortie d’un ami de l’utilisateur ;
- création d’une sortie.
Cependant le développement Android est nouveau pour moi (autant le langage Java que l’API Android), donc l’application avance très lentement. Si une personne souhaite contribuer à ce projet, je suis très intéressé !
Le code source est disponible sur la page GitHub de RandoAmisSecours Android.
Un peu de technique
Pour rappel, R.A.S. est développé en Python (2.6, 2.7, 3.3, 3.4 et PyPy) et basé sur le célèbre cadriciel Django (version 1.6).
Travis CI
À chaque push sur GitHub, une suite de tests est lancée par Travis CI.
Ceci permet de détecter rapidement des régressions dans des configurations que je ne teste pas régulièrement : base de données PostgreSQL ou d’autres versions de Python.
landscape.io
J’ai récemment découvert landscape.io, qui permet de faire tourner plusieurs analyseurs statiques sur votre code Python. Les résultats sont visibles sur la page de R.A.S..
Les résultats ne sont pas à la hauteur de ce que propose Coverity pour le language C/C++. Cependant, landscape.io permet de détecter un ensemble de mauvaises habitudes qu’il est bon de corriger.
Par la suite
RandoAmisSecours commence à prendre un petit peu d’âge et est maintenant régulièrement utilisé par un petit groupe d’amis.
Ceux‐ci me demandent donc les améliorations suivantes :
- choix d’une personne référente (parmi vos amis) pour une sortie, qui sera alors la seule à recevoir les alertes, et qui doit au préalable accepter d’être le référent sur cette sortie ;
- indiquer les amis participant à une même sortie, les alertes seront alors envoyées à tous les amis des utilisateurs participant à la sortie ;
- création d’une liste de description type pour chaque activité. Pour la spéléologie par exemple, le Secours Spéléo attend un certain nombre d’informations lors de l’alerte qu’il serait bon de rappeler.
Et bien d’autres améliorations, voir la page de suivi de problèmes de GitHub.