Gente, hasta el momento sólo he desarrollado sistemas de tipo "backend", es decir que sólo existía una interfaz de usuarios por aplicación (obviamente mostraba mayor o menor cantidad de datos dependiendo de los permisos del usuario que solicitaba acceso).
Quiero comenzar un sistema que tendrá un theme pago y un backend con bootstrap bien simple.
Qué estructura de carpetas y de sistema me sugieren?
Creo q tienes confundidos los términos back-end y front-end.
Back-end (motor) -> lógica de la aplicación. Por ejemplo el código php que es traducido a por ejemplo HTML para ser representado en el front-end.
Front-end (interfaz) -> son los componentes con los que el usuario final interactúa, por ejemplo una página web cargada en un navegador (que es el q traduce el código back-end para mostrarlo en el front-end).
Por lo tanto, tú siempre trabajas con back-end y front-end.
Ahora, por lo que te he entendido lo que quieres es q dependiendo del usuario que se loguee, mostrar diferentes front-ends, no?
Yo haría lo mismo que para un único front-end, simplemente en lugar de X número de vistas, tendrás X + n número de vistas para cada modelo.
Obviamente se usará la misma DB, los mismos modelos y la misma config.php.
No se cómo hacer la estructura de carpetas. Otra duda que tengo es cómo hacer los controladores, si hacer dos separados (ArticuloController y ArticuloAdminController) o uno sólo con acciones separadas (actionView y actionAdminView).
Es el entorno Yii, así que estás más o menos correcto; en otros entornos las definiciones cambian, lo que confunde a muchos novatos. En Yii el backend es para funciones administrativas que no han sido delegadas al frontend, mientras que el frontend es donde los usuarios no administrativos (invitados y también regulares con credenciales de login) "usan" el sistema como tal.
Chequea este wiki para una idea sobre el tema. Además puedes buscar en las extensiones plantillas ("boilerplates") creadas por otros usuarios que facilitan el proceso.
Sigo pensando que mi definición de back-end y front-end es correcta indistintamente del entorno en el que nos encontremos.
Podrías pasarme algún enlace a la definición de backend y frontend de la documentación oficial de Yii. Es q no encuentro nada y realmente me interesa saber si estoy equivocado.
Si yo estuviese equivocado, pues el enlace que te pasó JFReyes te explica perfectamente lo que deseas.
El wiki al que hice referencia lo escribió Qiang Xue, el creador de Yii:
"Large applications are often divided into front-end and back-end (or even more ends) depending on the target user groups. The front-end should be used by common users, while the back-end mainly the administrators or staff members."
Entiendo que eso cualifica como documentación oficial, y los que usamos Yii desde hace tiempo así lo entendemos. Nuevamente reitero que es específico a Yii y no a otros entornos, aunque en términos generales en el desarrollo de aplicaciones web se utilizan los términos en el contexto que el amigo @lagogz se refiere. Se conoce como el "full stack" donde el frontend es la parte interactiva y visual que se conecta a la base de datos (backend) a través de la lógica de la aplicación (middleware). Otra manera de verlo es a través del patrón model-view-controller (MVC). Yo me refería a Yii solamente y como contestación a la pregunta original.
entendido , solucionaste ?? hay un manejo de dos interfaz, la del backend y la del frontend, escribe por aqui si solucionaste, actualemte con experiencia en los dos bloques