|
2 months ago | |
---|---|---|
.vscode | 4 months ago | |
config | 4 months ago | |
controller | 2 months ago | |
front@f14880ae7c | 2 months ago | |
importer | 2 months ago | |
model | 2 months ago | |
static/pdf | 6 months ago | |
view | 2 months ago | |
.dockerignore | 2 months ago | |
.drone.yml | 2 months ago | |
.gitignore | 2 months ago | |
.gitmodules | 6 months ago | |
.golangci.yml | 3 months ago | |
Dockerfile | 2 months ago | |
README.md | 8 months ago | |
doc.go | 2 months ago | |
docker-compose.yml | 2 months ago | |
go.mod | 2 months ago | |
go.sum | 2 months ago | |
hackeduc_test.go | 4 months ago | |
login_test.go | 4 months ago | |
main.go | 2 months ago |
L'ouverture de tickets en cas de bug est acceptée, mais aux vues de la licence actuelle du projet, nous ne pouvons accepter les demandes de pull request.
N'hésitez pas à demander d'utiliser de nouvelles librairie qui vous faciliteront le travail de contribution. Rappelez vous cependant que nous essayons d'utiliser le moins possible de code en dehors de la librairie standard afin d'avoir le moins de dette technique possible envers telle ou telle librairie. Vous êtes encouragé·e à développer vos propres librairies si vous pensez que c'est pertinent, en respect avec les conventions établies et que la licence utilisée soit compatible avec le projet, où à proposer des librairies dont l'usage répandu.
A l'intérieur du sous dossier config/
vous aurez besoin de fichiers de configuration qui contiendront les champs suivants.
La première partie regroupe les champs obigatoires, la deuxième partie les champs optionnels
{
// Partie obligatoire
"database_filename": "test.db", // Le nom du fichier de base de données à utiliser. Il est recommandé de le changer lors de tests. Il se situera dans le sous dossier database/
"hostname": "example.com", // Le nom de domaine du site
"mailer_config": "amazon_ses_production.json", // Le nom du fichier de configuration amazon SES. Si vous utilisez différents comptes/IAM-users selon si vous faites des tests ou pas, vous devriez avoir différents fichiers de configuration. Il se situera dans le sous dossier config/
"mailer": "no-reply@example.com", // L'adresse utilisée pour envoyer les mails
"mailer_notification": "webmaster@example.com", // L'adresse à laquelle les notifications d'état du serveur seront envoyées
// Champs non obligatoires. Leur valeur par défaut est considérée comme sûre et ne devraient donc être modifiés que si vous êtes sûr⋅e de ce que vous faites ou que les commentaires suivant indiquent le contraire
"mail_validation_length": 16, // Taille d'un token de validation pour confirmer son email
"password_minimum_length": 8, // La taille minimum d'un mot de passe
"totp_backup_length": 8, // La taille du code de récupération utilisé par TOTP
"totp_length": 20, // La taille du secret utilisé par TOTP en octets
"argon": // Configuration de l'algorithme de hashage des mots de passe. Chaque sous champ est optionnel
{
"argon_time": 3, // Le nombre d'itération de l'algoritme
"argon_memory": 524288, // 512*1024. Équivaut à 512MiB de mémoire. Devrait être modifié pour utiliser le plus de mémoire possible selon la machine
"argon_threads": 8, // Nombre de CPU à utiliser. La valeur par défaut est runtime.NumCPU() qui devrait renvoyer le nombre de coeurs logique du processeur. Si vous voulez configurer cette valeur, ou que la valeur par défaut échoue, commencez à 1 et incrémentez là de 1 en 1 jusqu'à obtenir la valeur maximum utilisable avant que le hashage n'échoue
"argon_key_len": 32, // La taille de clef à générer.
"argon_salt_len": 16 // La taille du salage
}
}
Les champs non utilisés ne sont pas requis.
{
"aws_region": "eu-west-2", // Region aws
"iam_username": "ses-smtp-user.XXXX", // Actuellement non utilisé
"iam_key": "XXXXXXXX", // La clef de votre utilisateur racine/utilisateur IAM (Il est recommandé d'utiliser un utilisateur IAM avec uniquement les permissions nécéssaires pour envoyer des mails)
"iam_secret": "XXXXXXXX", // Le secret de votre utilisateur racine/utilisateur IAM
"smtp_username": "XXXXXXXX", // Actuellement non utilisé
"smtp_password": "XXXXXXXX", // Actuellement non utilisé
"smtp_host": "email-smtp.eu-west-2.amazonaws.com", // Actuellement non utilisé
"smtp_port": "25" // Actuellement non utilisé
}
Ne sachant pour l'instant pas sous quelle forme nous relâcherons la plateforme, elle n'est pour l'instant pas licenciée, et donc à considérer comme ne devant inclure que des librairies compatibles avec un logiciel propriétaire.
A l'heure actuelle (commit d9dd51a323
) toutes les dépendances sont sous licence MIT, Apache-2, ou BSD-3, ce qui est compatible avec nos besoins de licenses.
Je vais contacter Ol pour voir s'il est possible de mettre en place un moyen contractuel de léguer les droits à hackeduc, ou 42, ou de passer en logiciel libre et open-source.