Vous n'êtes pas identifié(e).
Je viens de trouver comment enlever mon petit soucis de fenêtres modales qui fonctionnent pas bien.
J'ai rajouter une autre fenêtre modale vide avant toutes les autres et c'est bon!!! je comprends pas pourquoi ça me fait ça, la première fait fonctionner un input type="submit" + form method="post" comme si c'était une form de method="get" mais les autres niquel. Donc en rajoutant le code suivant qui ne sert à rien c'est bon mais le problème c'est que c'est pas propre:
Bon Sinon j'avais pas accès à internet aujourd'hui donc j'en ai profité pour créer mon calcul de date mais cela ne donne pas grand chose mis à part que je trouve la page simple mais jolie
http://dl.dropbox.com/u/31901874/Copie% … 20date.rar
Mais c'est juste pour apprendre, je suis en train de regarder ce que tu m'as dit pour traiter les dates depuis la bdd mais.... Sinon ça serait pas mieux en javascript comme ça si on modifie la date, le champs concernant le temps passé se met à jour tout seul. J'avance un peu pour les regex, je cherche pour valider un texte, et j'en profite pour en faire d'autres comme le téléphone ("#^0[1-689]([-. ]?[0-9]{2}){4}$#") ou la date de naissance ("#^[0-3]?[0-9][/\- ][01][0-9][/\- ][0-9]{4}$#")
Bonne soirée
Hors ligne
Bonsoir,
Alors tout d'abord je te donne ce lien du forum très formateur car la personne avait initialement une approche PHP du problème alors qu'il devait se résoudre dans son cas en base de données. Si tu ne l'a pas encore lu, je t'invite à le faire, ca ne pourra pas te faire de mal dans tous les cas de figure.
Ensuite j'ai parcouru ton archive, et permets moi de te dire que tout le code que tu as écris tu n'en as pas besoin et en plus ne te permets pas de gérer ce que tu as à gérer comme tu devrais pouvoir le faire. Tu dois résonner en heures de travail effectif. Quand c'est férié, personne ne vas te reprocher de ne pas avoir travaillé ce jour là et donc tu n'as pas à le justifier. Par contre, tu dois pouvoir justifier du travail effectué en heures et chaque jour durant lequel les heures sont faites. Ensuite niveau facturation tu ramènes le nombre total d'heures en jour ouvrables standard si ta facturation se fait en forfaitaire journalier par exemple.
Ce que tu as fait en php n'a d'intérêt que pour faire un simulateur en ligne pour une estimation de coût par exemple ou pour tout autre raison du même acabit. Il te faut donc dans ton modèle un DATETIME de début et un DATETIME de fin pour chaque jour durant lequel des heures de travail ont été effectuées, rien de plus. Les calculs se font par requête au niveau SGBDR. De cette manière tu évites de plus de générer une "volumétrie creuse" dirais-je dans ta base de données.
En espérant t'avoir aidé.
Dernière modification par Jc (30-06-2012 00:22:22)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Pour les regex, si l'on prends les numéros de téléphone, cela reste relatif à la standardisation de ton ecriture.
Si tu prends par exemple une notation non discontinue au format international commencant par un + donc, tu pourrais faire un truc du genre '(\+[^0]{1}[0-9]{1,2}[0-9]{9})'
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Merci pour le lien, je vais faire un ptit tour pour lire tout ça.
C'est vrai que je me suis basé que sur les numéro français et j'ai pas pensé aux autres. Sinon c'est pour les regex, c'est enfin bon, comme un *** j'ai pas vu que l'erreur venait du faire mon input était nommé objet et que je faisais un test sur $_POST['texte'] donc c'est sur ça allait pas fonctionner.
J'ai donc mis cela pour un champ texte:
C'est suffisant pour toi? Une fois qu'on à vérifié les champs, pour l'enregistrement dans la bdd d'un champ de type texte qui peut contenir des apostrophes, tu me conseils d'utiliser la même fonction: nl2br(htmlentities($texte, ENT_QUOTES,'UTF-8')) ? pour être sur qu'il n'y ai pas de problème lors de l'enregistrement ou bien de problèmes d'injection ?
Pour les dates, en faite j'ai crée cette fonction parce qu'on m'a dit que je devais prendre en compte une date de début et une date de fin, avec la possibilité de faire une pause au milieu (vu qu'il arrive qu'on ne puisse pas accéder à un bâtiment, ou alors que xx temps) d'ou le debut_impo_acces et fin_impo_acces. Je voulais à l'origine faire comme tu as dit car je trouvais cela plus pratique mais bon (quand le chef dit...on exécute même si c'est du perso pour améliorer le boulot. M'enfin..c'est ça ou rien).
Du coup j'ai pensé à ce type de calcul parce qu'il veut juste savoir combien de temps (en heures) on à pu passer sur une intervention, même si généralement cela ne dépasse pas la journée j'ai quand même penser au week end / jours fériés (encore merci MK pour ton post de 2008) et logiquement je devrais aussi déduire le temps ou on ne travail pas, vu qu'on fait 8h -> 17h il ne devrait pas il y avoir le créneaux 17h01 -> 7h59 de compter dans le calcul mais la ça commence à être chaud. A l'heure actuelle je dois faire ce calcul avec ma calculette pour chaque inter pour le compte rendu mensuel...tu vois pourquoi j'essaie d'automatiser tout cela..:(
Bon allez j'ai un post à lire.
Bon week end
Hors ligne
Il te suffit de faire deux créneaux horaires par jour, et tu gardes le même principe énoncé, ou alors optimiser un modèle qui te permette de faire x créneaux horaires par jour, je ne vois pas où se situe le problème la dedans. Par contre dans ton choix, tu as bien vu les complications que cela entraîne. Tu as la demonstration des conséquences d'un modèle inadapté. Ce que souhaite ton patron, est d'avoir les fonctionnalités qu'il souhaite, pas de se tirer une balle dans le pied et d'aller dans le mur.
Pour tes regex, les caractères de mots + les accentués sont représentés par \w
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
c'est pas bête, je vais essayer de rajouter ces créneaux en fonction de la date de départ et de fin. Que penses-tu d'une comparaison des 2 dates pour obtenir le nombre de jour(s) entre chaque date et de multiplier le résultat par les 2 créneaux? Pour le patron je suis d'accord, mais c'est lui demande ce type de champs et je t'avoue que ce type de calcul à retranscrire en php est vraiment pas simple surtout quand on débute.
Pour le \w je suis trop bête c'est ce que j'avais fait à l'origine en même temps que le \n \r et \t même si au final je sais pas si ces derniers sont utilent. Merci
Juste comme ça est ce que tu aurais une idée de livre sur le mysql qui sera pas mal pour un débutant?
j'ai vu celui la qui est en pré-commande mais j'en voudrais un qui serait complet et la j'ai peur que ce trop débutant pour le coup : http://www.siteduzero.com/boutique-614- … mysql.html
Encore merci
Dernière modification par maxredphenix (30-06-2012 14:17:57)
Hors ligne
Non ce n'est pas très pertinent comme solution
Voici un exemple de modélisation partielle (attention il peut ne pas être adapté à certaines contraintes)
Table WORK_TIMES (A voir comme un log des temps de travail)
id INT UNSIGNED NOT NULL AUTO_INCREMENT (PK)
employee_id INT UNSIGNED NOT NULL (ajouter un index)
intervention_id INT UNSIGNED NOT NULL (ajouter un index)
work_start DATETIME NOT NULL
work_end DATETIME NOT NULL
Après cela peut se construire différemment selon les besoins. Disons juste que l'aspect de la gestion des temps de travail sous forme de log est minimaliste, performant et suffisant sur ce point. Pour avoir le temps total travaillé par employé et par intervention il suffit de faire un regroupement par employee_id et intervention_id et de calculer SUM((UNIX_TIMESTAMP(work_end)-UNIX_TIMESTAMP(work_start))/1200) pour avoir le nombre d'heures totales travaillées par cet employé sur l'intervention choisie.
NB: Ce genre de système peut s'interfacer très simplement avec un système de pointage de surcroit et il te permet de garder la souplesse que tu peux avoir besoin pour sortir n'importe quelle stat sur le temps travaillé pour un employé donné.
EDIT: PS: Si un employé X travaille par exemple de 6 à 8h puis de 9h à 12h puis de 15hà 18h, tu auras donc ici 3 lignes dans ta table, une pour chaque créneau horaire.
++
Dernière modification par Jc (01-07-2012 14:23:50)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
C'est super comme système je voyais pas ça comme ça et c'est vrai que pour le calcul c'est carrément plus simple et il se fait directement via la requête et du coup on peux rajouter énormément d'intervention alors que dans mon système ça ce limite à 1. Merci pour l'info
Par contre c'est quoi que tu appelles index exactement, c'est une question bête je pense, mais bon. Je me souviens d'une page d'un de mes livre qui en parlait mais vite fait, c'est pas pour la rapidité de recherche dans la base de donnée?
Pour commencer à créer sans partir tête baissée je voudrais te poser quelques questions sur ce système de gestion d'heure:
1) Quand je créer une nouvelle intervention, il y a le champ id de ma table "demande" (nommé id_appel dans les autres tables) qui me sert de reférence pour chaque autre tables (correctif, exploitation, preventif). Vu que c'est à partir de cette table qu'on créer la demande faite par l'utilisateur (faite par appel, mail, fax, etc... + les caractéristiques principales de la demande: nom utilisateur, son numéro etc... et bien sûr le type de demande). Est-ce que c'est mieux de me baser sur l'id du formulaire me servant à créer la demande ou celui du/des formulaire(s) dans lequel on rentre les informations complémentaires sur l'intervention (donc correctif, exploitation etc..) ? Voila un aperçu du formulaire de gestion de pannes (correctifs) avec du coup le fieldset qui sera à modifier (je pense mettre un tableau avec date_début/date_fin récupérées depuis la bdd et un bouton d'ajout, comme ça on rajoute autant de ligne que d'interventions réalisées)
http://dl.dropbox.com/u/31901874/Copie% … pannes.jpg
2) J'ai une table utilisateurs, est-ce que fait une jointure entre cette table et la table WORK_TIMES ? ou alors j'enregistre le nom de l'utilisateur directement dans la table WORK_TIMES? parce que je connais pas trop le principe des jointures, si on supprime un utilisateur comment ça marche pour la table WORK_TIMES si on fait une jointure?
3) Par contre je pense garder le principe de temps accès, vu qu'il arrive qu'on passe pas mal de temps à courir après les clés ou le responsable, et mon chef veut savoir combien de temps on perd avec tout ça, Le mieux reste de l'intégrer à ta table non?
Bonne soirée et merci pour cette table c'est vraiment génial .
maxredphenix
Dernière modification par maxredphenix (01-07-2012 21:21:07)
Hors ligne
Bonsoir,
La capture d'écran fournie, implique une structure globale plus complexe et dépasse largement le cadre de tes questions pour faire quelque chose de cohérent, solide et structuré correpondant aux besoins de ton entreprise. L'avantage de cette table telle qu'elle est fournie ici est qu'elle est conçue comme un log des heures de travail, ce qui implique qu'elle peut s'intégrer dans n'importe quelle structure de schéma ou presque, même si des optimisations peuvent s'avérer être nécessaires selon les cas. Au delà de ça, et ce que je trouve inquiétant, et comme c'est malheureusement le cas assez souvent, c'est que cela démontre l'absence totale de schéma garantissant l'intégrité, la qualité et la pérénité des données. Outre cela, développer un schéma digne de ce nom, va très probablement signifier un redéveloppement de tous les processes de votre applicatif, et le risque de perte de données lors d'une migration (rejet d'une grande partie des données) et/ou une réintégration de certaines données en manuel conséquente au problème précédent, peut signifier des coûts qui en général mettent des petites entreprises à genoux (d'où la certaine antipathie que j'ai vis à vis de la plupart des CMS).
C'est pour cela que le meilleur conseil que je puisse te donner c'est d'évaluer et d'auditer complètement l'application avant d'en modifier la structure.
Cordialement,
Jc
Dernière modification par Jc (02-07-2012 01:12:38)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Re,
Pour le 3) bien que cela peut être prématuré à ce stade d'en parler, il me semble plus opportun d'en faire une table dédiée, un peu comme WORK_TIMES.
Dernière modification par Jc (02-07-2012 01:45:07)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Tu me fais peur dans ta réponse de 2h09, moi qui trouvais justement de le reste de mon appli était pas trop complexe et cohérent....ce qui me fait le plus peur c'est que je viens déjà de donner 400heures pour apprendre et créer tout cela donc la phrase suivante me décourage un peu:
très probablement signifier un redéveloppement de tous les processes de votre applicatif
Moi qui voulait juste à la base, faire un programme qui me permette de tout mettre sur informatique ce qu'on fait sur papier. Mais bon je vais pas pour autant arrêter, surtout a ce stade d'avancement
Quand tu dis évaluer et auditer, tu parles de faire plusieurs enregistrement pour voir ce que cela donne dans la bdd ainsi qu'une visualisation des données pour vérifier la bonne restitution de ces dernières, et tester les performances, la sécurité?
Merci
Hors ligne
Bonjour,
La démarche courante quand on souhaite développer son site, ou une application en général est d'appendre en l'occurence le HTML, le PHP pour le moins quand on veut faire cela sur le web. Il se trouve que cette démarche, naturelle de surcroit, est à l'inverse de ce qui doit être fait pour développer quelque chose de solide pour une entreprise, surtout quand le souci justifié est de préserver l'intégrité de ses données et leur pertinence (les données accédées sont les bonnes et sont toujours à jour). Mais ce travail ne s'improvise pas, c'est même un métier. Tu n'as qu'à voir les derniers posts du forum, dès que l'on gratte un peu pour chercher un peu de pertinence et d'efficacité on retombe de suite sur les questions fondamentales et sur la mise en place d'un modèle cohérent.
Alors je sais bien que c'est un site de débutant en programmation, mais beaucoup de ceux qui sont présents ici sont des entreprises visiblement et faut bien aider tout le monde du mieux que l'on peut.
Pourquoi je t'ai donné cet exemple de modèle partiel qui est en mesure de résoudre une bonne partie de tes problèmes actuels après t'avoir fait lire le long post précédent?
1) Pour te démontrer que les contraintes métiers et les spécificités métiers doivent être gérées dans la base de données, et non pas sur un serveur tiers. C'est un impératif vital pour une entreprise, ne serait-ce que pour préserver et protéger ses investissements sur le moyen et long terme à tous les niveaux.
2) Un changement structurel même infime dans un modèle de base de données peut signifier redévelopper au moins 20% des requêtes SQL, et je n'en parle pas quand c'est géré au niveau PHP : coûts x 3,4,.. par rapport à la solution SGBDR Epais : redéveloppements qui peuvent être conséquents, re phases de tests, re phases de débbogage, etc, etc... ce que les petites et moyennes entreprises n'ont pas les moyens d'assumer la plupart du temps, et je ne parle pas quand des données commerciales sont perdues faute de précautions suffisantes.
Quand je dis évaluer et auditer, je parle de mettre en place un modèle adapté pour l'entreprise, et à partir de là, évaluer et auditer par rapport à l'existant les modifications indispensables, celles qui le sont moins, etc... en fonction des besoins et contraintes de productions et des contraintes financières pour faire ce qu'il y a faire, de façon à réduire les coûts pour l'entreprise à leur stricte minimum dans une stratégie qui reste cohérente à leur besoins et obligations, tout en préservant leur capital : leur données.
PS: Je sais, je radote beaucoup ces temps-ci, mais c'est difficile de faire autrement pour que cela rentre dans les esprits de tout le monde.
Dernière modification par Jc (02-07-2012 17:56:55)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Merci pour ton post,
C'est vrai que je voyais pas du tout la façon de gérer et exploiter les données de cette façon. Après pour le temps passé dessus, c'est pas grave c'est en dehors des heures et je fais cela pour apprendre, mais de voir ta manière de présenter la création au niveau professionnel me montre que je fais pas du tout comme il faudrait.
J'ai regardé cette après-midi comment faire pour rajouter ta table à mon appli, cela ne change pas beaucoup de chose, à part les requêtes et l'affichage de certaines pages, mais bon je fais ça depuis 2 mois, dès je découvre quelque chose de mieux je change tout mon système, cela me permet en même temps d'apprendre plus vite.
Sinon le système que j'ai crée est une retranscription de ce que l'on a sur papier à l'heure actuelle, j'ai juste rajouté quelques petites améliorations et enlever les choses inutiles. C'est exactement ce que tu as dit dans ta dernière phrase, sauf que c'est "fait maison" on va dire.
Tu as raison de me dire cela, après tout je suis débutant et je préfère qu'on corrige toutes mes erreurs avant de me lancer dans des choses inutiles au final.
J'ai commencer à adapter ta table voila un aperçu de ce que ça pourrait donner (2eme fieldset):
http://dl.dropbox.com/u/31901874/Copie% … ention.jpg
J'ai crée une fenêtre popup pour créer les interventions en js afin d’éviter le re-chargement de la page formulaire de base et donc supprimer les données qui ont déjà été taper (j'ai pas envie de m'embêter avec un système de cookies qui sauvegarde les input en cas de rechargement etc..) Après je te montre cela pour avoir ton avis, peu importe le temps que cela prendra ce que je veux c'est apprendre (simplifier mon boulot aussi mais pas au détriment de la qualité du logiciel).
Merci pour toutes tes réponses et ta franchise
Dernière modification par maxredphenix (02-07-2012 20:23:52)
Hors ligne
Bonjour,
Je t'en prie. Pour information oublie un peu les cookies^^ c'est pas avec ça que l'on mets en place un brouillard de saisie avec un cache dédié, qui se respecte.
Ensuite j'ai regardé un peu ton formulaire, tu y a rajouté des informations comme la signature, qui n'étaient pas portés à ma connaissance. Bref, sache qu'il m'est difficile d'être pertinent dans mes propos concernant ton modèle, en n'ayant qu'une partie des données de l'équation des besoins de ton entreprise. Bien que de connaître la vue utilisateur aide à mieux comprendre les besoins, il n'en reste pas moins que ce n'est pas ainsi que l'on peut les déterminer avec précision et justesse.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Je te prépare un mail avec toutes les informations concernant le logiciel. Je te ferais un pdf explicatif c'est plus lisible que le forum et je te donnerai des screenshots complet. Et merci pour les cookies, même si je voulais pas l'utiliser, j'étais persuadé que c'était le seul moyen. Je t'envoie ça demain matin
Bonne soirée
Hors ligne
Je suis en train de penser fortement aux dernières discussions que j'ai pu avoir avec MK sur ce forum, notamment sur le fait que ce genre de formation/aide dépasse allègrement le cadre de ce site.
Que tous ceux qui lisent ce post sur ce forum, prennent conscience que le genre de travail dont il est question maintenant avec maxredphenix se facture sur le marché du travail entre 450€ et 1200€ HT par jour en tant qu'indépendant (parfois un peu plus) et beaucoup plus dans les grandes SSII, l'écart de tarif s'expliquant par la réputation du prestataire et de ses disponibilités dans son emploi du temps (indépendants). Vous comprendrez aisément que la valeur de cette rémunération correspond à une réalité de compétences et d'expertise nécessaires à ce genre de réalisations, et dépasse donc largement le peu de difficulté apparente que laisse supposer la lecture de notre ami maxredphenix. C'est d'ailleurs très certainement une des raisons pour lesquelles les PME/PMI se contentent de solutions CMS OpenSource qui sont parfois la cause de leur perte (dans un contexte d'abscence de modèle normalisé pertinent et adapté) comme l'histoire l'a déjà démontré.
Par rapport à ton mail, j'y jetterai un oeil promis et te ferai un retour dessus, mais sauf rémunération, je n'ai pas le temps d'y consacrer 3-7 jours à plein temps en bénévolat.
Merci pour ta compréhension.
Dernière modification par Jc (03-07-2012 01:06:31)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Je confirme, en tant que consultant indépendant j'avais choisi la formule du portage salarial.
Il faut savoir que compte tenu des charges et des coûts de gestion sur 100€ facturés, il ne m'en revenait que 45.
Sachant qu'un indépendant est sur la brèche 7j/7 (prospect, devis, maquettage, auto-formation, facturation, etc.) il ne facture, au mieux, qu'un jour sur trois.
S'il veut réaliser une rémunération mensuelle correcte, pour 10j/mois, il doit donc facturer 110€/heure ce qui lui laissera en net ~3 500€/mois. Alors que le client devra s'acquitter du double.
Ce qui vous expliquera que mes interventions soient souvent assimilées à des journées de formation, ce qui est souvent le cas au demeurant, cette enveloppe budgétaire étant paradoxalement souvent sous-utilisée dans toutes les institutions, publiques et privées.
J'ai vivoté de cette activité pendant 3 ans, ayant pris un congé sabbatique. Heureusement que le salaire de Dame 4in était là pour faire bouillir la marmite, car en dépit de ce mode de calcul, j'ai moins gagné en 3 ans, de septembre 2005 à août 2008 qu'en 3 mois lors de ma reprise de fonctions au CROUS de Rennes.
Heureusement que ces trois années ont été riches d'enseignements, car le retour financier sur temps investi n'y était vraiment pas motivant.
Mais il me fallait faire cette expérience pour pouvoir, aujourd'hui que je suis retraité, monnayer le cas échéant mon expertise, au cas par cas, sans trop d'états d'âme par rapport à mon temps de bénévolat sur ce forum et d'autres.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
Merci pour vos réponses à tous les 2. Je pensais pas que les prix étaient si énormes et que c'était si compliqué de se lancer en tant qu’indépendant. Je voyais les concepteurs de logiciels moins touchés par ce type de problème, je vois qu'il y a pas que le domaine de la télécommunication qui est dans galère au final.
Je suis d'accord avec toi vis à vis du temps que tu pourrais passer dessus, je m'en rends compte petit à petit que c'est pas aussi simple qu'on peut le penser, je t'ai quand même envoyé un mail, dit moi juste (si tu le veux) ce que tu en penses et rien de plus. Tu m'as largement aidé ces derniers temps, tu m'as expliqué et montré des exemples que j'utilise(rai) dans mon application actuelle ou une autre plus tard vu que cela me plait de programmer. Après je fais déjà cela en tant que bénévole et j'y consacre beaucoup de mon temps libre donc je peux pas payer quelqu'un en plus de ce que je fais déjà, surtout que j'aurai rien en retour du côté de ma boite.
En tout cas je te remercie grandement (et encore c'est petit) pour toute l'aide que vous m'avez apportés, ainsi que pour les nombreux exemples et mini tuto.
Je t'ai poser une question à la fin du mail, je souhaiterai juste que tu répondes à celle la stp.
Encore merci
maxredphenix
Dernière modification par maxredphenix (03-07-2012 10:33:52)
Hors ligne