Jump to content

Projet: Gestion de stock


bidossessi
 Share

Recommended Posts

  • Replies 151
  • Created
  • Last Reply

Top Posters In This Topic

Assalam 3eikoum,

 

Tout d'abord, je vous remercie pour cette initiatice trés interressante et qui inchallah apportera un plus pour l'Algérie.:)

Nous te remercions pour ton interet et tes encouragements

 

A vrai dire, que mon intervention ne va pas concerner la discussion actuelle, mais un point de vu ou un opinion personnel qui pourrai aider le projet. Et puis, je suis plus calé gestion de projets que la programmation sous Python. Je programme la plupart du temps sous PHP. Mais bon, ceci n'est pas important.

toute assistance est la bienvenue. :)

Il faut dire que comme votre projet concerne un projet Open Source ou Libre, il y'a une maniére d'approcher le projet different d'un projet normal. Tout ces conseils la sont inspirés du livre "Producing Open Source Software" et d'une experience personnelle avec la gestion des projets. Vous pouvez le trouver sur les torrents.

je vais de ce pas le chercher. j'ai plusieurs projets opensource en production.

Et dans le monde de l'Open Source, la premiére étape c'est la construction d'une bonne communication qu sein du groupe. Et dans ce contexte la, avoir un wiki (dans pbworks.com par exemple) ou un site web du projet serai un bon debut.

le site existe, meme si c'est pour l'instant une petite page sur launchpad.

La page d'acceuil devrai decrire les points le plus important qui permettrai d'attirer des volentaires. A savoire:

 

1- Une definition claire du projet sans oublier de citer que c'est un projet libre.

la définition du projet y est; quand au type de license, nous n'en avons pas encore disctuté.

2- Les fonctionnalités et les requis du logiciel. Dans ce point la, ce serai bien de se concentrer dans un premier temps dans une seule fonctionnalité. Et en fonction de l'amplitude des developpeurs, envisager d'autres fonctionnalités. Les autres seront considérés comme planifiés pour un developpement ulterieur.

il se trouve que le découpage du projet en modules n'a pas encore été fait non plus. je dois faire une revue des contributions en documentations de ceux qui ont contribué (amarsoft, salimdz et les autres), synthétiser cela dans la liste des fonctions sur le thread officiel du forum pour qu'on puisse commencer à parler modules.

3- L'état d'avancement du developpement. Les volentaires potentiels doivent savoire l'état d'avancement pour que leurs integration au projet soit la plus facile possible.

l"état d'avancement sera géré automatiquement par launchpad à travers le calcul de l'état d'avancement par rapport aux milestones et au nombres d'objectifs atteints pour chacun d'eux.

 

4- Comment le projet est-il géré? Si c'est un systeme dictatorial ou non il faut le citer. Ce n'est pas un point négatif tant que le dictateur assume bien ces responsabilité.

je suis l'initiateur de ce projet, et jusqu"à présent, j'ai pris quasi-unilatéralement la plupart des décisions, en attendant qu'une discussion un peu plus pratique prenne naissance sur les threads du projet, que des objectifs initiaux soient fixés avec chacun sa tache.

5- Les canaux de communication: Mentionner les IRC et les mailing lists. J'aimerai bien que le mailing list soit ouvert même a ceux qui ne sont pas de l'équipe. Le forum est trop lord, ca requirt un effort considerable, et parfois on n'est pas informé des changements.

le projet dispose d'une mailing list sur launchpad. elle sera ouverte après le commit du premier milestone.

Au debut, on a besoin des gens qui communique bien, avec un bon style d'écriture et qui vont s'occuper de tout ce qui concerne documentation. Ce serai d'avoir ces gens la. Et que leurs rôles soient mentionnés dans le wiki.

amarsoft et salimdz font un travail de recherche formidable. Bassim a déjà jeté les bases d'un cahier de charges professionel. une fois de plus l'équipe n'est pas encore complète.

 

Et plus important, pour ceux qui n'ont pas une experience avec Python, il serai mieux pour eux de maitriser les outils techniques de l'open source comme le "Version Control" et le "Bug Tracking".

 

Il y'en a plus de la communication que de la programmation. C'est ca le point essentiel de l'Open Source.

