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

Linux Discussion :

Développement d'un outil de gestion en shell


Sujet :

Linux

  1. #1
    Membre régulier
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Points : 77
    Points
    77
    Par défaut Développement d'un outil de gestion en shell
    Bonjour,

    Je suis en train de développer un outil permettant la gestion de planning. Je rencontre un problème. J'ai un fichier qui contient toutes les réservations effectuées sur une semaine avec les salles prises et à quelles heures.

    Mon soucis est en lisant ce fichier d'afficher tous les créneaux qui sont suceptible d'être libre. A l'heure actuelle je demande à l'utilisateur de saisir une date et la salle qu'il souhaite réserver et ça me retourne pour une date donnée et une salle donnée les créneaux déjà pris.
    Voici le code que j'ai écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    #!/bin/bash
    rm fichierSalleMachine
    touch fichierSalleMachine
    while IFS=";" read numeroSalle salle date heure formation nbEtu type
    do
            fin=`expr $heure + 2`
     
            if [ $1 = $salle -a $2 = $date ]
            then
                    echo "Creneaux deja pris pour cette salle $salle le $date : $heu
    re h-$fin h"
            fi
    done < reservations
    echo "Saisissez l'heure de debut de votre cours : "
    read heure
    echo "Saisissez le type de cours : "
    read type
    echo "Saisissez la formation : "
    read formation
    echo "Saisissez le nombre d'eleves : "
    read nbetu
     
    if [ $heure -ge 12 -a $heure -le 14 ]
    then
            echo "Impossible de reserver une salle entre midi et 14 heures !!"
            exit 1
    fi
     
    enregistre=false
     
    case $type in
            Java) while IFS=":" read numsalle
            do
                    grep Eclipse salles > sallemachine
            done < salles
     
     
            while IFS=":" read numsalle nbmachine outils
            do
                    if [ $numsalle = $1 ]
                    then
                            nbligne=`cut -c1-2 reservations | wc -l`
     
                            nbligne=`expr $nbligne + 1`
                            echo "$nbligne;$1;$2;$heure;$formation;$nbetu;$type" >>
    reservations
                            enregistre=true
                    fi
            done < sallemachine;;
    esac
    J'espère que quelqu'un pourra m'aider merci d'avance

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    pour un POS tu aurais plutôt du faire un script qui utilises un fichier sqlite par exemple.

    comme ça tes calculs de sélections sont déjà natifs dans le langage, ton shell ne fait plus que mettre en forme le résultat.

    Et surtout c'est extensible pour l'avenir en particulier, réservation de matériel, interrogation de type annuaire, localisation, gmao etc....ou autre, maintenable et tout aussi facile à sauvegarder/restaurer en cas de soucis.

  3. #3
    Membre régulier
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Points : 77
    Points
    77
    Par défaut
    En fait c'est pas aussi poussé y a pas de BD derrière c'est juste un petit outil et le fichier ce limite à ce qu'on lui donne ici réservations. Et donc je suis forcé de le faire en shell

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    mouais tu as une idée de la volumétrie des interrogations et des données ? ou pas ?

    l'autre avantage d'un petit script+sqlite c'est que tu peux instancier...


    pour avoir travaillé sur un centre de formation ASFO et avoir du mettre en place un pos pour seulement 50 salles et 40 formateurs (en gros) avec une vision à +3/4 mois ... je t'assures qu'une mini-base est beaucoup plus qu'indispensable
    après que ta base soit un SGBD n'a pas de sens, mais sqlite qui se base sur un fichier plat par contre est pertinant.
    au départ j'avais fait comme toi un fichier tablé ....

    là je sens que tu prends des risques avec un script et selon la volumétrie attendue...

    à mois que tu ne gère que 5/10 salles à la limite, avec une seule personne qui le gère et les autres ne font que consulter .... à la limite je dirais pourquoi pas... mais bon ....

  5. #5
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    je plussoie frp31. Une petite dblite derrière, ca rajoute pas trop de ligne en fin de compte.
    Ton systeme est plus complexe que tu le penses car le shell ne fait pas de différence de types au niveau des variables ca devient vite lourd (c'est limite plus facile en Cobol ce genre ce problème )

  6. #6
    Membre régulier
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Points : 77
    Points
    77
    Par défaut
    OK beh je connaissais pas en fait cette façon de faire et pour utiliser le cobol bof j'aime vraiment pas ce langage je dois dire il est assez lourd au niveau longueur.
    Du coup ça me permettrait de récupérer les horaires qui sont disponible pour chaque salle ?

  7. #7
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    tu peux même le savoir entre deux bornes comme entre 10H et 11H ...
    puisque tu utilises le sql et ton script ne fait que la mise en forme du resultat pour l'utilisateur

  8. #8
    Membre régulier
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Points : 77
    Points
    77
    Par défaut
    Merci de vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/08/2009, 15h08
  2. Réponses: 0
    Dernier message: 29/07/2009, 12h43

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