Changes to "Roadmap" between 2022-08-19 17:04:06 and 2022-08-26 02:00:40

18
19
20
21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
18
19
20
21
22
23
24


25

26



















































































27
28
29
30
31
32
33
34





























35
36
37
38
39
40
41







-
-
+
-

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-


+





-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-







| Tests unitaires | Inexistants ou presque | À écrire… | |
| Tests fonctionnels | Dépassés | À refaire | |

## Prochaines versions

### Version 1.2 — Refonte des membres + Formulaires et modèles de documents

#### Formulaires

Voir [](Changelog/1.2) pour la liste complète.
Voir [la documentation des formulaires](Documentation/Formulaires) pour plus de détails.

Les squelettes Brindille sont désormais utilisables dans l'administration de l'association. Ils permettent de créer et modifier des formulaires et modèles de documents simples, à imprimer, mais aussi de créer des "mini-applications" directement dans l'administration.

Exemples fournis :

* Reçu fiscal
* Reçu de don simple
* Devis et factures
* Liste de contacts
* Cartes de membres

Ces exemples sont développés directement avec Brindille et peuvent être modifiés depuis le menu **Configuration**, onglet **Formulaires**.

Un squelette déjà fourni dans Garradin peut être modifié, et en cas de problème il peut être remis à son état d'origine.

Autres exemples d'utilisation :

* Déclaration liste dirigeants à la préfecture
* Compte de résultat et bilan conforme au modèle du plan comptable
* Formulaires sur le site web
* Gestion de matériel

* Utilisation de la syntaxe Brindille
* Possibilité d'accéder aux données sauvegardées du formulaire en [JSON avec SQLite](https://www.sqlite.org/json1.html)
* Ajout section `{{#load key="doc42"}}{{$title}}{{/load}}`
* Ajout fonction `{{:save key="doc42" title="Toto"}}` qui permet d'enregistrer un formulaire en base de données

#### Autres modifications

* Ajout d'une image de signature dans **Configuration** > **Personnalisation**

#### Webmasters et développeurs

* Les squelettes par défaut du site web ont été déplacés : ils ne sont plus dans `www/skel-dist` mais dans `skel-dist/web` (ce changement ne devrait avoir aucun impact)
* Les squelettes utilisateur du site web qui étaient dans `skel` ont été déplacés dans `skel/web`
* L'inclusion de squelette (`{{:include file="fichier.html"}}`) étant absolue à la racine `skel` par défaut, les anciens appels `include` des squelettes du site web ont été modifiés pour être relatifs au répertoire courant (`skel/web`) pour continuer à fonctionner.

#### Brindille

* Ajout des fonctions `input`, `link`, `linkbutton`, `icon`, `button`, `error`, `save`, `read`, `admin_header`, `admin_footer` et `signature`
* Ajout des filtres `money_raw`, `spell_out_number`, `parse_date`, `math`, `money_int`, `strpos`, `substr`, `strrpos`, `boolval`, `intval`, `floatval`.
* Ajout des sections `load`, `users`, `transactions`, `transactions_users`
* Ajout du support de `having` dans les sections `sql`
* Amélioration des fonctionnalités de `assign`

Voir la référence de Brindille pour les détails.

#### Modernisation de la gestion des membres

* Sécurité : ajout d'un journal des actions utilisateur, permettant de voir ce qui a été effectué par qui et quand
* Sécurité : ajout d'une limite au nombre de connexions infructueuses

* Améliorations recherche :
  * affichage du nombre de résultats
  * tri simplifié, par colonne
  * pagination
  * possibilité de sélectionner des colonnes à afficher dans le résultat de la recherche (sans rechercher dans ces colonnes)
  * export de la recherche (CSV/ODS/XLSX)

Membres :