launchpad utilise bazaar com DVCS. c'est par essence un site de bug tracking, avec une notion minime de wiki. un effort supplémentaire sera fait pour le reste après la finalisation de l'étape préparatoire du projet.

J'espére que ce projet ira jusqu'au bout de son chemin. J'aurai aimé d'être impliqué plus dans le projet. Mais bon, j'ai un projet de côté qui passera a sa 4 éme année. Et que je prête a ouvrir avec l'équipe d'Open Minds Club (Je suis membre). Projet OpenMindStudents.org. Et il reste beaucoup de choses a faire.

 

NB: Je suis l'amie de Cortex et Amarsoft. Ils vont me reconnaitre surement.

 

Bonne chance, pour la suite. ;)

il n'y a pas de seconds roles, il n'y a que des premiers roles occupés ailleurs :)

je te remercie pour tous ces conseils, qui seront suivis puisqu'ils sont judicieux. ils sont déjà une participation appréciée à la réalisation du projet.

j'ai été distrait ces jours-ci et je le suis toujours, pour des raisons personelles, mais je compte bientot redynamiser le sujet, et mettre à jour les espaces de communication dont nous disposons aujourd'hui.

Link to comment
Share on other sites

Wash amarsoft, tu ne reconnait celui qui t'a aidé dans le diapo???? ;)

 

Bon, j'aimerai beaucoup qu'on discuter sur ces points mentionnés. Qu'on regroupe les idées et définir le périmetre du projet.

 

Déja premiére question, combien de personnes sont prêts à joindre leurs forces et quelles sont leurs compétences? Qui sont ceux qui maitrise le python? et quelles sont qui ont d'autres compétences qui peuvent aider le projet?

 

le premier post contient une liste des personnes qui se sont déclarées pretes à participer activement au projet, et dans quel domaine.

Link to comment
Share on other sites

Wash amarsoft, tu ne reconnait celui qui t'a aidé dans le diapo???? ;)

 

Bon, j'aimerai beaucoup qu'on discuter sur ces points mentionnés. Qu'on regroupe les idées et définir le périmetre du projet.

 

Déja premiére question, combien de personnes sont prêts à joindre leurs forces et quelles sont leurs compétences? Qui sont ceux qui maitrise le python? et quelles sont qui ont d'autres compétences qui peuvent aider le projet?

 

comment ça je n'ai pas reconnu le grand philosophe. :)

 

ton nom commence par T ;)

Link to comment
Share on other sites

la page de la team sur launchpad https://launchpad.net/~devel-dz

 

pour le moment je vois que moi et cortex et bien sure bidossessi dans la liste

 

j'ai essayé d'envoyé un mail via notre mailing list devel-dz [arobase] lists.launchpad.net mais le message n'est pas envoyé

 

je pense qu'on a besoin d'un wiki ?

Edited by ButterflyOfFire
Merci de ne pas mettre les emails en clair afin d'empêcher les spams ;)
Link to comment
Share on other sites

Bonsoir,

J'ai lu les threads du projet et je voudrais bien y participer. Je suis prêt à aider dans la partie UML, python ( ça fait un bout de temps que j'y ai pas touché mais je peux reprendre très vite!). Je me suis inscris sur la page du projet sur Launchpad merci de m'accepter :)

Link to comment
Share on other sites

Bonjour à tous.

plusieurs concours de circonstance font que j'ai été absent plus longtemps que prévu, mais je suis de retour.

 

plusieurs remarques:

 

1- je suis tout à fait pour les contributions spontanées et j'apprécie l'enthousiasme de certains de nos amis, mais j'aime que les choses soient faites par étapes. à l'heure actuelle, nous en sommes encore à la discussion du cahier de charge, de ses éléments, et des fonctionalités du logiciel. un wiki est à mon sens prématuré.

 

2- le mailing list de launchpad fonctionne très bien. je ne vais pas l'ouvrir pour l'instant. pas la peine de spammer ceux qui ne sont pas engagés dans le projet. je mesure le niveau de dédication par l'enrolement sur launchpad, et les membres recoivent la mailing list automatiquement. ceux qui veulent rejoindre le projet sont le bienvenus, mais la communication initiale se fera sur ce forum pour le moment, jusqu'à ce qu'une taskforce claire soit dégagée et des responsabilités attribuées.

 

