Disclaimer : ma boîte fait un robot de production d'applis Rails 
automatique à partir d'une base de connaissances.
La première partie et la plus simple c'est de générer le modèle avec une 
BDD et réciproquement.

> Je viens de voir qu'il existait https://github.com/bosko/rmre et 
https://github.com/wnameless/rare_map
> permettant de générer des modèles à partir d'une base de données. Je 
pense que, si ça fonctionne bien,
> générer une application Rails à partir d'une base de données ne doit pas 
être trop dur.
> S'il y a du monde intéressé, je crois que je vais me lancer là dessus. Si 
ça vous intéresse, dites le-moi.

C'est facile, mais ça ne répond jamais directement aux besoins des clients.
De toutes façons nous les codeurs sommes rarement assez ergo/UX pour être 
bons là-dedans.
(il faudrait avoir X années d'expérience mais le codeur français est incité 
à devenir manager avant -- le plus souvent)

Fais gaffe à l'abus de métaprog, c'est une galère en perf et en sécu.
J'en parle justement au prochain ParisRB ;)

> La derniere fois que j'ai utilise une interface admin, j'ai remarque 
qu'il manquait
> la gestion d'images (pour une galerie photo par exemple). Je me rappelle 
que je
> devais uploader les images une a une

Il doit bien avoir des uploaders de masse.
Quand on a codé une sorte d'interface proche d'un filepicker ça ne nous a 
pas pris super longtemps.
Ajouter un upload "un seul fichier zip qui se décompresse côté serveur" 
n'est pas trop dur non plus.

> et il était assez difficile de modifier l'ordre des images dans l'album
> sans une lourde customisation.
Je crois que ça se code directement au cas par cas.
Ce qui sera bon pour ton 1er client ne le sera probablement pas pour le 
suivant.

J'ai aussi remarque que les interfaces admin étaient très difficiles a 
> comprendre pour les clients.
>

Pour les développeurs aussi : la plupart croient encore qu'on s'en sort 
avec une règle, puis une règle, puis une autre.
Alors que 9 fois sur 10 il leur faut une state machine.
 

> Au final, il fallait tout customiser voire réécrire completement 
> l'interface 
>
pour que l'utilisation soit suffisamment simple et que le client comprenne 
> comment l'utiliser.
> Par contre je n'ai aucune idée de comment implementer ca...
>

Les diverses solutions mentionnées ici sont pas mal.
Mais le souci c'est que tu as toujours des histoires de droits (clients, 
employés back-office, manager, admin) plus ou moins tordues.
À ce moment-là l'interface de chacun de ces 4 profils devrait pouvoir être 
différente, parfois subtilement, parfois drastiquement. 

++

