Follow

Je ne trouve aucune ressource sur les architectures à utiliser avec Django. Genre… aucune. Définition d'une app, par exemple ?

Admettons, un blog:
Un article est une app ? Un commentaire est une app ?
Ou l'application c'est le blog en lui même et le projet est l'ensemble de toutes les app qui peuvent exister (Par exemple Mastodon + Pixelfed + Plume etc) ?

Si jamais quelqu'un pourrait m'aiguiller…

· Web · 3 · 1 · 1

@Alyve @HgO tu sais, faut vraiment pas hésiter à me pinger, au pire si j'ai pas de réponse je te dirai :D

Concernant ta question, c'est plus une question générale d'organisation du code, qu'une question spécifique à Django à mon avis.

Et c'est une problème complexe en soi, d'organiser son code, donc ça explique peut-être pourquoi tu as peu de résultats.

@Alyve @HgO un truc qui revient en général, c'est de faire une app par "grosse fonctionnalité" de ton projet. Mais ça reste très au doigt mouillé comme estimation.

Pour reprendre ton exemple de blog, par exemple, tu peux très bien fair une app "articles", une app "comments" et une app "antispam", par exemple.

Ou tout grouper sous une seule app "blog", et avoir une autre app "wiki", et une autre app "users".

Ça reste très empirique/subjectif, comme toute problématique de classification

@Alyve @HgO pour Funkwhale, par exemple, on a une quinzaine d'apps : playlists, favoris, users, radios, etc.

Des apps très orientées "feature" donc.

Mais auss des apps plus globales: common, federation, moderation, music...

dev.funkwhale.audio/funkwhale/

Je sais pas si je serai capable de formaliser les critères qui me font choisir de mettre ducode dans une app ou dans une autre.

@Alyve @HgO je dirai que plus tonprojet est gros et plus il est intéressant de le découper en apps.

Sur une petit project de quelques centaines de lignes, avoir 10 apps différentes n'est pas forcément très pertinent.

Par contre sur un projet de 1000, 10000 ou 100000 lignes, un découpage plus fin va être nécessaire pour documenter, te repérer, etc.

@Alyve @HgO je sais pas si ça t'aide à y voir plus clair, hésite pas à me dire si j'ai tapé à côté :D

@eliotberriot
il faut aussi penser que les migrations de BDD s'effectuent par app,. Donc si t'as un gros projet avec plusieurs développeurs, t'as plutôt intérêt à découpler certaines fonctionnalités.
@Alyve @HgO

@Alyve le blog en tant que tel est une app. D’autres frameworks parlent parfois de modules (mais ça ferait doublon avec le sens de « module Â» en python). Et en effet, ton projet est constitué d’apps

@Alyve c'est archi vieux mais à l'époque j'avais appris comme ça https://www.youtube.com/watch?v=A-S0tqpPga4

L'idée c'est “1 app” == “1 chose” (KISS / Unix way) et un projet est une collection d'applications et surtout pas tout dans une seule application.

@Alyve Une manière de définir le contour d'une app peut être en réfléchissant en terme d'app réutilisable, c'est-à-dire un composant que l'on pourrait réutiliser dans un autre projet django.

Sign in to participate in the conversation
Hostux.social

Fast, secure and up-to-date instance, welcoming everyone around the world. Join us! 🌍

Up since 02/04/2017. ✅

Why should you sign up on hostux.social?

This instance is not focused on any theme or subject, feel free to talk about whatever you want. Although the main language is french, we accept every single language and country.

We're connected to the whole OStatus/ActivityPub fediverse and we do not block any foreign instance nor user.

We do have rules, but the goal is to have responsible users. So far we haven't had any issue with moderation.

The instance uses a powerful server to ensure speed and stability, and it has good uptime.


Instance rapide, sécurisée et à jour, accueillant tout le monde dans le monde entier. Rejoignez-nous ! 🌍

En ligne depuis le 02/04/2017. ✅

Pourquoi devriez-vous vous inscrire sur hostux.social ?

Cette instance n'est pas centrée sur un thème ou un sujet, n'hésitez pas à parler de ce que vous voulez. Bien que la langue principale soit le français, nous acceptons toutes les langues et tous les pays.

Nous sommes connectés à l'ensemble du fediverse OStatus/ActivityPub et nous ne bloquons aucune autre instance ni aucun utilisateur.

Nous avons des règles, mais l'objectif est d'avoir des utilisateurs responsables. Jusqu'à présent, nous n'avons pas eu de problème avec la modération.

L'instance utilise un serveur puissant pour assurer la vitesse et la stabilité, et elle a un bon uptime.