pour des raisons évidentes, je veux savoir qui est avec moi sur ce projet, donc le groupe est modéré, mais je répond plutot rapidement en général. Alors si vous êtes prêts à participer activement, à n'importe quel niveau, rejoignez le groupe Devel-DZ, et dites nous comment vous pouvez contribuer.

 

Tous ceux qui veulent participer sont les bienvenus.

Link to comment
Share on other sites

Répétition:

les secteurs d'intervention sont déjà définis.

envoyez-moi un pm pour que je sache ou vous voulez activer, et que je puisse vous mettre en relation avec les autres membres qui sont déjà dans cette section si vous ne les connaissez pas encore.

EDIT:A ceux qui souhaitent participer à ce projet, choissisez votre niveau de participation et envoyez-moi un pm.

Link to comment
Share on other sites

Bonjour à tous:

Je souhaite discuter de l'excellent post de salimdz et des conclusions pour notre projet qu'il m'a inspiré.

Je pense qu'à partir de ce post, et des éléments de fonctionalités listés pour le projet gnustock, nous pouvons commncer à discerner les classes principales qui vont régir la logique du logiciel. Il est temps de commencer à formuler ces classes, à voir quelles seraient leur attributs et methodes, et leurs interactions. Je vais commencer en listant celles qui me paraissent évidentes. J'en profite pour jeter les bases des conventions de codage qui seront en vigueur pour ce projet, et expliquer quelques propirétés de python qui sont à mon avis très utiles.

les couleurs sont juste pour simplifier la visibilité:

 

[b]NomDeClasse:[/b]
   [i]"""Description et illustration de l'obectif de la classe."""[/i]
   ATTRIBUTSDECLASSE # ([b]*[/b] optionels)
   [color="Black"]def __init__(self, param1=value, param2=value)[/color]
        attributsPossibles
   [color="Red"]def methodes_possibles()[/color]
       """documentation/illustration de la methode.""""
   # commentaire ou explication supplémentaire
   #FIXME! indication de code suboptimal
   #BUG! indication de bug 

 

* il y a une différence entre les attributs de la classe et les attributs d'une instance sous python. c'est un piège commun :)

 

"docstring uniligne" | """docstring multiligne""".

python permet de générer automatiquement la documentation pour les modules qu'on développe, à condition de les mettre entre griffes juste sous le nom de la fonction/classe qu'on veut documenter. Cette documentation est alors accessible à travers l'attribut python mamethode.__doc__

De préférence, et par souci d'uniformité, on utilise les triples griffes.

Pourquoi c'est important? imaginez lancer un module python et vous demander à quoi sert une obscure fonction: pas besoin d'aller voir le code, si elle a sa docstring.

Plusieurs projets python utilisent exclusivement les docstrings pour générer leur documentation et les exemples d'utilisation, afin de les exposer dans leur guide de références à travers un parseur de docstring qui les convertit en page html.

 

Conventions de nommage:

on pourrait perdre beaucoup d'encre à discuter de la valeur de telle ou telle convention ici, alors je vais trancher directement.

 

Espacement:

Pour python les indents ne servent pas juste à la clarté de lecture. elles définissent le début (et la fin) d'une fonction/classe. Nous utiliserons 4 espaces par souci de compatibilité entre les différents OS, et jamais de tabulation.

Edited by bidossessi
Link to comment
Share on other sites

[b]class Depot(object):[/b]
   [i]"""Le dépot stocke les articles."""[/i]

   def __init__(self):
        self.id = None
        self.emplacement = None
        self.responsable = None

   def entrer_article(article):
       """"Ajouter un article au dépot."""
       pass

   def sortir_article(article):
       """"Retirer un article du dépot."""
       pass

   def emettre_rapport(article):
       """"Liste les articles du dépot et les classe dans des dictionnaires 
           par catégorie."""
       pass

Edited by bidossessi
Link to comment
Share on other sites

[b]class Article(object):[/b]
   """Définit les attributs et methodes d'un article. """

   def __init__(self):
        self.id = None
        self.description = None
        self.quantite = None
        self.idDepot = None

   def augmenter_stock(self, quantite):
        """Ajouter une quantité donnée au stock."""
        pass
   def diminuer_stock(self, quantite):
        """Retirer une quantité donnée du stock."""
        pass
   def lister_prix(self):
        """Compiler une liste de prix classée par fournisseur et par date."""
        pass

