IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

[Nouveau projet] Question archi sur Django + nodeJs


Sujet :

Django Python

  1. #1
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut [Nouveau projet] Question archi sur Django + nodeJs
    Bonjour à tous,

    Je suis développeur mais sur d'autres langages que Python.
    J'ai choisit Python pour me former d'une part, et d'autre part car je pense que ça va plus vite qu'avec d'autres langages.

    Je voudrais réaliser un projet assez simple dans l'idée.
    Le but est de faire appelle à pleins d'API (tweeter, FB, insta, ...), alimenter une DB puis l'afficher sur une page.

    Comme ça je pense qu'il y a plusieurs points à réaliser :
    - Une page d'authentification
    - Création de la BDD
    - Une page pour présenter les données aux utilisateurs.

    Assez simple donc.
    Mon problème c'est surtout l'alimentation des données en DB.

    Mes questions sont les suivante :
    1)
    Pour la récupération des données depuis les différents API, cela s'effectuera de manière batch la nuit.
    Les API ayant des limitations, cela prends plusieurs heures et le faire entre 00H00 et 6H00 de matin me semble logique.
    Je pense utiliser quelque chose comme django-crontab.

    Est ce que dans un même projet django on peut avoir l'application en temps réel et des batch qui tournent le soir sans problème ?

    2)
    Parfois il y a des données que je ne peux pas récupérer via API car tout simplement certains sites n'ont pas d'API.
    Pour ça je voulais utiliser CasperJS (+nodeJS) qui permet se simuler un utiliser web.

    Là je ne sais pas trop comment m'y prendre. Existe-il un équivalent de capserJs en Python ?
    Si ça n'existe pas, peut-on lancer l'exécution d'un programme js depuis django ? (en batch)
    Enfin, est ce que le programme nodeJS peut se connecter et alimenter les DB de python ?

    3)
    Si vous avez des idées autres, sur la mise en place de tout ça je serais ravi d'entendre vos suggestions.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Si vous utilisez une base de données plus élaborée que sqlite3, alimenter les tables depuis d'autres process que ceux démarrés par "django" est possible.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    J'avoue ne pas avoir tout compris, je vais essayer de répondre...

    Le but est de faire appelle à pleins d'API (tweeter, FB, insta, ...), alimenter une DB puis l'afficher sur une page.
    Ok donc si je comprend bien, il faut un client HTTP et un serveur de base de données. Django est un serveur HTTP...
    Je proposerai si on en restait là par exemple, d'utiliser un serveur PostgreSQL et le module python psycopg2 avec un client comme le module python requests

    Comme ça je pense qu'il y a plusieurs points à réaliser :
    - Une page d'authentification
    - Création de la BDD
    - Une page pour présenter les données aux utilisateurs.
    Là on arrive sur Django, ok !

    Plus haut tu dis alimenter une base de données, qu'appelles-tu alimenter ? Si c'est écrire sur la BDD, attention de ne pas être en conflit entre l'écriture depuis le serveur et le client.

    Est ce que dans un même projet django on peut avoir l'application en temps réel et des batch qui tournent le soir sans problème ?
    Oui un serveur peut faire des tâches asynchrones, heureusement...

    Existe-il un équivalent de capserJs en Python ?
    Je ne connais pas casperJS, mais à ce que j'ai pu en lire, il permet des tests fonctionnels, ce qui me semble être un équivalent de Selenium souvent utilisé pour des tests fonctionnels sur Python-Django

    Si ça n'existe pas, peut-on lancer l'exécution d'un programme js depuis django ?
    J'ai pas compris, depuis où lancerais-tu ce programme ?

    est ce que le programme nodeJS peut se connecter et alimenter les DB de python ?
    Oui on peut, mais python fait ça très bien avec des modules tels que requests et psycopg2, mais encore une fois, que veut dire alimenter ? écrire ?

    Si vous avez des idées autres, sur la mise en place de tout ça je serais ravi d'entendre vos suggestions.
    Utiliser Python - Django - Selenium avec une base de données PostgreSQL, tout cela est full python !

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Plus haut tu dis alimenter une base de données, qu'appelles-tu alimenter ? Si c'est écrire sur la BDD, attention de ne pas être en conflit entre l'écriture depuis le serveur et le client.
    Il n'y a que le serveur qui accède aux données de la base. Son boulot est de gérer les conflits entre les différents clients/applications qui accèdent à ces données.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/10/2021, 11h41
  2. Nouveau projet en php, sur quel base partir?
    Par rif15 dans le forum Langage
    Réponses: 6
    Dernier message: 24/01/2011, 23h58
  3. Questions importante sur un projet
    Par benthebest dans le forum Droit
    Réponses: 2
    Dernier message: 22/02/2008, 22h07
  4. [Django] Aucune question sur Django?
    Par GnuVince dans le forum Django
    Réponses: 17
    Dernier message: 28/08/2007, 00h01
  5. [Conception] Besoin de vos lumière sur un nouveau projet
    Par popogendarme dans le forum Langage
    Réponses: 24
    Dernier message: 18/05/2007, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo