-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intégration à Yunohost #395
Comments
👍 Au besoin, n'hésite pas à me pinguer pour le PHP etc. |
Cette distribution installera-t-elle automatiquement une instance ou bien on arrivera à l'écran d'installation ? Je suppose que pour une bonne intégration, il faudrait pouvoir faire une installation batch afin d'avoir directement une instance utilisable. Si les paramètres de base de données peuvent être choisis automatiquement, il restera à pouvoir changer le thème avant l'installation et paramétré par le gestionnaire de la distribution. Éventuellement, ça préparerait à l'intégration dans Debian et autres... |
La dsitribution installe automatiquement Leed (donc script bash automatisant la chose, c'est prévu dans le package en fait). Du coup je pense coder un petit plugin qui permettrai au premier lancement de choisir ce genre d'options :) Je vais me baser sur le script d'installation d'autres softs similaires pour avoir une bonne base. Si ça en intéresse le dépot sera ici : https://github.com/tmos/leed_ynh |
Bien :-) Je suis l'opération. Merci ! |
Yunohost fonctionnant avec Nginx, est-ce qu'il y à une config particulière à effectuer pour que Leed fonctionne avec ? Je n'ai jamais testé avec autre chose que apache... |
Salut les gars. Utilisant Leed depuis la version 1.0 et depuis peu yunohost, je me suis penché sur l'intégration de Leed dans yunohost. En l'état, ça fonctionne déjà sans problème. En tout cas, merci pour ce super agrégateur, il est parfait! |
Yunohost authentifie en HTTP l'ensemble de ses services, c'est ça ? Comment ça se passerait ? |
Je ne suis pas un expert de l'http auth (loin de là!), mais je crois avoir compris qu'en effet le SSO de yunohost authentifie ensuite en header http. |
Alors, il faudrait tester si le serveur web a authentifié quelqu'un sous le nom d'utilisateur pour accorder l'accès ? |
Dans ce que j'utilise pour le moment, il y a roundcube et owncloud qui profite du SSO. https://github.com/Kloadut/roundcube_ynh Mais les 2 utilisent également ldap. Le problème c'est que je suis plus shell bash que php etc. Et à l'heure actuelle, tout cela me dépasse. |
L'application Android passe uniquement par l'API d'authentification. Par contre, je pourrais peut-être implémenter un mécanisme similaire... |
Je ne sais pas si la version multi-user est prévu avec un support ldap (ce qui simplifierait sans doute notre affaire). En effet, si l'app est gardée en mode privée, elle ne sera accessible qu'après connexion sur le sso yunohost, ce qui exclue donc des problèmes de sécurité. De mon côté, je vais tenter de voir avec un ami qui fait du dev web si il connait un peu ce type d'authentification. |
Ce serait effectivement plus simple de supprimer l'authentification. Je regarde comment je peux implémenter ça. |
Ya des bons jours comme ça où on tombe sur la bonne personne! Un dev de yunohost m'a expliqué tout ça: (enfin moi, perso, j'ai rien compris ;) ) Le SSO de yunohost s'occupe de la prise en charge de ldap et de l'authentification de l'user. L'app n'a seulement qu'à s'occuper de la partie http auth. Et ce serait aussi simple que cela (point de vue de dev web évidemment!): Il m'a donner également les liens de 2 app qu'il a modifié pour gérer cela: Je cite: une modif d'une branche "multiuser" de shaarli pour qu'il supporte le sso de ynh et ne demande aucun login : https://github.com/julienmalik/shaarli_ynh/blob/master/sources/index.php#L458 |
Je peux ajouter dans Leed cette vérification. Question aux développeurs : peut-on vérifier systématiquement l'authentification HTTP ou faut-il l'activer sur demande ? Si c'est systématique, il y a peut-être des effets de bord à craindre. Sinon, il faut prévoir l'option qui va bien. |
Salut, je pense que tu peux vérifier ça systématiquement. A mettre en dev et on effectuera les tests afin de savoir si on a des effets de bord. |
Fait (841719a). Il n'existe pas de connexion anonyme à Leed, aussi il faut que le compte existe côté HTTP et côté Leed. |
Quelle efficacité! Puis-je intégrer ce User.class.php ou juste la modification dans ma version 1.6.1 pour yunohost sans régression sur l'ensemble du logiciel? Je voudrais tester cette modif en conditions réelles. |
Tu peux passer ça directement en production. Je n'ai pas trouvé de cas de régression fonctionnelle ou de sécurité. Le fait de restreindre la connexion par rapport au login empêche le déclenchement intempestif ; par exemple, une zone pourrait être restreinte par mot de passe HTTP et plusieurs utilisateurs pourraient avoir leurs applications dans cette zone. Avec l'obligation d'avoir un compte qui existe, pas/peu de risques de chevauchement. Enfin, si : si l'admin qui contrôle l'auth HTTP se crée un compte exprès pour aller dans Leed... |
Bonsoir la modif de User.class.php fonctionne parfaitement. Sauf remontée de bug dans les scripts d'install, Leed est en bonne voie pour être intégré dans Yunohost. |
Si l'installation côté leed pose problème, même si ce n'est pas lié directement a leed, je peux peut-être arranger ça. |
L'install de leed en elle même fonctionne très bien. A présent, j'attends plutôt des remontés de bug sur mon script d'install. |
salut, très bonne nouvelle. Pour la langue, elle doit normalement être en base de données : Table configuration (key : language / value : fr ou en ou es ...) tu as mis quelle version de Leed ? la v1.6 ? |
Version 1.6 oui. |
ok. je me trompe surement mais pour info, dans les versions suivantes (branche dev), ne restera que les infos de connexions à la BDD et la gestion des versions. Tu devras refaire un travail d'adaptation pour l'installation ;) |
Je confirme. J'ai laissé la consultation de la langue du constant.php pour la compatibilité. Plus tard, ne devraient y rester que la connexion à la base de données et les numéros de version. |
Il n'y a que la langue que je passe sur le constant.php Toutefois, je n'arrive pas à choisir la langue en curl. Ça ne fonctionne tout simplement pas! Puis-je trouver un autre moyen de changer la langue? Ou une autre variable à renseigner dans la page? |
Bizarre ! Le paramètre install_changeLngLeed sert pourtant bien à régler la variable language dans la table des paramètres : https://github.com/ldleman/Leed/blob/841719a25e3753b0c50275bed62c29a55aa21bb9/install.php#L208 |
C'est peut-être en rapport avec le fait que choisir la langue recharge la page. En gardant le cookies, je peux peut-être tenter de dissocier l'appel en 2, avec un premier pour la langue et le second pour le reste de la config. |
Ah okay, je vois ! Le passer en GET fait effectivement recharger la page puisque c'est compris comme un changement dans la liste déroulante ; il faut donc recharger la page pour changer la langue choisie, et ses traductions. Passe plutôt install_changeLngLeed en POST. |
Ok, je vais voir comment faire ça |
En fait, il suffirait de faire pareil qu'avec tous les autres paramètres de l'installation. |
Actuellement, il est passé comme les autres paramètres. Je commence les tests présentement... |
Bon il semble que j'ai trouvé la commande curl qui va bien \o/ Mais ça soulève un second problème... |
Cette ligne concerne les traductions. Le code de synchro est disponible dans la table des paramètres. |
Oui je sais, je me sert de la traduction pour retrouver le code de synchro dans la page de préférence. Mais justement là, je me bat avec mysql pour tenter de récupérer le code dans la bdd, ça m'évitera des problèmes de traduction et d'encodage dans le script. |
Je bloque sur cette commande Mais je n'ai pas le problème si je fais un where sur l'id 15. Cet id reste toujours le même ou est-il sujet à des variations? |
@maniack : fais gaffe, tu viens de donner le pass de ta base au monde entier… Sinon, pourquoi un LIKE ?Phyks On 23 août 2014 18:44:44 UTC+02:00, Maniack Crudelis notifications@github.com wrote:
|
C'est le mot de passe de la bdd de leed de ma virtual box, pas d'inquiétude ;) Un like car ça semble plus approprié pour le texte qu'un =. |
Like sert pour des comparaisons de textes. Par exemple : cherche tout ce qui finit par "SOME_TEXT". Un bête = devrait être suffisant. Après, je n'ai pas de quoi tester plus en détails ta requête pour l'instant :/Phyks On 23 août 2014 18:50:09 UTC+02:00, Maniack Crudelis notifications@github.com wrote:
|
Si j'utilise Penses-tu toutefois que l'id 15 est une valeur fiable? |
Je ne ferai pas confiance à l'id perso. Il n'a aucune raison d'être stable. Tu as bien mis des guillemets autour de tes chaines de caractères ?Phyks On 23 août 2014 18:55:45 UTC+02:00, Maniack Crudelis notifications@github.com wrote:
|
Avec des " " ou des ' ', j'ai toujours une erreur de syntaxe. Et même en échappant les guillemets... C'est sans doute lié à l'inclusion dans le -e. |
Ah ben oui, avec les guillemets, c'est ton shell qui les traite. Il faut les échapper du coup. Astuce : de bug avec la console MySQL, en lançant MySQL sans option -e et en tapant ta commande dans le prompt.Phyks On 23 août 2014 19:04:05 UTC+02:00, Maniack Crudelis notifications@github.com wrote:
|
Il faut utiliser des cotes pour encadrer le SQL car le caractère contre-cote ` serait interprété sinon. Pourquoi encadrer de contre-cotes le mot key ? Parce que c'est un mot clé SQL ! Pour bien dire que, non, ce n'est pas une commande SQL mais un nom d'objet, on l'encadre de cote. |
Ah non j'y crois pas... key est une commande sql... Mais ça va poser un autre problème, avec des simples quotes, je n'aurais plus l'interprétation des $ pour les variables. Merci de l'astuce! |
Oh mais en fait, les variables sont AVANT -e. Donc à présent, curl s'occupe du changement de langue et la code de synchro est récupéré dans la bdd. Parfait! |
Hmmm… J'espère que j'ai raté un truc mais cette ligne https://github.com/ldleman/Leed/blob/dev/User.class.php#L52 ne veut-elle pas dire: |
Effectivement. C'est exactement ça. Quand on met un htpasswd dans l'instance de Leed et que le nom d'utilisateur utilisé dans le htpasswd correspond à un nom d'utilisateur dans Leed, l'accès est autorisé. @tmos, ça en est où de l'intégration de Leed dans Yunohost ? |
Salut @Sbgodin, Leed est intégré à Yunohost et parfaitement fonctionnel. Il peut toutefois être installé depuis l'interface de Yunohost en utilisant l'adresse github. |
Excellent ^^ Du coup je peux fermer le ticket. |
Salut les contributeurs !
Je ne sais pas si vous connaissez yunohost : https://yunohost.org , c'est une distribution linux dédiée à l'autohébergement (merci @Phyks qui m'a fait découvrir ce projet).
Elle intègre de nombreux logiciels web pré-configurées, type owncloud, roundcube dokuwiki, tinytinyrss, jappix, etc.
Et dans la todo des applis à packager, on trouve notre Leed chéri !
Personne n'étant attribué à l'intégration Leed, je compte m'y mettre cet été (dès le début de mes vacances, d'ici 1mois et demi, 2 mois).
Étant le dev principad de Greeder, je compte bien intégrer mon thème dans le package ! Et si la #394 aboutit, j'espère bien être en mesure de laisser un réel choix à l'utilisateur (pas de mise en avant de Marigolds ou Greeder ou autre). Un peu l'écran de choix de navigateur de windows quoi :D
Bien évidement si d'autres créateurs de thèmes veulent intégrer les leurs, qu'ils me contactent, je me ferais un plaisir d'ajouter leurs travaux au package !
Dites moi ce que vous en pensez, au vu de la notoriété de cette distrib, je pense que ça peut ramener pas mal d'utilisateurs à Leed, et créer une bonne animation.
Quant au boulot d'intégration, je ne suis pas (encore :D) une brute en php, donc je prendrais le temps qu'il me faudra ! Je pense y arriver d'ici la fin de l'été, mais si quelques personnes veulent filer un coup de main, n'hésitez pas à me contacter, je mettrais en place le dépôt d'ici quelques jours.
Comme dit, je serais pleinement disponible d'ici 1mois et demi, 2 mois, mais j'attaquerais petit à petit dès que possible :)
The text was updated successfully, but these errors were encountered: