ecole informatique
L'école  >  Le cursus  >  La culture Projet  >  Tek2 - bdsh

Bdsh (Tek 2)

Bdsh

Script Shell émulant les fonctionnalités d'une base de données.

Description du projet

Il s'agit d'écrire un script Shell émulant les fonctionnalités simples d'une base de données contenue dans un unique fichier "sh.db" dont on pourra éventuellement passer le nom en paramètre grâce à l'option `-f'. Ce premier projet des étudiants de deuxième année leur permet de revoir la programmation Shell tout en ayant un aperçu des bases de données.

Le synopsis du programme est :
bdsh.sh [-k] [-f ] (put ( | $) ( | $) | del ( | $) [ | $] | select [ | $] | flush)

Les paramètres du script sont les suivants :

  • put - Ajoute une clef contenant la valeur. Si la clef existe déjà, la valeur est écrasée.
  • del - Efface la clef. Si la valeur est omise, la clef reste présente sans contenu. Si la clef n'existe pas ou si la valeur ne correspond pas à celle de la clef, il ne se passe rien.
  • flush - Vide toutes les entrées présentes dans la base. Le fichier lui même n'est pas supprimé.
  • select - Permet d'afficher les valeurs dont les clefs « matchent », ou toutes les valeurs si aucun paramètre n'est passé. C'est le matching de la commande grep qui est utilisé. On utilise pour l'affichage l'ordre du fichier, qui est l'ordre chronologique d'insertion ou de modification.

Exemple :

./bdsh put key1 val1  
./bdsh put key2 '$key1'
./bdsh put '$key2' key1
./bdsh select "ey"
val1
val1
./bdsh select "1"
val1
key1
./bdsh select '$key2'
key1
./bdsh select '[2-9]$'
val1

Un serveur BDSH indique les fonctions autorisées.
Le BDSH commence obligatoirement par la ligne « #!/bin/sh ». Pas de tcsh, ksh, csh ou toute autre forme de shell (même de tek1) ou d’exécutable.

En bonus, les élèves de deuxième année peuvent réaliser les options suivantes :

  • reprogrammer cut en shellscript (et ne plus utiliser la commande cut …),
  • stocker la base de données dans le programme lui-même,
  • crypter les données en Shell...

EPITECH en France

EPITECH en France

Témoignage

Au départ un projet, aujourd'hui mon entreprise

photo de CAMILLE MIREY "Un des éléments déclencheurs fut la possibilité de consacrer entièrement le stage de 3ème année au développement du projet."
CAMILLE MIREY
ancien
Promotion 2007

D'abord MMORPG (jeu de rôle en ligne), en 2003, puis moteur de jeu pour mondes persistants en 2004, et enfin middleware destiné à la production d'univers immersifs en 2006, le projet HellHeaven a accompagné tout notre cursus depuis la fin de la 1ère année. Il a d'abord évolué au gré des opportunités (projet libre de 2ème année, objectif de projet de fin d'études dès la 3ème année) et de l'équipe (jusqu'à 9 personnes) puis s'est progressivement orienté vers des besoins professionnels réels : la fibre entrepreneuriale commençait à s'exprimer.

Un des éléments déclencheurs fut la possibilité de consacrer entièrement le stage de 3ème année au développement du projet. Une chance inespérée et un argument décisif pour fonder, dès janvier 2005, Persistant Studios SARL qui regroupe quatre associés.

En 2006, une première prestation pour une société d'architecture nous donne une vision plus large des problématiques réelles de production. Une refonte complète du moteur est entamée cette même année afin de proposer une solution flexible pour la création d'applications 3D temps réel.

Une étape importante dans la consolidation de l'activité fut franchie avant même la fin de notre cursus, avec l'arrivée de Persistant Studios à la tête du laboratoire de développement de jeux vidéo. Une manière agréable et efficace de faire profiter les étudiants de notre expérience. L'activité de Persistant Studios, encore scindée en 2 parties (prestations d'un côté, R&D de l'autre) commence à se structurer et HellHeaven arrive à maturité.