Garradin

Roadmap

Les bugs sont corrigés et publiés dans la version stable, les nouvelles fonctionnalités sont ajoutées dans la version de développement qui sera publiée quand les objectif de cette version seront atteints.

Version en cours de développement : 0.8.0

Amélioration environnement de développement

  • Compatibilité PHP : 5.4 à 7.1
  • Tests unitaires couvrant les fonctions de base ✓
  • Miroir github automatique à partir du repository fossil
  • Tests automatisés par Travis-CI ✓
  • Retour des données de DB sous forme d'objets au lieu de tableaux ✓

Bugs corrigés

  • Empêcher 1password de cliquer automatiquement sur les suggestions de mot de passe

Technique

  • Utilisation de password_hash à la place de crypt() pour gérer les mots de passe (si disponible) ✓
  • Utilisation de KD2\ErrorManager comme gestionnaire de bug ✓
  • Utilisation de KD2\Smartyer comme moteur de templates ✓
  • Support installation sans vhost pour Apache (expérimental) ✓
  • Ajout signaux pour plugins, voir [743d7e1483fc23c85bd66aa44bd5673479a88913]
  • Pour les fermes à Garradin il faudrait que les templates compilés soient partagés entre toutes les instances
  • Utilisation de KD2\Mustachier pour les templates de mails de rappel
  • Séparation classe Membres en "Membres" (gestion des membres) et "Session" (session courante du membre connecté)

Membres

  • Support authentification à double facteur pour se connecter (via OTP) ✓
  • Support chiffrement PGP des mails sortants, par membre ✓
  • Ajouter case "se souvenir de moi" pour rester connecté, avec un identifiant de session unique, qui est renouvellé à chaque fois qu'il est utilisé pour connecter l'utilisateur
  • Possibilité d'avoir des champs de type fichier dans les fiches de membre, permettant de joindre un scan ou une photo (trombi) par exemple [c41169057a3f198871cc82677cd331ae201b778f]
  • Possibilité d'utiliser un SMTP externe pour l'envoi de mails
  • Création d'une queue d'envoi des emails
  • Refonte de l'envoi de mail collectif : l'envoi se fera après sélection de membres

Squelettes

  • Stockage des squelettes dans la base de données
  • Mise à jour des squelettes par défaut pour gérer les fichiers, images et documents
  • Mise à jour de la doc pour les boucles de documents
  • Possibilité d'enregistrer ses propres extensions Skriv dans squelettes/mes_filtres.php (cf. [1c44dd7d62] )

Compta

  • Possibilité de joindre des fichiers à une écriture comptable

Plugins

  • Magasin de plugins dispo depuis la page extensions de la config (pas besoin de télécharger le plugin à la main et le recopier)
  • Les méthodes suivantes sont dépréciées dans la classe DB et seront supprimées dans Garradin 0.9.0 : simpleQuerySingle (remplacé par "first"), simpleStatement* (remplacé par query), queryFetch* (remplacé par "get"), escapeString (remplacé par "quote" et "escape"), simpleInsert (remplacé par "insert"), simpleUpdate (remplacé par "update").

Version suivante : 0.9.0

  • Version minimale supportée : PHP 5.6 (suppression du support pour PHP 5.4 et PHP 5.5)
  • Utilisation de générateurs dans DB (yield)
  • Tests unitaires plus avancés

1.0

  • Version minimale de PHP : 7.0
  • Modernisation des objets

Liste pêle-mêle des fonctionnalités prévues mais pas encore planifiées

Prioritaire

Documentation !

Securité :

  • OTP : Confirmer l'activation de 2FA en entrant un code OTP avant d'enregistrer secret_otp
  • OTP : Enregistrer des codes de secours à usage unique à utiliser en cas de perte du code secret qui génère des OTP

Comptabilité :

  • Balance initiale (à nouveaux) assistée après une installation vierge
  • Saisie simplifiée de créance, frais des bénévoles, etc.
  • Manipulation en masse d'opérations : changement de catégorie/compte, suppression, etc.
  • Archivage des données de l'exercice lors de la clôture
  • Suivre les instructions du ministère des finances concernant l'archivage des données comptable, cf. http://www11.minefi.gouv.fr/boi/boi2006/13rcpub/textes/13l106/13l106.pdf

Adhérents :

  • Inscription autonome en ligne
  • Possibilité de définir une page wiki utilisée comme "conditions d'inscription" à accepter

Divers

  • Possibilité de gérer les adhérents, la compta, le wiki etc. via la ligne de commande
  • Recherche de fichier

Moins prioritaire

Divers :

  • Possibilité de changer le design / logo de l'interface d'admin (CSS personnalisée)

Comptabilité :

  • Rapprochement automatisé/assisté
  • Lettrage
  • Import de fichiers QIF pour un compte bancaire (avec gestion des doublons etc.)
  • Budget prévisionnel
  • lier plusieurs cotisations à une écriture
  • supprimer une écriture comptable à la suppression d'une cotisation
  • supprimer une cotisation à la suppression d'une écriture comptable
  • lier plusieurs écritures à une cotisation

Articles/Wiki :

  • Suivi des contributions d'un membre (modifications de pages)
  • Possibilité de s'abonner et suivre les modifications d'une page (à la wikipedia)
  • Utilisation de l'algo delta de Fossil pour stocker des deltas pour les différences entre les révisions de page du wiki plutôt que stocker tout le texte

Adhérents :

  • Refonte de l'envoi de mail collectif avec sélection fine des adhérents à cibler
  • Envoi de mail par queue d'envoi et cron pour améliorer l'envoi à un nombre important de membres

Plugins :

  • Agenda collectif
  • Intégration de WebODF pour éditer/visualiser les documents Libre Office en ligne