Discussion:Proposer des courses : Différence entre versions

De VlmWiki
 
(23 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
'''Pourquoi est ce que c'est dans la page de discussion ????'''
 
<br/><span style="color:#0000FF;">C'est plus à titre de spécifications... j'en ai mis un bout dans le wiki DEV mais il supporte pas toutes les balises de mises en forme de tableau. actuellement Phille reçoit sous forme de scripts SQL, je prépare cette specifs afin de cadrer un dévt PHP à venir. </span>
 
----
 
 
 
 
<ul>
 
<ul>
 
   <li>Créer une course :
 
   <li>Créer une course :
Ligne 22 : Ligne 17 :
 
| 0 ''= course en ligne''<br/>1 ''= course permanente''
 
| 0 ''= course en ligne''<br/>1 ''= course permanente''
 
| 200 <br/><small>''ex. 200% max du temps du vainqueur (course en ligne = 50, course qualif = 25, permanente = 200)''</small>
 
| 200 <br/><small>''ex. 200% max du temps du vainqueur (course en ligne = 50, course qualif = 25, permanente = 200)''</small>
| 20090913<br/><small>????</small>
+
| <span style="color:#0000FF;">''laisser vide''</span><br/><small>ne pas utiliser</small>
| La Moqueca de Peixe<br/><small>????</small>
+
| 20090913<br/><small>La Moqueca de Peixe</small>
 
| Challenge mini 650 2010
 
| Challenge mini 650 2010
 
| 1200<br/><small>20 minutes</small>
 
| 1200<br/><small>20 minutes</small>
Ligne 33 : Ligne 28 :
 
|-
 
|-
 
| colspan="19" | <small>coordonnées : à multiplier par 1000, ex. 46036 = 46.036 N </small>
 
| colspan="19" | <small>coordonnées : à multiplier par 1000, ex. 46036 = 46.036 N </small>
 +
|-
 +
| colspan="19" | <small>qualifying race : Liste des course qualificatives à une course (une seule suffit si plusieurs sont précisées). Ex. 20071021 20071022 20071023 20071024 20071025 (multikawa 2007) ou une seule (ex. TRANSQUAD2 avait TRANSQUAD1 en qualif). Il suffit en fait de faire un chainage et que le qualifying_races de l'une mentionne uniquement la course précédente. Ainsi, pas besoin du depend_on, qui devrait quitter la base de données.
 +
depend_on : liste des courses qu'il faut obligatoirement avoir terminée (toutes) pour prendre part à une autre. ==> non implémenté pour l'instant, le code n'est pas complêt et est en commentaire dans lib/phpcommon/functions.php. Ne pas utiliser.</small>
 +
|-
 +
| colspan="19" | <small>idchallenge : pour classements au temps cumulé. (pas nécessaire, Droopy fait très bien ce travail).</small>
 +
|-
 +
| colspan="19" | <small>maxboats : c'est pour faire des courses limitées en nombre d'inscrits (ex :le postlogue de Cap Istambul (80906), qui avait d'ailleurs la 80905 en qualifying_races)</small>
 +
|-
 +
| colspan="19" | <small>Le theme : c'est pour forcer un theme pour tous les joueurs d'une course. Pour la 956, on a forcé l'utilisation du theme "oceanexpress_newyork_lorient". ==> Le Theme, c'est le nom d'une feuille de style pour looker l'interface</small>
 +
|-
 +
| colspan="19" | <small>bobegin et boend, ce sont des dates, exprimées comme deptime et closetime à la façon "secondes depuis Epoch":  elle introduisent le début d'un blackout et la fin de celui-ci.<br/>On peut par exemple imaginer qu'une course se déroulant autour du meridien 0 soit automatiquement mise en blackout entre 20UTC et 6UTC tous les jours, ça ferait un peu "il fait nuit donc on ne voit pas les concurents". La table "races" peut en mémoriser à la foi.
 +
</small>
 +
|-
 +
| colspan="19" | <small>Il y a maintenant : "vacfreq", qui indique la durée des vacations en minutes. (alors que le getinfo retourne l'info en secondes)</small>
 
|}
 
|}
  
Ligne 44 : Ligne 53 :
 
| 13
 
| 13
 
|}
 
|}
 +
  
 
     <li>ajouter N lignes de waypoints
 
     <li>ajouter N lignes de waypoints
