1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
|
# Documentation développeur⋅euse
## Design
* [Les principes derrière le design de Garradin](Design)
* [Réflexions sur la conception de la compta](Dev-Compta)
## Documentation approfondie
* [Les entités de base de données](Dev/Entités)
* [Développer avec Smartyer](Développer_avec_Smartyer), le moteur de template de Garradin (partie "admin")
* [Référence de Brindille](Documentation/Brindille), le langage de template utilisateur
* [Le format de stockage du contenu des pages web](Dev/Web)
* [Squelettes](Squelettes)
* [Développer un plugin](Plugins)
* [Les signaux des plugins](Dev/Signaux)
* [Evolution dans l'API des plugins avant la version 1.0](Plugins/Evolution) (à partir de la version 1.0 les infos sur les plugins sont dans le changelog)
* [Migrer un plugin de la version 0.7 vers la version 0.8](Plugins-0.8)
## Informations sur le projet
* Licence utilisée : Affero GPL v3 (basiquement identique à la GPL mais rajoute une obligation de distribuer le code pour une utilisation sur un serveur même si pas de distribution de binaire)
* Langage utilisé : PHP
* Versions supportées : 7.4 et supérieur
* Base de donnée utilisée : SQLite 3 (3.16 et supérieur)
* [Les principes derrière le design de Garradin](Design)
### Contacter les développeurs-euses
* Il existe deux listes de discussion : [aide](https://admin.kd2.org/lists/aide@garradin.eu) pour l'entraide entre utisateurs-trices, et patch@garradin.eu pour soumettre des contributions à Garradin
* Pour s'abonner à la liste patch, envoyer un email à patch-join@garradin.eu
* Sur IRC, discussions entre développeureuses : salon `#garradin` sur `irc.libera.chat`
* Aussi disponible via [ce webchat](https://kiwiirc.com/nextclient/#irc://irc.libera.chat/#garradin)
### Contribuer au code de Garradin
* On utilise Fossil qui sert de DVCS, wiki, gestionnaire de tickets, etc.
* On utilise SQLite3 comme base de données qui stocke tout : compta, membres, configuration, fichiers, wiki... Ainsi un seul fichier à sauvegarder et à gérer.
* On suit PSR-4 pour le nommage des classes et namespaces etc.
* Convention de code : principalement PSR-1 et PSR-2, enfin pas à la lettre mais globalement (certaines règles ne sont pas des plus pratiques).
* [Guide de style du code](?name=Guide de style du code)
* [Guide de style du code](Guide de style du code)
### Autres pages de la documentation développeur
* [Développer avec Smartyer](Développer_avec_Smartyer), le moteur de template de Garradin
* [Stockage des fichiers dans Garradin](Dev-Fichiers)
* [Squelettes](Squelettes)
* [Développer un plugin](Plugins)
* [Migrer un plugin de la version 0.7 vers la version 0.8](Plugins-0.8)
### FAQ
#### Comment installer une copie de la version de développement pour tester ?
* Télécharger le [ZIP du trunk](/zip/Garradin-trunk.zip?uuid=trunk)
* Dé-zipper le fichier
|