Open-source

Nous avons développé durant des années le site en source fermée, et avons décidé durant l'été 2018 de le libérer. Le code source est donc désormais disponible librement sous licence GNU AGPL.

L'équipe compte deux développeurs aux manières assez différentes voire contradictoires en certains points et le code n'est pas organisé pour être compris facilement (l'essentiel consiste en des ajouts et réparations les uns sur les autres, et au final personne n'y comprend plus rien). La libération du code peut donc avoir peu de sens pour le moment, mais nous travaillons beaucoup à la réorganisation, pour avoir un design plus solide, logique, pratique, léger, sécurisé... enfin bref meilleur.

Organisation du code

Nous utilisons PHP et MySQL. Les fichiers d'index par défaut (lu par le serveur si l'adresse est celle d'un dossier) est accueil.php et accueil.html.

À la racine se trouvent les pages publiques en PHP ainsi que les fichiers utiles (comme l'icône ou quelques XML). Voici une liste des dossiers et de leur contenu :

Installation

apfr.sql contient les requêtes de création des tables de la base de données. Vous pouvez le supprimer après l'avoir importé. Entrez les identifiants du serveur MySQL dans /inclus/dbconnect.php.

La configuration du serveur doit interdire l'accès aux dossiers suivants : inclus, cache, tasks, files.

Le fichier /tasks/document_root.php contient le chemin absolu de la racine du serveur (valeur de $_SERVER['DOCUMENT_ROOT'], constante qui n'existe pas quand le script est lancé automatiquement.

Le fichier tasks.txt contient la liste des tâches à automatiser (avec cron par exemple).

Ce site contient beaucoup d'éléments dans la base de données, y compris des morceaux de code. Le contenu de la base de données n'est pas publié dans le code source. Nous allons éventuellement refaire l'interface d'administration pour la rendre plus intuitive pour ceux qui ne la connaissent pas, voire faire un assistant d'installation (il n'est pas encore possible d'installer le site sans toucher manuellement à la bdd).

Licence

ProgAccess V16.2 is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.

Vous avez le droit d'utiliser, d'étudier, de partager et de modifier le code. Mais si vous le publiez, vous devez citer les auteurs (l'équipe ProgAccess) et publier le code source sous la même licence ou une autre compatible. Il est également obligatoire de publier le code source modifié si vous l'exécutez publiquement sur un serveur.

Participer

Si vous avez le courage de télécharger et de décrypter notre code, nous serions très heureux que vous puissiez nous aider à intégrer de nouvelles fonctionnalités, chasser et réparer les bugs, organiser le code...

Dès que possible, nous installerons un bugtracker et créerons un dépôt Git pour faciliter le développement. Pour le moment, nous avons une zone dev publique mais à source fermée pour des raisons de sécurité (le code de la zone dev n'est donc pas soumis à la licence GNU AGPL). Il y a une todo-list (privée pour le moment) et une liste des changements (publique). Nous faisons des modifications en zone dev puis déplaçons tout simplement les fichiers en prod (appelé aussi, pâdev).

Télécharger

Les archives sont signées avec la clé de Pascal Engélibert.