Ligne 88 : Ligne 98 :
 
| colspan="5" | <small>laisser_au : si dans table waypoints : latitude1 = latitude2 ET longitude1 = longitude2 alors le wp est de type laisser_au </small>
 
| colspan="5" | <small>laisser_au : si dans table waypoints : latitude1 = latitude2 ET longitude1 = longitude2 alors le wp est de type laisser_au </small>
 
|-
 
|-
| colspan="5" | <small>wptype : peut prendre les valeurs Classement, Icegate ou Finish</small>
+
| colspan="5" | <small>wptype : peut prendre les valeurs Classement ou Finish. Icegate et nosail zonesont des "règles de controle" mises en oeuvre "en dehors/parallèle du moteur VLM", mais ne figurent pas dans le script de création d'une course en base de données. </small>
 
|}
 
|}
 
   </ol>
 
   </ol>
 
</ul>
 
</ul>
  
---
+
----
 
Schema extrait de http://dev.virtual-loup-de-mer.org/vlm/browser/trunk/base/schemas/races_tables.sql RACES, WAYPOINTS, RACES_WAYPOINTS, races_instructions  
 
Schema extrait de http://dev.virtual-loup-de-mer.org/vlm/browser/trunk/base/schemas/races_tables.sql RACES, WAYPOINTS, RACES_WAYPOINTS, races_instructions  
 
* Créer une course,  
 
* Créer une course,  
Ligne 162 : Ligne 172 :
  
 
|}
 
|}
 
+
----
 
+
Un extrait des tables  :<br/>
 +
<span style="color:#000000;font-family:courier new;font-size:9px">
 +
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+<br/>
 +
| idraces  | racename                                                                        | started | deptime    | startlong | startlat | boattype      | closetime  | racetype | firstpcttime | depend_on | qualifying_races | idchallenge | coastpenalty | bobegin | boend | maxboats | theme | vacfreq |<br/>
 +
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+<br/>
 +
| 20081102 | Belfast - Man - Ouessant - Les Sables d'Olonne **QUALIF Vent des Globes**      |      -1 | 1225530000 |    -5867 |    54658 | boat_Imoca2008 | 1225533600 |        0 |          10 |      NULL |                  | NULL        |        1800 |      0 |    0 |        0 | NULL  |      5 |<br/>
 +
| 20081103 | Lisboa - Ouessant<->Aber Ildut - Les Sables d'Olonne **QUALIF Vent des Globes** |      -1 | 1225738800 |    -9134 |    38704 | boat_Imoca2008 | 1225742400 |        0 |          150 |      NULL |                  | NULL        |          900 |      0 |    0 |        0 | NULL  |      5 |<br/>
 +
| 20081109 | <B>Le Vent Des Globes <i></i></B>                                              |      -1 | 1226232120 |    -1790 |    46473 | boat_Imoca2008 | 1226836800 |        0 |          50 |        0 |                  | NULL        |        10800 |      0 |    0 |        0 | NULL  |      5 |<br/>
 +
| 20090913 | La Moqueca de Peixe                                                            |      -1 | 1252843200 |    -1352 |    46036 | boat_Mono650  | 1252886400 |        0 |          50 |      NULL |                  | NULL        |        1800 |      0 |    0 |        0 | NULL  |      5 |<br/>
 +
| 20091003 | La Moqueca de Peixe 2                                                          |      0 | 1254567600 |    -16940 |    32610 | boat_Mono650  | 1254610800 |        0 |          50 |      NULL |                  | NULL        |        1800 |      0 |    0 |        0 | NULL  |      5 |<br/>
 +
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+<br/>
 +
<br/>
 +
+----------+---------+------------+------------+-------------------------+<br/>
 +
| idraces  | wporder | idwaypoint | laisser_au | wptype                  |<br/>
 +
+----------+---------+------------+------------+-------------------------+<br/>
 +
| 20081102 |      1 | 2008110201 |        999 | classement              |<br/>
 +
| 20081102 |      2 | 2008110202 |        999 | classement              |<br/>
 +
| 20081102 |      3 | 2008110203 |        999 | classement              |<br/>
 +
| 20081102 |      4 | 2008110204 |        999 | Finish                  |<br/>
 +
| 20081103 |      1 | 2008110301 |        999 | classement              |<br/>
 +
| 20081103 |      2 | 2008110302 |        999 | classement              |<br/>
 +
| 20081103 |      3 | 2008110303 |        999 | Finish                  |<br/>
 +
| 20081109 |      1 | 2008110911 |        999 | Atlantic IceGate        |<br/>
 +
| 20081109 |      2 | 2008110901 |        999 | Cape of Good Hope      |<br/>
 +
| 20081109 |      3 | 2008110912 |        999 | Kergelen IceGate        |<br/>
 +
| 20081109 |      4 | 2008110902 |        999 | Heard Island            |<br/>
 +
| 20081109 |      5 | 2008110913 |        999 | West Australian IceGate |<br/>
 +
| 20081109 |      6 | 2008110903 |        999 | Cape Leuwin            |<br/>
 +
| 20081109 |      7 | 2008110914 |        999 | East Australian IceGate |<br/>
 +
| 20081109 |      8 | 2008110915 |        999 | New-Zealand IceGate    |<br/>
 +
| 20081109 |      9 | 2008110916 |        999 | West Pacific IceGate    |<br/>
 +
| 20081109 |      10 | 2008110917 |        999 | East Pacific IceGate    |<br/>
 +
| 20081109 |      11 | 2008110904 |        999 | Cape Horn              |<br/>
 +
| 20081109 |      12 | 2008110905 |        999 | Finish                  |<br/>
 +
| 20090913 |      1 | 2009091301 |        999 | Finish                  |<br/>
 +
| 20091003 |      1 | 2009100301 |        999 | Finish                  |<br/>
 +
+----------+---------+------------+------------+-------------------------+<br/>
 +
</span>
 +
----
 
----
 
----
 
* les utilisateurs renseignent actuellement directement en SQL  et transmettent à Phille,  libellé de l'IC, n°topic créé par Phille.
 
* les utilisateurs renseignent actuellement directement en SQL  et transmettent à Phille,  libellé de l'IC, n°topic créé par Phille.
 
----
 
----
Icegate et nosail zone, on les code à la main.
 
Icegate et nosail zone sont des "règles de controle" mises en oeuvre "en dehors/parallèle du moteur VLM", mais ne figurent pas dans le script de création d'une course en base de données.
 
 
bobegin et boend, ce sont des dates, exprimées comme deptime et closetime à la façon "secondes depuis Epoch":  elle introduisent le début d'un blackout et la fin de celui-ci.
 
 
On peut par exemple imaginer qu'une course se déroulant autour du meridien 0 soit automatiquement mise en blackout entre 20UTC et 6UTC tous les jours, ça ferait un peu "il fait nuit donc on ne voit pas les concurents". La table "races" peut en mémoriser à la foi.
 
 
qualifying_races : liste des course qualificatives à une course (une seule suffit si plusieurs sont précisées).
 
 
depend_on : liste des courses qu'il faut obligatoirement avoir terminée (toutes) pour prendre part à une autre. ==> pas implémenté pour l'instant, le code n'est pas complêt et est en commentaire dans lib/phpcommon/functions.php.
 
 
A la course 002 aura la "001" en qualifying_races. Il suffit en fait de faire un chainage et que le qualifying_races de l'une mentionne uniquement la course précédente. Ainsi, pas besoin du depend_on, qui devrait quitter la base de données !
 
 
Ls courses "Kawa", et les "transquad" étaient comme ça :
 
TRANSQUAD2 avait TRANSQUAD1 en qualif
 
mais pour faire la multikawa, il fallait avoir fini une des 20071021 20071022 20071023 20071024 20071025.
 
Donc, qualifying_races pour la multikawa valait "20071021 20071022 20071023 20071024 20071025"
 
 
idchallenge : pour classements au temps cumulé. (pas nécessaire, Droopy fait très bien ce travail).
 
 
maxboats : c'est pour faire des courses limitées en nombre d'inscrits (ex :le postlogue de Cap Istambul (80906), qui avait d'ailleurs la 80905 en qualifying_races)
 
 
Le theme : c'est pour forcer un theme pour tous les joueurs d'une course. Pour la 956, on a forcé l'utilisation du theme "oceanexpress_newyork_lorient". ==> Le Theme, c'est le nom d'une feuille de style pour looker l'interface.
 
 
Il y a maintenant : "vacfreq", qui indique la durée des vacations en minutes. (alors que le getinfo retourne l'info en secondes)
 
 
Et c'est tout dans la table "races", dont la description est la suivante :
 
Dans la colonne "NULL", c'est YES si la valeur peut être omise, ou NO s'il faut forcément la fournir.
 
Dans la colonne "Default" toute valeur non précisée dans le script prendra la valeur "par défaut" indiquée :
 
tinyint, int ou bigint, c'est de l'entier (int(11) c'est sur 11 chiffres maxi)
 
varchar, c'est de la chaine de caractères de longueur au maximum celle précisée (tout caractère du clavier, et attention aux "apostrophes", qui doivent être mis entre guillemets)
 
text, c'est pareil, mais ça peut être un roman en terme de longueur.
 
 
  
 
[~]$ mysql -e "desc races"<br/>
 
[~]$ mysql -e "desc races"<br/>

Version actuelle datée du 1 octobre 2009 à 09:26

  • Créer une course :
    1. ajouter une ligne dans "races"
      Description de la course
      idraces int(11) racename varchar(255) started int(11) deptime bigint(14) startlong int(11) startlat int(11) boattype varchar(255) closetime bigint(20) racetype int(11) firstpcttime bigint(20) depend_on int(11) qualifying_races text idchallenge text coastpenalty int(11) bobegin bigint(20) boend bigint(20) maxboats int(11) theme varchar(30) vacfreq tinyint(4)
      20091103 YYYYMMDD du depart
      laisser vide
      La Moqueca de Peixe 2 0 1254560401 (le 3/11/09 à 11:00 UTC) -1352 46036 Mono650 1254733216 (fermeture du départ le 5/11/09 à 11:00 UTC) 0 = course en ligne
      1 = course permanente
      200
      ex. 200% max du temps du vainqueur (course en ligne = 50, course qualif = 25, permanente = 200)
      laisser vide
      ne pas utiliser
      20090913
      La Moqueca de Peixe
      Challenge mini 650 2010 1200
      20 minutes
      1254733216
      début du blackout
      1254819639
      début du blackout de 24h
      200 flashy 1
      coordonnées : à multiplier par 1000, ex. 46036 = 46.036 N
      qualifying race : Liste des course qualificatives à une course (une seule suffit si plusieurs sont précisées). Ex. 20071021 20071022 20071023 20071024 20071025 (multikawa 2007) ou une seule (ex. TRANSQUAD2 avait TRANSQUAD1 en qualif). Il suffit en fait de faire un chainage et que le qualifying_races de l'une mentionne uniquement la course précédente. Ainsi, pas besoin du depend_on, qui devrait quitter la base de données.

      depend_on : liste des courses qu'il faut obligatoirement avoir terminée (toutes) pour prendre part à une autre. ==> non implémenté pour l'instant, le code n'est pas complêt et est en commentaire dans lib/phpcommon/functions.php. Ne pas utiliser.

      idchallenge : pour classements au temps cumulé. (pas nécessaire, Droopy fait très bien ce travail).
      maxboats : c'est pour faire des courses limitées en nombre d'inscrits (ex :le postlogue de Cap Istambul (80906), qui avait d'ailleurs la 80905 en qualifying_races)
      Le theme : c'est pour forcer un theme pour tous les joueurs d'une course. Pour la 956, on a forcé l'utilisation du theme "oceanexpress_newyork_lorient". ==> Le Theme, c'est le nom d'une feuille de style pour looker l'interface
      bobegin et boend, ce sont des dates, exprimées comme deptime et closetime à la façon "secondes depuis Epoch": elle introduisent le début d'un blackout et la fin de celui-ci.
      On peut par exemple imaginer qu'une course se déroulant autour du meridien 0 soit automatiquement mise en blackout entre 20UTC et 6UTC tous les jours, ça ferait un peu "il fait nuit donc on ne voit pas les concurents". La table "races" peut en mémoriser à la foi.

      Il y a maintenant : "vacfreq", qui indique la durée des vacations en minutes. (alors que le getinfo retourne l'info en secondes)
    2. les ICs sont facultatives
      Instructions de courses
      idraces int(11) instructions
      text
      flag int(11)
      20091103
      laisser vide
      6173
      num topic Taverne
      laisser vide
      13


    3. ajouter N lignes de waypoints
      waypoints
      idwaypoint
      int(20)
      latitude1
      double
      longitude1
      double
      latitude2
      double
      longitude2
      double
      libelle
      double
      maparea
      double
      2009110301 -3876 -38397 -3876 -38397 Noronha 8
      2009110302 -13050 -32300 -13200 -32300 Salvador de Bahia - Sud 12
      coordonnées : à multiplier par 1000, ex. -3876 = 3.876 S
    4. Ordonnancer les N waypoints sur la course (administrateur)
      enchainement des waypoints
      idraces
      int(11)
      wporder
      int(11)
      idwaypoint
      int(20)
      laisser_au
      int(11)
      wptype
      varchar(32)
      20091103
      ou laisser vide
      1 2009110301 270
      passer Norohna à l'ouest
      classement
      20091103
      ou laisser vide
      2 2009110302 999 finish line
      laisser_au : si dans table waypoints : latitude1 = latitude2 ET longitude1 = longitude2 alors le wp est de type laisser_au
      wptype : peut prendre les valeurs Classement ou Finish. Icegate et nosail zonesont des "règles de controle" mises en oeuvre "en dehors/parallèle du moteur VLM", mais ne figurent pas dans le script de création d'une course en base de données.

Schema extrait de http://dev.virtual-loup-de-mer.org/vlm/browser/trunk/base/schemas/races_tables.sql RACES, WAYPOINTS, RACES_WAYPOINTS, races_instructions

  • Créer une course,
    • ajouter une ligne dans "races"
    • ajounter N lignes dans "waypoints" (une par waypoint)
    • faire la relation 1,N (intégrant l'ordonnancement des WP) dans races_waypoint
    • la table races_instructions est facultative
tables valorisées par l'admin lors de la création d'une course
TABLE INFORMATIONS COMMENTAIRES
`races`
 `idraces` int(11) NOT NULL auto_increment,
 `racename` varchar(255) NOT NULL default ,
 `started` int(11) NOT NULL default '0',
 `deptime` bigint(14) default NULL,
 `startlong` int(11) NOT NULL default '0',
 `startlat` int(11) NOT NULL default '0',
 `boattype` varchar(255) default NULL,
 `closetime` bigint(20) default NULL,
 `racetype` int(11) default NULL,
 `firstpcttime` bigint(20) default NULL,
 `depend_on` int(11) default NULL,
 `qualifying_races` text,
 `idchallenge` text,
 `coastpenalty` int(11) default '0',
 `bobegin` bigint(20) default '0',
 `boend` bigint(20) default '0',
 `maxboats` int(11) default '0',
 `theme` varchar(30) default NULL,
 'vacfreq' tinyint(4) default 5,
 PRIMARY KEY  (`idraces`)
`races_instructions`
 `idraces` int(11) default NULL,
 `instructions` text,
 `flag` int(11),
 KEY (`idraces`)
`waypoints`
 `idwaypoint` int(20) NOT NULL default '0',
 `latitude1` double default NULL,
 `longitude1` double default NULL,
 `latitude2` double default NULL,
 `longitude2` double default NULL,
 `libelle` varchar(255) default NULL,
 `maparea` int(11) default '10',
  PRIMARY KEY  (`idwaypoint`)
`races_waypoints`
 `idraces` int(11) NOT NULL default '0',
 `wporder` int(11) NOT NULL default '0',
 `idwaypoint` int(20) default NULL,
 `laisser_au` int(11) default NULL, 
 `wptype` varchar(32) default NULL,
 PRIMARY KEY  (`idraces`,`wporder`)

si dans table waypoints :

latitude1 = latitude2 ET longitude1 = longitude2

alors le wp est de type laisser_au


Un extrait des tables :
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+
| idraces | racename | started | deptime | startlong | startlat | boattype | closetime | racetype | firstpcttime | depend_on | qualifying_races | idchallenge | coastpenalty | bobegin | boend | maxboats | theme | vacfreq |
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+
| 20081102 | Belfast - Man - Ouessant - Les Sables d'Olonne **QUALIF Vent des Globes** | -1 | 1225530000 | -5867 | 54658 | boat_Imoca2008 | 1225533600 | 0 | 10 | NULL | | NULL | 1800 | 0 | 0 | 0 | NULL | 5 |
| 20081103 | Lisboa - Ouessant<->Aber Ildut - Les Sables d'Olonne **QUALIF Vent des Globes** | -1 | 1225738800 | -9134 | 38704 | boat_Imoca2008 | 1225742400 | 0 | 150 | NULL | | NULL | 900 | 0 | 0 | 0 | NULL | 5 |
| 20081109 | Le Vent Des Globes | -1 | 1226232120 | -1790 | 46473 | boat_Imoca2008 | 1226836800 | 0 | 50 | 0 | | NULL | 10800 | 0 | 0 | 0 | NULL | 5 |
| 20090913 | La Moqueca de Peixe | -1 | 1252843200 | -1352 | 46036 | boat_Mono650 | 1252886400 | 0 | 50 | NULL | | NULL | 1800 | 0 | 0 | 0 | NULL | 5 |
| 20091003 | La Moqueca de Peixe 2 | 0 | 1254567600 | -16940 | 32610 | boat_Mono650 | 1254610800 | 0 | 50 | NULL | | NULL | 1800 | 0 | 0 | 0 | NULL | 5 |
+----------+---------------------------------------------------------------------------------+---------+------------+-----------+----------+----------------+------------+----------+--------------+-----------+------------------+-------------+--------------+---------+-------+----------+-------+---------+

+----------+---------+------------+------------+-------------------------+
| idraces | wporder | idwaypoint | laisser_au | wptype |
+----------+---------+------------+------------+-------------------------+
| 20081102 | 1 | 2008110201 | 999 | classement |
| 20081102 | 2 | 2008110202 | 999 | classement |
| 20081102 | 3 | 2008110203 | 999 | classement |
| 20081102 | 4 | 2008110204 | 999 | Finish |
| 20081103 | 1 | 2008110301 | 999 | classement |
| 20081103 | 2 | 2008110302 | 999 | classement |
| 20081103 | 3 | 2008110303 | 999 | Finish |
| 20081109 | 1 | 2008110911 | 999 | Atlantic IceGate |
| 20081109 | 2 | 2008110901 | 999 | Cape of Good Hope |
| 20081109 | 3 | 2008110912 | 999 | Kergelen IceGate |
| 20081109 | 4 | 2008110902 | 999 | Heard Island |
| 20081109 | 5 | 2008110913 | 999 | West Australian IceGate |
| 20081109 | 6 | 2008110903 | 999 | Cape Leuwin |
| 20081109 | 7 | 2008110914 | 999 | East Australian IceGate |
| 20081109 | 8 | 2008110915 | 999 | New-Zealand IceGate |
| 20081109 | 9 | 2008110916 | 999 | West Pacific IceGate |
| 20081109 | 10 | 2008110917 | 999 | East Pacific IceGate |
| 20081109 | 11 | 2008110904 | 999 | Cape Horn |
| 20081109 | 12 | 2008110905 | 999 | Finish |
| 20090913 | 1 | 2009091301 | 999 | Finish |
| 20091003 | 1 | 2009100301 | 999 | Finish |
+----------+---------+------------+------------+-------------------------+



  • les utilisateurs renseignent actuellement directement en SQL et transmettent à Phille, libellé de l'IC, n°topic créé par Phille.

[~]$ mysql -e "desc races"
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| idraces | int(11) | NO | PRI | NULL | auto_increment |
| racename | varchar(255) | NO | | | |
| started | int(11) | NO | | 0 | |
| deptime | bigint(14) | YES | | NULL | |
| startlong | int(11) | NO | | 0 | |
| startlat | int(11) | NO | | 0 | |
| boattype | varchar(255) | YES | | NULL | |
| closetime | bigint(20) | YES | | NULL | |
| racetype | int(11) | YES | | NULL | |
| firstpcttime | bigint(20) | YES | | NULL | |
| depend_on | int(11) | YES | | NULL | |
| qualifying_races | text | YES | | NULL | |
| idchallenge | text | YES | | NULL | |
| coastpenalty | int(11) | YES | | 0 | |
| bobegin | bigint(20) | YES | | 0 | |
| boend | bigint(20) | YES | | 0 | |
| maxboats | int(11) | YES | | 0 | |
| theme | varchar(30) | YES | | NULL | |
| vacfreq | tinyint(4) | YES | | 5 | |
+------------------+--------------+------+-----+---------+----------------+

améliorer les performances : on devrait supprimer la colonne depend_on (on l'utilisera sans doute jamais, en fait) et la colonne idchallenge un jour. Ne pas prendre la peine de les valoriser, donc.