Edited by bidossessi
Link to comment
Share on other sites

[b]class Transaction(object):[/b]
   """Permet (entre autres) d'archiver les entrées/sorties. """

   def __init__(self):
        self.id = None
        self.type = None # (entree/sortie. bool?)
        self.date = None
        self.idDepot = None
        self.idArticle = None
        self.quantite = None
        self.agent = None # (qui l'a fait)

Link to comment
Share on other sites

[b]class Fournisseur(object):[/b]
   """Gère les opérations sur un fournisseur. """

   def __init__(self):
        self.id = None
        self.adresse = None
        self.contact = None
        self.rc = None # R.C. pour la génération automatique de documents
        self.tel = None
        self.fax = None # imaginez une connexion halifax !
        self.email = None # imaginez envoi mail préformatté !
        self.rating = None # pour le classement
        self.notes = None

   def lister_produits(self):
        """"Produit un dictionnaire des dispos du fournisseur."""
        pass

Link to comment
Share on other sites

Bonjour,

la modelisation ne se fait pas avec un model (UML, Merise ...) ?

 

je ne suis pas entrain de modéliser. mais vu que pour l'instant la participation a un peu baissé, je pose les bases du soft. si quelqu'un veut proposer un modèle uml, marhaba.

personellement je compte lister les acteurs de ce soft ici, pour revue et correction/amélioration, et ensuite, je regroupe ce monde dans un document, et je passe à gtk+.

la modélisation est utile si les autres participent. sinon, c'est juste un outil de rappel.

Link to comment
Share on other sites

  • 2 weeks later...
Salam.

Tu fais hériter toutes tes classes de object. Je pense que depuis python 2.2 ce n'est plus nécessaire. Ce n'est pas en relation avec les new-style classes ça ?

non, c'ets dans l'optique d'utiliser l'ORM sqlalchemy avec la methode de mapping declarative. l'héritage d'object est nécéssaire dans ce cas là.

Link to comment
Share on other sites

  • 3 months later...

Apparemment vos classes ne contiennent que des données membres et pas de fonction membre. Ce qui suggère que le modèle objet est peut-être excessif. Ces définitions de classes ressemblent beaucoup à des définitions de tables de base de données relationnelles.

 

Vous allez de toute façon être confrontés à la sérialisation, c'est à dire au stockage de toutes ces informations sur un support physique (disque dur). L'implémentation de votre sérialisation devra être fiable, car il est impensable que des données puissent être perdues.

 

Avez vous songé à un projet SQL et à développer plutôt une sorte de frontend pour l'interface utilisateur ?

Link to comment
Share on other sites

  • 2 weeks later...
Apparemment vos classes ne contiennent que des données membres et pas de fonction membre. Ce qui suggère que le modèle objet est peut-être excessif. Ces définitions de classes ressemblent beaucoup à des définitions de tables de base de données relationnelles.

 

Vous allez de toute façon être confrontés à la sérialisation, c'est à dire au stockage de toutes ces informations sur un support physique (disque dur). L'implémentation de votre sérialisation devra être fiable, car il est impensable que des données puissent être perdues.

 

Avez vous songé à un projet SQL et à développer plutôt une sorte de frontend pour l'interface utilisateur ?

 

pour l'instant, il est clair que je définis d'abord les attributs qui seront nécéssaires à chaque élément de mon modèle. de la, je passerai à l'ajout de fonctions d'interaction et d'introspection, une fois que j'aurai une vision globale des membres.

 

ma vision: serveur/client avec un ORM (je pars toujours sur SQLALCHEMY parceque je le connais bien) sur la partie serveur pour la gestion des transactions, et un frontend (soit GTK soit php) en avant, selon les besoins. j'expérimente déjà avec ce type de setup pour une application que je fais en interne pour mon entreprise.

Link to comment
Share on other sites

  • 12 years later...
Le 21/07/2009 à 14:48, Invité HAVOC a dit :

- Réapprovisionnement automatique (une sorte d'extension au système d'alerte).

 

Le réapprovisionnement automatique des stocks est le processus de génération automatique de commandes qui permet de créer des plans de réapprovisionnement automatique et des commandes en déterminant le niveau de stock de sécurité - un tampon de stock utilisé pour se protéger contre les fluctuations aléatoires de la demande et/ou de l'offre, et le plan de réapprovisionnement - un calendrier reflétant la quantité que vous devez commander aujourd'hui et dans un avenir proche.