On Saturday, May 2, 2015 at 1:30:08 AM UTC+9, Guirec Corbel wrote:
>
> Je viens de voir qu'il existait https://github.com/bosko/rmre et 
> https://github.com/wnameless/rare_map permettant de générer des modèles à 
> partir d'une base de données. Je pense que, si ça fonctionne bien, générer 
> une application Rails à partir d'une base de données ne doit pas être trop 
> dur.
>
> S'il y a du monde intéressé, je crois que je vais me lancer là dessus. Si 
> ça vous intéresse, dites le-moi.
>
> Le 28 avril 2015 19:20, Guirec Corbel <guirec...@gmail.com> a écrit :
>
>>  Dans le fond, la question est de savoir ce qu'est une interface 
>> d'administration idéal. Je ne pense pas qu'il faut absolument que ça soit 
>> une SPA. Je comprend l'utilité de l'API avec une séparation claire entre la 
>> vue et la logique serveur. La difficulté est surtout au niveau de la 
>> structure des modèles. C'est assez facile, avec Rails, d'utiliser 
>> `Model.columns` et `reflect_on_all_aggregations` pour avoir les 
>> informations nécessaire pour construire l'interface d'administration. Si on 
>> veut découpler la vue, il faut trouver un moyen de recevoir ces 
>> informations. Évidement, il est possible de faire une requête pour donner 
>> les informations mais je ne suis pas certain à 100% que ça soit la 
>> meilleure manière. Si vous avez des idées, je suis tout ouïe.
>>
>> Pour vous, c'est quoi l'interface d'admin idéal ?
>>
>> Je crois que c’est une bonne idée de pouvoir heberger la partie 
>> d'administration sur un autre serveur. Ça permet d'utiliser Heroku 
>> gratuitement étant donné que la rapidité n'est pas un élément critique et 
>> qu'il y a peu d'utilisateur simultané.
>>
>> Au niveau de l'interface, je trouve que celle que j'ai fait est bonne. 
>> J'utilise https://github.com/lorenzofox3/Smart-Table . Avez-vous de 
>> meilleurs idées ?
>>
>> Une plus-value que je pourrais voir serait le fait de comprendre la base 
>> de données. Je pense à un outil pour lequel il serait possible de générer 
>> les modèles à partir des tables trouvées. Par exemple, s'il trouve une 
>> table "users", il génére le modèle "User" en créant un fichier. À chaque 
>> fois qu'il trouve une colonne "association_id", il génère un "belongs_to" 
>> et un "has_many". Il y aurait un intérêt pour les applications non-rails. 
>> Dans l'idéal, il serait possible de générer une application contenant une 
>> interface d'administration en quelques instructions. La difficulté serait 
>> pour les différents standard mais j'imagine que faire les relations 
>> manuellement dans certain cas serait pas si mal. Évidement, pour 
>> personnaliser, il faudrait connaître Rails.
>>
>> Qu'en pensez-vous ?
>>
>> Bonne soirée à tous,
>> Guirec.
>>  
>> Le 2015-04-27 21:25, Florian Dutey a écrit :
>>  
>> Salut. Desole par avance parce que ca peut paraitre un peu "frontal" 
>> comme commentaire mais quel est le but de refaire un énième ActiveAdmin a 
>> l'heure des single page application? 
>>
>> Le 27 avril 2015 17:55, Guirec Corbel <guirec...@gmail.com> a écrit :
>>
>>>  En y repensant, ce que j'ai un peu oublié dans mon README est que 
>>> SmartManagement n'est pas uniquement fait pour faire une partie 
>>> d'administration mais peut également servir à tout type de gestion et 
>>> s'insérer facilement dans une application Rails. 
>>>
>>>
>>> Le 2015-04-27 04:38, Guirec Corbel a écrit :
>>>  
>>> Bonjour,
>>>
>>> Comparé à des gems comme ActiveAdmin ou RailsAdmin, j'ai préféré en 
>>> faire moins et laisser l'utilisateur profiter de la puissance de Rails en 
>>> faisant en sorte qu'il soit facile de surcharger le comportement par 
>>> défaut. J'ai longtemps utilisé ActiveAdmin et, je trouve que ça va très 
>>> bien quand c'est simple mais dès qu'il y a de la complexité ça devient vite 
>>> plus ardu que de faire ne application Rails à la main.
>>>
>>> Je vais simplifier le processus d'installation. J'ai préféré utiliser 
>>> plusieurs lignes étant donné qu'il est possible que l'application possède 
>>> déjà ces dépendances. Je vais voir ce que je peux faire.
>>>
>>> L'application en elle même n'a pas de sécurité par défaut. Étant donné 
>>> qu'il s'agit d'une application Rails, il est facilement possible d'ajouter 
>>> des gems comme devise. Ça laisse toute la souplesse au programmeur 
>>> d'utiliser ce qu'il préfère.
>>>
>>> Merci pour ton commentaire, ce sont des bons points à ajouter dans le 
>>> README.
>>>
>>> Le 2015-04-27 02:39, Julien Grillot a écrit :
>>>  
>>> Salut,
>>>
>>> J'y vais en vrac :)
>>>
>>> – Quelles différences avec les autres gems d'administration ?
>>>
>>> – Est-il possible de résumer l'installation à une ligne de Gemfile, 
>>> de JS et de CSS ?
>>>
>>> – Que faut-il faire pour sécuriser son app' si l'on installe cette gem ?
>>>
>>> Merci pour ta contribution,
>>> Julien
>>>
>>>
>>>
>>>
>>> Le 27 avril 2015 01:59, Guirec Corbel <guirec...@gmail.com> a écrit :
>>> > Salut,
>>> >
>>> > J'ai fait une gem permettant de faire une partie d'administration à la 
>>> fois
>>> > facile à faire et très configurable :
>>> > https://github.com/gcorbel/smart_management. Je suis intéressé par vos
>>> > commentaires. J'espère pouvoir faire avancer cette gem là, faire un 
>>> site de
>>> > démonstration et avancer dans ma démarche une fois que j'aurais réunis 
>>> des
>>> > commentaires.
>>> >
>>> > Merci pour votre aide,
>>> > Guirec.
>>> >
>>> > --
>>> > --
>>> > Vous avez reçu ce message, car vous êtes abonné au groupe 
>>> "Railsfrance" de
>>> > Google Groups.
>>> > Pour transmettre des messages à ce groupe, envoyez un e-mail à 
>>> l'adresse
>>> > rails...@googlegroups.com
>>> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>> > railsfrance...@googlegroups.com
>>> > --- Vous recevez ce message, car vous êtes abonné au groupe Google 
>>> Groupes
>>> > Railsfrance.
>>> > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>> > concernant, envoyez un e-mail à l'adresse
>>> > railsfrance...@googlegroups.com.
>>> > Pour plus d'options, visitez le site 
>>> https://groups.google.com/d/optout .
>>>  -- 
>>> -- 
>>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" 
>>> de Google Groups.
>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
>>> rails...@googlegroups.com
>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>>> railsfrance...@googlegroups.com
>>> --- 
>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
>>> "Railsfrance".
>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
>>> concernant, envoyez un e-mail à l'adresse 
>>> railsfrance...@googlegroups.com.
>>> Pour obtenir davantage d'options, consultez la page 
>>> https://groups.google.com/d/optout.
>>>
>>>
>>>  
>>>    -- 
>>> -- 
>>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" 
>>> de Google Groups.
>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
>>> rails...@googlegroups.com
>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>>> railsfrance...@googlegroups.com
>>> --- 
>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
>>> "Railsfrance".
>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
>>> concernant, envoyez un e-mail à l'adresse 
>>> railsfrance...@googlegroups.com.
>>> Pour obtenir davantage d'options, consultez la page 
>>> https://groups.google.com/d/optout.
>>>  
>>  
>>  -- 
>> -- 
>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" 
>> de Google Groups.
>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
>> rails...@googlegroups.com
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>> railsfrance...@googlegroups.com
>> --- 
>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
>> "Railsfrance".
>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
>> concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com
>> .
>> Pour obtenir davantage d'options, consultez la page 
>> https://groups.google.com/d/optout.
>>
>>
>>  
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à