betagouv / aplypro

Aplypro - Allocation pour les lycéens pro
4 stars 3 forks source link

Accès aux DA par l'ASP #426

Closed JeSuisUnCaillou closed 5 months ago

JeSuisUnCaillou commented 7 months ago

Recommander cyberduck ou mountainduck ou s3browser comme UI d'accès pour l'ASP (accès restreints par IP)

Tester si il est possible de facilement trouver une DA via une UI d'accès

### Tasks
- [x] Recherche de solution
- [x] Créer une application Scalingo pour nextcloud
- [x] Installer le next cloud sur Scalingo
- [x] Créer un bucket de test sur OVH
- [x] Ajouter le bucket de test S3 sur Nextcloud
- [ ] Réussir à lancer correctement le cron
- [ ] Créer un compte utilisateur Nextcloud en lecture sur le bucket
- [ ] Reset le mot de passe administrateur
- [ ] Créer les comptes admins (4 comptes Denis, Julien, Valentin, Stéphane)
- [ ] Réussir à lister les fichiers du S3 dans le bucket de pro
- [x] Créer un accès lecture seul au bucket S3 OVH
- [x] Setup le bucket AplyPro sur NextCloud
- [ ] Créer un compte accès externe en lecture seul sur nextcloud
- [ ] Ajouter un mot de passe nginx
- [ ] https://github.com/betagouv/aplypro/issues/453
jdauphant commented 7 months ago

Solutions à explorer so-far :

  1. Nextcloud sur Scalingo :
  2. filestash docker sur Clever Cloud https://github.com/mickael-kerjean/filestash/ (il y a un state de l'app dans des fichiers)
  3. https://github.com/cloudlena/s3manager?tab=readme-ov-file
    • Un peu trop basique
  4. implémentation Ruby de l'explorer

Solution non retenable techniquement :

  1. filestash adapté sur Scalingo (pas de procédure d'installation fournit à part le Dockerfile) -> Filestash stock des fichiers en dur pour son état
mickael-kerjean commented 7 months ago

Bonjour, je suis tombé sur ce repo en faisant une recherche google sur Filestash. 2 petites infos:

  1. le docker c'est just 1 moyen de faire l'install et qui est open source mais il y en a d'autres comme l'installeur deb, rpm ou le fat binary. Si vous avez besoin d'une build hors docker, je peux vous donner ca sans soucis

  2. "Filestash stock des fichiers en dur pour son état": c'est le cas de la build par default puisque par default l'idée est de faire les choses au plus simple pour les gens avec des requirements simple. En verité il y a d'autres plugins dediés comme stockage de config sur s3, secret manager et variable d'environement. J'ai un client qui voulait faire des trucs plus custom également mais je ne peux pas en parler puisque je suis sous NDA mais toutes les options sous sur la table pour ce qui concerne gestion de config et plus generalement du state

Bref Filestash peut etre monté comme une boite de lego pour faire ce que l'on veut, la stockage de config est juste une option mais il y en a plein d'autres. D'ailleurs les plugins qui sont installés sont visible sur la page /about de votre installation et on peut swapper ce que l'on veut pour s'adapter a un gros paquet de besoin puisqu'il n'existe pas un setup qui va a tout le monde (et donc l'idee des plugins pour ajouter/enlever/modifier les fonctions de base)

Par exemple si on parle du secteur de l'éducation, j'ai fais pour le MIT (qui a ecrit sur nous) un plugin 2FA qui se calle sur le backend NFS mais qui pourrait faire exactement pareil pour du S3. En restant dans le secteur de l'education, je travaille en ce moment meme avec l'universtité de californie irvine qui veut mettre en place un Filestash dans leur HPC qui traite plus de 15PB de data et mettre ca a disposition de tous les etudiants en utilisant des trucs du genre beegfs et IBM gpfs. En France, dans l'education, il y a quelques universités qui sont sur Filestash (mais qui contrairement aux US ne paye pas le moindre centime), on a insa toulouse, et un paquet d'autres que j'avais decouvert via shodan.io mais egalement a l'etranger comme l'universite de Shangai qui maintient son propre fork de Filestash

JeSuisUnCaillou commented 6 months ago

L'accès aux DA sera finalement fait par une interface d'admin : https://github.com/betagouv/aplypro/issues/530

JeSuisUnCaillou commented 6 months ago

Utiliser le numéro de DA au lieu du numéro de dossier. afficher le asp_prestation_dossier_id de chaque pfmp => s'appelle numéro de dossier