Il existe de nombreux systèmes de gestion de projets qui font ça de manière automatique.

Exemple : Odoo (le top open source à mon humble avis)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share




  • Posts

    • Fakertni fi yamate lost, on attend la suite, plus que l'histoire de L'ours polaire 
    • Google travaille à introduire un dispositif de détection des ronflements et de la toux dans les appareils Android. Celui-ci permettra de donner aux utilisateurs “un aperçu significatif de leur sommeil”. La version 2.0 des études sur la santé de Google a été lancée cette semaine. Son objectif est de soutenir le lancement d’une nouvelle étude numérique sur le bien-être. Analyser ses ronflements Dans ce contexte, 9to5Google a détecté des lignes de code dans le fichier d’installation de l’application Google Health Studies. C’est ainsi que le site a découvert que le géant technologique menait actuellement une étude intitulée “Sleep Audio Collection”. Cette dernière n’est accessible qu’aux employés de Google. Concrètement, cet “algorithme de toux et de ronflement” apparaîtra comme une fonction de suivi du sommeil et surveillera si l’utilisateur tousse ou ronfle pendant son sommeil. La fonctionnalité fournira donc des informations sur le cycle de ronflement de l’utilisateur. Ainsi, elle pourra aider les personnes qui luttent contre l’apnée du sommeil et d’autres problèmes de santé à déterminer comment les changements de régime alimentaire et les horaires de sommeil affectent leur qualité de repos. À savoir qu’en général, les ronflements sont liés à une mauvaise tonicité des muscle “Pour participer à cette étude, vous devez être un Googler à temps plein et posséder un téléphone Android. Les conditions environnementales requises pour cette étude sont de ne pas avoir plus d’un dormeur adulte dans la même pièce qui ne travaille pas pour une société concurrente”, indique Google. Grâce à cette expérience, Google espère recueillir les données nécessaires pour valider, régler et développer des algorithmes et une suite avancée de capacités de détection des ronflements. L’ensemble pourra ensuite être disponible sur Android. La fonction fonctionnera de manière à “préserver la vie privée, sur l’appareil”. L’application traitera Toutes les informations de façon sécurisée en toute sécurité et les stockera localement, promet le géant californien. Google n’a pas indiqué quand est-ce qu’il prévoyait de mettre en œuvre la fonction, ni si elle sera disponible sur tous les appareils Android ou seulement sur les téléphones Pixel. En attendant, il existe déjà des applications qui proposent le même service. Par exemple, SnoreLab, ou encore iRonfle d’Apple. Pour utiliser cette dernière, il suffit de lancer iRonfle à côté de son lit au moment du coucher. Source : l'espoir.be    
    • Merci pour les avis les mecs.. Ce que j'ai constaté... C'est que depuis 1 an... Plusieurs banques ont rendu la carte cib Gratuite même son renouvellement est gratos... En 2020 et avant ce n'était pas le cas/elle coûtait 500da par an Donc c'est bien... Ce qui est le plus "etrange" avec le cib c'est que pour la première fois de ma vie je vais payer un montant EXACTE avec centimes ! Plus de rajout de 5da ou pas de monnaie... Franchement ça sera très étrange de payer par exemple 1642.87da... En sus de cela gagner 1% c'est bien a chaque fois. Rdv d'ici 1 mois inchallah pour vous relater mon expérience
    • salam pas de souci de mon coté avec ma carte dahabia  je payes avec les facture AT , ADSL , sonelgaz ,  n'flixi biha (lié à l'appli baridimob) et je régles avec certains achats (habillement par example quand le tpe est dispo) bref aucun souci , et ça rend service  
    • Salam alikom Je vends une carte graphique rtx 3080 ti neuve jamais utilisé a bon prix  voici l'annonce ouedkniss pour ceux qui voudraient voir les photos : https://www.ouedkniss.com/carte-graphique-gigabyte-vision-rtx-3080-ti-12-go-oc-neuve-zeralda-alger-algerie-d31675460 N'hésitez pas a m'apeller pour d'autres informations bonne soirée .
×
×
  • Create New...