* Refonte du code de la gestion des membres
* Refonte de la modification des fiches de membre :
  * possibilité de ré-ordonner les champs dans les fiches par drag-and-drop
  * on peut définir la valeur par défaut d'un champ membre [](725e75351d4de624245b2ff80b49544f548604db) 
  * simplification : champ privé / champ caché deviennent modification / visibilité par administrateurs ou par le membre
  * nouveau type de champ : mois et année
  * nouveau type de champ : "calculé", permet de créer un champ dont la valeur est générée à partir d'un autre champ, en utilisant le langage SQL (colonne de type GENERATED), permet notamment de fournir par défaut une colonne "Âge" qui converti la date de naissance en âge.
* Affichage du nom de la catégorie du membre dans la colonne de la recherche avancée
* Possibilité de faire une recherche avancée en utilisant l'inscription à une activité  [](97c2d18bbc)
* Possibilité d'envoyer un message collectif aux membres inscrits à une activité
* On peut désormais avoir plusieurs adresses email par fiche membre [](97c2d18bbc), chaque adresse recevra les messages envoyés
* Possibilité de rattacher des membres à d'autres membres, cela permet notamment de créer des "familles" de membres, ou autre structures similaires.

Sécurité :

* Refonte et simplification de la page "mes informations de connexion et de sécurité"
* Ajout d'un bouton permettant de déconnecter toutes les sessions actives dans la page "mes informations de sécurité"
* Désormais si une clé PGP a été fournie par le membre, tous les mails envoyés au membre seront chiffrés (y compris les pièces jointes)

Divers :

* Amélioration visualisation des droits des membres (icônes + changement des couleurs)

À faire :

* Support de WebDAV pour accéder aux documents
* Date de modification d'une fiche membre [](eb40b2de1)
* Indique le nombre de membres par catégories dans la partie membres [](47aaac6782)
* Import de membres : afficher toutes les erreurs d'un coup [](928c70ca27)
* possibilité d'importer la catégorie du membre depuis un CSV, cf. <https://fossil.kd2.org/garradin/tktview?name=8136fedb24>
* envoyer un e-mail depuis une recherche/liste de membres

Webmasters :

* La constante de configuration `PREFER_HTTPS` a été supprimée, la définir n'a plus d'effet. Si vous n'êtes pas encore 100% en HTTPS, utilisez une redirection d'URL via le serveur web.

Plugins :

* **Important :** dans le fichier `garradin_plugin.ini` de chaque plugin, renommer `nom` en `name` et `auteur` en `author`
* suppression du signal `membre.nouveau`, utiliser `entity.Users\User.save.after` à la place
* suppression du signal `membre.suppression` utiliser `entity.Users\User.delete.after` à la place
* le signal `motdepasse.compromis` est renommé `password.check`

Développeurs⋅ses :

* La classe `Membres` disparaît et est remplacée dans ses fonctionnalités par `Users\Users`
* La classe `Recherche` est séparée en plusieurs : une entité `Search` représentant les recherches enregistrées, et des classes `AdvancedSearch` pour le formulaire de recherche avancée
* La classe `Membres\Champs` disparaît, ses fonctionnalités sont dans la classe `Users\DynamicFields`
* La classe `Membres\Session` est renommée `Users\Session`
* Une entité `Users\User` a été créée pour représenter un membre
* Les propriétés de la classe `Config` ont été renommées en anglais, notamment `nom_asso`, `email_asso`, etc. qui deviennent `org_name`, `org_email` etc.

SQL :

* Une table `config_users_fields` a été créée, elle contient la liste des champs d'une fiche membre, et remplace la variable de configuration `champs_membres` dans l'objet `Config`
* La table `membres` a été renommée `users`
* La table `recherches` a été renommée `searches` et ses colonnes ont aussi été renommées en anglais
* La table `plugins_signaux` a été renommée `plugins_signals` et ses colonnes ont aussi été renommées en anglais
* Une table `logs` contenant un journal des actions utilisateur a été créée



### Version 1.4 — Amélioration site web

Site web :

* Re-design formulaire édition de page web