Artifact 70b074d04f31d16f4c3b4b6004facb5a2ed77a99:


0000: 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20  CREATE TABLE IF 
0010: 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6e 66 69  NOT EXISTS confi
0020: 67 20 28 0a 2d 2d 20 43 6f 6e 66 69 67 75 72 61  g (.-- Configura
0030: 74 69 6f 6e 20 64 65 20 47 61 72 72 61 64 69 6e  tion de Garradin
0040: 0a 20 20 20 20 63 6c 65 20 54 45 58 54 20 50 52  .    cle TEXT PR
0050: 49 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e 55  IMARY KEY NOT NU
0060: 4c 4c 2c 0a 20 20 20 20 76 61 6c 65 75 72 20 54  LL,.    valeur T
0070: 45 58 54 0a 29 3b 0a 0a 2d 2d 20 4f 6e 20 73 74  EXT.);..-- On st
0080: 6f 63 6b 65 20 69 63 69 20 6c 65 73 20 49 44 20  ocke ici les ID 
0090: 64 65 20 63 61 74 c3 a9 67 6f 72 69 65 20 64 65  de cat..gorie de
00a0: 20 63 6f 6d 70 74 61 20 63 6f 72 72 65 73 70 6f   compta correspo
00b0: 6e 64 61 6e 74 20 61 75 78 20 74 79 70 65 73 20  ndant aux types 
00c0: 73 70 c3 a9 63 69 61 75 78 0a 2d 2d 20 63 6f 6d  sp..ciaux.-- com
00d0: 70 74 61 5f 63 61 74 65 67 6f 72 69 65 5f 63 6f  pta_categorie_co
00e0: 74 69 73 61 74 69 6f 6e 73 20 3d 3e 20 69 64 5f  tisations => id_
00f0: 63 61 74 65 67 6f 72 69 65 0a 2d 2d 20 63 6f 6d  categorie.-- com
0100: 70 74 61 5f 63 61 74 65 67 6f 72 69 65 5f 64 6f  pta_categorie_do
0110: 6e 73 20 3d 3e 20 69 64 5f 63 61 74 65 67 6f 72  ns => id_categor
0120: 69 65 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45  ie..CREATE TABLE
0130: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 6d   IF NOT EXISTS m
0140: 65 6d 62 72 65 73 5f 63 61 74 65 67 6f 72 69 65  embres_categorie
0150: 73 0a 2d 2d 20 43 61 74 c3 a9 67 6f 72 69 65 73  s.-- Cat..gories
0160: 20 64 65 20 6d 65 6d 62 72 65 73 0a 28 0a 20 20   de membres.(.  
0170: 20 20 69 64 20 49 4e 54 45 47 45 52 20 50 52 49    id INTEGER PRI
0180: 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e 55 4c  MARY KEY NOT NUL
0190: 4c 2c 0a 20 20 20 20 6e 6f 6d 20 54 45 58 54 20  L,.    nom TEXT 
01a0: 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 64 65  NOT NULL,.    de
01b0: 73 63 72 69 70 74 69 6f 6e 20 54 45 58 54 20 4e  scription TEXT N
01c0: 55 4c 4c 2c 0a 0a 20 20 20 20 64 72 6f 69 74 5f  ULL,..    droit_
01d0: 77 69 6b 69 20 49 4e 54 45 47 45 52 20 4e 4f 54  wiki INTEGER NOT
01e0: 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c   NULL DEFAULT 1,
01f0: 0a 20 20 20 20 64 72 6f 69 74 5f 6d 65 6d 62 72  .    droit_membr
0200: 65 73 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e  es INTEGER NOT N
0210: 55 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c 0a 20  ULL DEFAULT 1,. 
0220: 20 20 20 64 72 6f 69 74 5f 63 6f 6d 70 74 61 20     droit_compta 
0230: 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c  INTEGER NOT NULL
0240: 20 44 45 46 41 55 4c 54 20 31 2c 0a 20 20 20 20   DEFAULT 1,.    
0250: 64 72 6f 69 74 5f 69 6e 73 63 72 69 70 74 69 6f  droit_inscriptio
0260: 6e 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  n INTEGER NOT NU
0270: 4c 4c 20 44 45 46 41 55 4c 54 20 30 2c 0a 20 20  LL DEFAULT 0,.  
0280: 20 20 64 72 6f 69 74 5f 63 6f 6e 6e 65 78 69 6f    droit_connexio
0290: 6e 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  n INTEGER NOT NU
02a0: 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c 0a 20 20  LL DEFAULT 1,.  
02b0: 20 20 64 72 6f 69 74 5f 63 6f 6e 66 69 67 20 49    droit_config I
02c0: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
02d0: 44 45 46 41 55 4c 54 20 30 2c 0a 20 20 20 20 63  DEFAULT 0,.    c
02e0: 61 63 68 65 72 20 49 4e 54 45 47 45 52 20 4e 4f  acher INTEGER NO
02f0: 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 30  T NULL DEFAULT 0
0300: 2c 0a 0a 20 20 20 20 69 64 5f 63 6f 74 69 73 61  ,..    id_cotisa
0310: 74 69 6f 6e 5f 6f 62 6c 69 67 61 74 6f 69 72 65  tion_obligatoire
0320: 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20 52 45   INTEGER NULL RE
0330: 46 45 52 45 4e 43 45 53 20 63 6f 74 69 73 61 74  FERENCES cotisat
0340: 69 6f 6e 73 20 28 69 64 29 0a 29 3b 0a 0a 2d 2d  ions (id).);..--
0350: 20 4d 65 6d 62 72 65 73 20 64 65 20 6c 27 61 73   Membres de l'as
0360: 73 6f 0a 2d 2d 20 54 61 62 6c 65 20 64 79 6e 61  so.-- Table dyna
0370: 6d 69 71 75 65 20 67 c3 a9 6e c3 a9 72 c3 a9 65  mique g..n..r..e
0380: 20 70 61 72 20 6c 27 61 70 70 6c 69 63 61 74 69   par l'applicati
0390: 6f 6e 0a 2d 2d 20 76 6f 69 72 20 47 61 72 72 61  on.-- voir Garra
03a0: 64 69 6e 5c 4d 65 6d 62 72 65 73 5c 43 68 61 6d  din\Membres\Cham
03b0: 70 73 2e 70 68 70 0a 0a 43 52 45 41 54 45 20 54  ps.php..CREATE T
03c0: 41 42 4c 45 20 6d 65 6d 62 72 65 73 5f 73 65 73  ABLE membres_ses
03d0: 73 69 6f 6e 73 0a 2d 2d 20 53 65 73 73 69 6f 6e  sions.-- Session
03e0: 73 0a 28 0a 20 20 20 20 73 65 6c 65 63 74 65 75  s.(.    selecteu
03f0: 72 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c  r TEXT NOT NULL,
0400: 0a 20 20 20 20 68 61 73 68 20 54 45 58 54 20 4e  .    hash TEXT N
0410: 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 69 64 5f  OT NULL,.    id_
0420: 6d 65 6d 62 72 65 20 49 4e 54 45 47 45 52 20 4e  membre INTEGER N
0430: 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 65 78 70  OT NULL,.    exp
0440: 69 72 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c  ire TEXT NOT NUL
0450: 4c 20 43 48 45 43 4b 20 28 64 61 74 65 74 69 6d  L CHECK (datetim
0460: 65 28 65 78 70 69 72 65 29 20 49 53 20 4e 4f 54  e(expire) IS NOT
0470: 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 74 69   NULL AND dateti
0480: 6d 65 28 65 78 70 69 72 65 29 20 3d 20 65 78 70  me(expire) = exp
0490: 69 72 65 29 2c 0a 0a 20 20 20 20 46 4f 52 45 49  ire),..    FOREI
04a0: 47 4e 20 4b 45 59 20 28 69 64 5f 6d 65 6d 62 72  GN KEY (id_membr
04b0: 65 29 20 52 45 46 45 52 45 4e 43 45 53 20 6d 65  e) REFERENCES me
04c0: 6d 62 72 65 73 20 28 69 64 29 2c 0a 20 20 20 20  mbres (id),.    
04d0: 50 52 49 4d 41 52 59 20 4b 45 59 20 28 73 65 6c  PRIMARY KEY (sel
04e0: 65 63 74 65 75 72 2c 20 69 64 5f 6d 65 6d 62 72  ecteur, id_membr
04f0: 65 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41  e).);..CREATE TA
0500: 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54  BLE IF NOT EXIST
0510: 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 0a 2d 2d  S cotisations.--
0520: 20 54 79 70 65 73 20 64 65 20 63 6f 74 69 73 61   Types de cotisa
0530: 74 69 6f 6e 73 20 65 74 20 61 63 74 69 76 69 74  tions et activit
0540: c3 a9 73 0a 28 0a 20 20 20 20 69 64 20 49 4e 54  ..s.(.    id INT
0550: 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59  EGER PRIMARY KEY
0560: 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 69   NOT NULL,.    i
0570: 64 5f 63 61 74 65 67 6f 72 69 65 5f 63 6f 6d 70  d_categorie_comp
0580: 74 61 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 2c  ta INTEGER NULL,
0590: 20 2d 2d 20 4e 55 4c 4c 20 73 69 20 6c 65 20 74   -- NULL si le t
05a0: 79 70 65 20 6e 27 65 73 74 20 70 61 73 20 61 73  ype n'est pas as
05b0: 73 6f 63 69 c3 a9 20 61 75 74 6f 6d 61 74 69 71  soci.. automatiq
05c0: 75 65 6d 65 6e 74 20 c3 a0 20 6c 61 20 63 6f 6d  uement .. la com
05d0: 70 74 61 0a 0a 20 20 20 20 69 6e 74 69 74 75 6c  pta..    intitul
05e0: 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c  e TEXT NOT NULL,
05f0: 0a 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e  .    description
0600: 20 54 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20   TEXT NULL,.    
0610: 6d 6f 6e 74 61 6e 74 20 52 45 41 4c 20 4e 4f 54  montant REAL NOT
0620: 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 64 75 72 65   NULL,..    dure
0630: 65 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 2c 20  e INTEGER NULL, 
0640: 2d 2d 20 45 6e 20 6a 6f 75 72 73 0a 20 20 20 20  -- En jours.    
0650: 64 65 62 75 74 20 54 45 58 54 20 4e 55 4c 4c 2c  debut TEXT NULL,
0660: 20 2d 2d 20 74 69 6d 65 73 74 61 6d 70 0a 20 20   -- timestamp.  
0670: 20 20 66 69 6e 20 54 45 58 54 20 4e 55 4c 4c 2c    fin TEXT NULL,
0680: 0a 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45  ..    FOREIGN KE
0690: 59 20 28 69 64 5f 63 61 74 65 67 6f 72 69 65 5f  Y (id_categorie_
06a0: 63 6f 6d 70 74 61 29 20 52 45 46 45 52 45 4e 43  compta) REFERENC
06b0: 45 53 20 63 6f 6d 70 74 61 5f 63 61 74 65 67 6f  ES compta_catego
06c0: 72 69 65 73 20 28 69 64 29 0a 29 3b 0a 0a 43 52  ries (id).);..CR
06d0: 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f  EATE TABLE IF NO
06e0: 54 20 45 58 49 53 54 53 20 63 6f 74 69 73 61 74  T EXISTS cotisat
06f0: 69 6f 6e 73 5f 6d 65 6d 62 72 65 73 0a 2d 2d 20  ions_membres.-- 
0700: 45 6e 72 65 67 69 73 74 72 65 6d 65 6e 74 20 64  Enregistrement d
0710: 65 73 20 63 6f 74 69 73 61 74 69 6f 6e 73 20 65  es cotisations e
0720: 74 20 61 63 74 69 76 69 74 c3 a9 73 0a 28 0a 20  t activit..s.(. 
0730: 20 20 20 69 64 20 49 4e 54 45 47 45 52 20 4e 4f     id INTEGER NO
0740: 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b  T NULL PRIMARY K
0750: 45 59 2c 0a 20 20 20 20 69 64 5f 6d 65 6d 62 72  EY,.    id_membr
0760: 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  e INTEGER NOT NU
0770: 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20 6d 65  LL REFERENCES me
0780: 6d 62 72 65 73 20 28 69 64 29 2c 0a 20 20 20 20  mbres (id),.    
0790: 69 64 5f 63 6f 74 69 73 61 74 69 6f 6e 20 49 4e  id_cotisation IN
07a0: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52  TEGER NOT NULL R
07b0: 45 46 45 52 45 4e 43 45 53 20 63 6f 74 69 73 61  EFERENCES cotisa
07c0: 74 69 6f 6e 73 20 28 69 64 29 2c 0a 0a 20 20 20  tions (id),..   
07d0: 20 64 61 74 65 20 54 45 58 54 20 4e 4f 54 20 4e   date TEXT NOT N
07e0: 55 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52  ULL DEFAULT CURR
07f0: 45 4e 54 5f 44 41 54 45 20 43 48 45 43 4b 20 28  ENT_DATE CHECK (
0800: 64 61 74 65 28 64 61 74 65 29 20 49 53 20 4e 4f  date(date) IS NO
0810: 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 28  T NULL AND date(
0820: 64 61 74 65 29 20 3d 20 64 61 74 65 29 0a 29 3b  date) = date).);
0830: 0a 0a 43 52 45 41 54 45 20 55 4e 49 51 55 45 20  ..CREATE UNIQUE 
0840: 49 4e 44 45 58 20 49 46 20 4e 4f 54 20 45 58 49  INDEX IF NOT EXI
0850: 53 54 53 20 63 6d 5f 75 6e 69 71 75 65 20 4f 4e  STS cm_unique ON
0860: 20 63 6f 74 69 73 61 74 69 6f 6e 73 5f 6d 65 6d   cotisations_mem
0870: 62 72 65 73 20 28 69 64 5f 6d 65 6d 62 72 65 2c  bres (id_membre,
0880: 20 69 64 5f 63 6f 74 69 73 61 74 69 6f 6e 2c 20   id_cotisation, 
0890: 64 61 74 65 29 3b 0a 0a 43 52 45 41 54 45 20 54  date);..CREATE T
08a0: 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53  ABLE IF NOT EXIS
08b0: 54 53 20 6d 65 6d 62 72 65 73 5f 6f 70 65 72 61  TS membres_opera
08c0: 74 69 6f 6e 73 0a 2d 2d 20 4c 69 61 69 73 69 6f  tions.-- Liaisio
08d0: 6e 20 64 65 73 20 65 6e 72 65 67 69 73 74 72 65  n des enregistre
08e0: 6d 65 6e 74 20 64 65 73 20 70 61 69 65 6d 65 6e  ment des paiemen
08f0: 74 73 20 65 6e 20 63 6f 6d 70 74 61 0a 28 0a 20  ts en compta.(. 
0900: 20 20 20 69 64 5f 6d 65 6d 62 72 65 20 49 4e 54     id_membre INT
0910: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45  EGER NOT NULL RE
0920: 46 45 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73  FERENCES membres
0930: 20 28 69 64 29 2c 0a 20 20 20 20 69 64 5f 6f 70   (id),.    id_op
0940: 65 72 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20  eration INTEGER 
0950: 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e  NOT NULL REFEREN
0960: 43 45 53 20 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e  CES compta_journ
0970: 61 6c 20 28 69 64 29 2c 0a 20 20 20 20 69 64 5f  al (id),.    id_
0980: 63 6f 74 69 73 61 74 69 6f 6e 20 49 4e 54 45 47  cotisation INTEG
0990: 45 52 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  ER NULL REFERENC
09a0: 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 5f 6d  ES cotisations_m
09b0: 65 6d 62 72 65 73 20 28 69 64 29 2c 0a 0a 20 20  embres (id),..  
09c0: 20 20 50 52 49 4d 41 52 59 20 4b 45 59 20 28 69    PRIMARY KEY (i
09d0: 64 5f 6d 65 6d 62 72 65 2c 20 69 64 5f 6f 70 65  d_membre, id_ope
09e0: 72 61 74 69 6f 6e 29 0a 29 3b 0a 0a 43 52 45 41  ration).);..CREA
09f0: 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20  TE TABLE IF NOT 
0a00: 45 58 49 53 54 53 20 72 61 70 70 65 6c 73 0a 2d  EXISTS rappels.-
0a10: 2d 20 52 61 70 70 65 6c 73 20 64 65 20 64 65 76  - Rappels de dev
0a20: 6f 69 72 20 72 65 6e 6f 75 76 65 6c 6c 65 72 20  oir renouveller 
0a30: 75 6e 65 20 63 6f 74 69 73 61 74 69 6f 6e 0a 28  une cotisation.(
0a40: 0a 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20  .    id INTEGER 
0a50: 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59  NOT NULL PRIMARY
0a60: 20 4b 45 59 2c 0a 20 20 20 20 69 64 5f 63 6f 74   KEY,.    id_cot
0a70: 69 73 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20  isation INTEGER 
0a80: 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e  NOT NULL REFEREN
0a90: 43 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 20  CES cotisations 
0aa0: 28 69 64 29 2c 0a 0a 20 20 20 20 64 65 6c 61 69  (id),..    delai
0ab0: 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c   INTEGER NOT NUL
0ac0: 4c 2c 20 2d 2d 20 44 c3 a9 6c 61 69 20 65 6e 20  L, -- D..lai en 
0ad0: 6a 6f 75 72 73 20 70 6f 75 72 20 65 6e 76 6f 79  jours pour envoy
0ae0: 65 72 20 6c 65 20 72 61 70 70 65 6c 0a 0a 20 20  er le rappel..  
0af0: 20 20 73 75 6a 65 74 20 54 45 58 54 20 4e 4f 54    sujet TEXT NOT
0b00: 20 4e 55 4c 4c 2c 0a 20 20 20 20 74 65 78 74 65   NULL,.    texte
0b10: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 0a 29   TEXT NOT NULL.)
0b20: 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20  ;..CREATE TABLE 
0b30: 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 72 61  IF NOT EXISTS ra
0b40: 70 70 65 6c 73 5f 65 6e 76 6f 79 65 73 0a 2d 2d  ppels_envoyes.--
0b50: 20 45 6e 72 65 67 69 73 74 72 65 6d 65 6e 74 20   Enregistrement 
0b60: 64 65 73 20 72 61 70 70 65 6c 73 20 65 6e 76 6f  des rappels envo
0b70: 79 c3 a9 73 20 c3 a0 20 71 75 69 20 65 74 20 71  y..s .. qui et q
0b80: 75 61 6e 64 0a 28 0a 20 20 20 20 69 64 20 49 4e  uand.(.    id IN
0b90: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 50  TEGER NOT NULL P
0ba0: 52 49 4d 41 52 59 20 4b 45 59 2c 0a 0a 20 20 20  RIMARY KEY,..   
0bb0: 20 69 64 5f 6d 65 6d 62 72 65 20 49 4e 54 45 47   id_membre INTEG
0bc0: 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45  ER NOT NULL REFE
0bd0: 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73 20 28  RENCES membres (
0be0: 69 64 29 2c 0a 20 20 20 20 69 64 5f 63 6f 74 69  id),.    id_coti
0bf0: 73 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20 4e  sation INTEGER N
0c00: 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  OT NULL REFERENC
0c10: 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 20 28  ES cotisations (
0c20: 69 64 29 2c 0a 20 20 20 20 69 64 5f 72 61 70 70  id),.    id_rapp
0c30: 65 6c 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20  el INTEGER NULL 
0c40: 52 45 46 45 52 45 4e 43 45 53 20 72 61 70 70 65  REFERENCES rappe
0c50: 6c 73 20 28 69 64 29 2c 0a 0a 20 20 20 20 64 61  ls (id),..    da
0c60: 74 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c  te TEXT NOT NULL
0c70: 20 44 45 46 41 55 4c 54 20 43 55 52 52 45 4e 54   DEFAULT CURRENT
0c80: 5f 54 49 4d 45 53 54 41 4d 50 20 43 48 45 43 4b  _TIMESTAMP CHECK
0c90: 20 28 64 61 74 65 28 64 61 74 65 29 20 49 53 20   (date(date) IS 
0ca0: 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74  NOT NULL AND dat
0cb0: 65 28 64 61 74 65 29 20 3d 20 64 61 74 65 29 2c  e(date) = date),
0cc0: 0a 0a 20 20 20 20 6d 65 64 69 61 20 49 4e 54 45  ..    media INTE
0cd0: 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 2d 2d 20  GER NOT NULL -- 
0ce0: 4d c3 a9 64 69 61 20 75 74 69 6c 69 73 c3 a9 20  M..dia utilis.. 
0cf0: 70 6f 75 72 20 6c 65 20 72 61 70 70 65 6c 20 3a  pour le rappel :
0d00: 20 31 20 3d 20 65 6d 61 69 6c 2c 20 32 20 3d 20   1 = email, 2 = 
0d10: 63 6f 75 72 72 69 65 72 2c 20 33 20 3d 20 61 75  courrier, 3 = au
0d20: 74 72 65 0a 29 3b 0a 0a 2d 2d 0a 2d 2d 20 57 49  tre.);..--.-- WI
0d30: 4b 49 0a 2d 2d 0a 0a 43 52 45 41 54 45 20 54 41  KI.--..CREATE TA
0d40: 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54  BLE IF NOT EXIST
0d50: 53 20 77 69 6b 69 5f 70 61 67 65 73 0a 2d 2d 20  S wiki_pages.-- 
0d60: 50 61 67 65 73 20 64 75 20 77 69 6b 69 0a 28 0a  Pages du wiki.(.
0d70: 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20 50      id INTEGER P
0d80: 52 49 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e  RIMARY KEY NOT N
0d90: 55 4c 4c 2c 0a 20 20 20 20 75 72 69 20 54 45 58  ULL,.    uri TEX
0da0: 54 20 4e 4f 54 20 4e 55 4c 4c 2c 20 2d 2d 20 55  T NOT NULL, -- U
0db0: 52 49 20 75 6e 69 71 75 65 20 28 c3 a9 71 75 69  RI unique (..qui
0dc0: 76 61 6c 65 6e 74 20 4e 6f 6d 50 61 67 65 57 69  valent NomPageWi
0dd0: 6b 69 29 0a 20 20 20 20 74 69 74 72 65 20 54 45  ki).    titre TE
0de0: 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20  XT NOT NULL,.   
0df0: 20 64 61 74 65 5f 63 72 65 61 74 69 6f 6e 20 54   date_creation T
0e00: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46  EXT NOT NULL DEF
0e10: 41 55 4c 54 20 43 55 52 52 45 4e 54 5f 54 49 4d  AULT CURRENT_TIM
0e20: 45 53 54 41 4d 50 20 43 48 45 43 4b 20 28 64 61  ESTAMP CHECK (da
0e30: 74 65 74 69 6d 65 28 64 61 74 65 5f 63 72 65 61  tetime(date_crea
0e40: 74 69 6f 6e 29 20 49 53 20 4e 4f 54 20 4e 55 4c  tion) IS NOT NUL
0e50: 4c 20 41 4e 44 20 64 61 74 65 74 69 6d 65 28 64  L AND datetime(d
0e60: 61 74 65 5f 63 72 65 61 74 69 6f 6e 29 20 3d 20  ate_creation) = 
0e70: 64 61 74 65 5f 63 72 65 61 74 69 6f 6e 29 2c 0a  date_creation),.
0e80: 20 20 20 20 64 61 74 65 5f 6d 6f 64 69 66 69 63      date_modific
0e90: 61 74 69 6f 6e 20 54 45 58 54 20 4e 4f 54 20 4e  ation TEXT NOT N
0ea0: 55 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52  ULL DEFAULT CURR
0eb0: 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50 20 43 48  ENT_TIMESTAMP CH
0ec0: 45 43 4b 20 28 64 61 74 65 74 69 6d 65 28 64 61  ECK (datetime(da
0ed0: 74 65 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29  te_modification)
0ee0: 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44   IS NOT NULL AND
0ef0: 20 64 61 74 65 74 69 6d 65 28 64 61 74 65 5f 6d   datetime(date_m
0f00: 6f 64 69 66 69 63 61 74 69 6f 6e 29 20 3d 20 64  odification) = d
0f10: 61 74 65 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e  ate_modification
0f20: 29 2c 0a 20 20 20 20 70 61 72 65 6e 74 20 49 4e  ),.    parent IN
0f30: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 44  TEGER NOT NULL D
0f40: 45 46 41 55 4c 54 20 30 2c 20 2d 2d 20 49 44 20  EFAULT 0, -- ID 
0f50: 64 65 20 6c 61 20 70 61 67 65 20 70 61 72 65 6e  de la page paren
0f60: 74 0a 20 20 20 20 72 65 76 69 73 69 6f 6e 20 49  t.    revision I
0f70: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
0f80: 44 45 46 41 55 4c 54 20 30 2c 20 2d 2d 20 4e 75  DEFAULT 0, -- Nu
0f90: 6d c3 a9 72 6f 20 64 65 20 72 c3 a9 76 69 73 69  m..ro de r..visi
0fa0: 6f 6e 20 28 63 6f 6d 6d 65 6e 63 65 20 c3 a0 20  on (commence .. 
0fb0: 30 20 73 69 20 70 61 73 20 64 65 20 74 65 78 74  0 si pas de text
0fc0: 65 2c 20 2b 31 20 c3 a0 20 63 68 61 71 75 65 20  e, +1 .. chaque 
0fd0: 63 68 61 6e 67 65 6d 65 6e 74 20 64 75 20 74 65  changement du te
0fe0: 78 74 65 29 0a 20 20 20 20 64 72 6f 69 74 5f 6c  xte).    droit_l
0ff0: 65 63 74 75 72 65 20 49 4e 54 45 47 45 52 20 4e  ecture INTEGER N
1000: 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20  OT NULL DEFAULT 
1010: 30 2c 20 2d 2d 20 41 63 63 c3 a8 73 20 65 6e 20  0, -- Acc..s en 
1020: 6c 65 63 74 75 72 65 20 28 2d 31 20 3d 20 70 75  lecture (-1 = pu
1030: 62 6c 69 63 20 5b 73 69 74 65 20 77 65 62 5d 2c  blic [site web],
1040: 20 30 20 3d 20 74 6f 75 73 20 63 65 75 78 20 71   0 = tous ceux q
1050: 75 69 20 6f 6e 74 20 61 63 63 c3 a8 73 20 65 6e  ui ont acc..s en
1060: 20 6c 65 63 74 75 72 65 20 61 75 20 77 69 6b 69   lecture au wiki
1070: 2c 20 31 2b 20 3d 20 49 44 20 64 65 20 67 72 6f  , 1+ = ID de gro
1080: 75 70 65 29 0a 20 20 20 20 64 72 6f 69 74 5f 65  upe).    droit_e
1090: 63 72 69 74 75 72 65 20 49 4e 54 45 47 45 52 20  criture INTEGER 
10a0: 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54  NOT NULL DEFAULT
10b0: 20 30 20 2d 2d 20 41 63 63 c3 a8 73 20 65 6e 20   0 -- Acc..s en 
10c0: c3 a9 63 72 69 74 75 72 65 20 28 30 20 3d 20 74  ..criture (0 = t
10d0: 6f 75 73 20 63 65 75 78 20 71 75 69 20 6f 6e 74  ous ceux qui ont
10e0: 20 64 72 6f 69 74 20 64 27 c3 a9 63 72 69 74 75   droit d'..critu
10f0: 72 65 20 73 75 72 20 6c 65 20 77 69 6b 69 2c 20  re sur le wiki, 
1100: 31 2b 20 3d 20 49 44 20 64 65 20 67 72 6f 75 70  1+ = ID de group
1110: 65 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 55 4e  e).);..CREATE UN
1120: 49 51 55 45 20 49 4e 44 45 58 20 49 46 20 4e 4f  IQUE INDEX IF NO
1130: 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f 75 72  T EXISTS wiki_ur
1140: 69 20 4f 4e 20 77 69 6b 69 5f 70 61 67 65 73 20  i ON wiki_pages 
1150: 28 75 72 69 29 3b 0a 0a 43 52 45 41 54 45 20 56  (uri);..CREATE V
1160: 49 52 54 55 41 4c 20 54 41 42 4c 45 20 49 46 20  IRTUAL TABLE IF 
1170: 4e 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f  NOT EXISTS wiki_
1180: 72 65 63 68 65 72 63 68 65 20 55 53 49 4e 47 20  recherche USING 
1190: 66 74 73 34 0a 2d 2d 20 54 61 62 6c 65 20 64 75  fts4.-- Table du
11a0: 70 6c 69 71 75 c3 a9 65 20 70 6f 75 72 20 63 68  pliqu..e pour ch
11b0: 65 72 63 68 65 72 20 75 6e 65 20 70 61 67 65 0a  ercher une page.
11c0: 28 0a 20 20 20 20 69 64 20 49 4e 54 20 50 52 49  (.    id INT PRI
11d0: 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e 55 4c  MARY KEY NOT NUL
11e0: 4c 2c 20 2d 2d 20 43 6c c3 a9 20 65 78 74 65 72  L, -- Cl.. exter
11f0: 6e 65 20 6f 62 6c 69 67 61 74 6f 69 72 65 0a 20  ne obligatoire. 
1200: 20 20 20 74 69 74 72 65 20 54 45 58 54 20 4e 4f     titre TEXT NO
1210: 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 63 6f 6e 74  T NULL,.    cont
1220: 65 6e 75 20 54 45 58 54 20 4e 55 4c 4c 2c 20 2d  enu TEXT NULL, -
1230: 2d 20 43 6f 6e 74 65 6e 75 20 64 65 20 6c 61 20  - Contenu de la 
1240: 64 65 72 6e 69 c3 a8 72 65 20 72 c3 a9 76 69 73  derni..re r..vis
1250: 69 6f 6e 0a 20 20 20 20 46 4f 52 45 49 47 4e 20  ion.    FOREIGN 
1260: 4b 45 59 20 28 69 64 29 20 52 45 46 45 52 45 4e  KEY (id) REFEREN
1270: 43 45 53 20 77 69 6b 69 5f 70 61 67 65 73 28 69  CES wiki_pages(i
1280: 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41  d).);..CREATE TA
1290: 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54  BLE IF NOT EXIST
12a0: 53 20 77 69 6b 69 5f 72 65 76 69 73 69 6f 6e 73  S wiki_revisions
12b0: 0a 2d 2d 20 52 c3 a9 76 69 73 69 6f 6e 73 20 64  .-- R..visions d
12c0: 75 20 63 6f 6e 74 65 6e 75 20 64 65 73 20 70 61  u contenu des pa
12d0: 67 65 73 0a 28 0a 20 20 20 20 69 64 5f 70 61 67  ges.(.    id_pag
12e0: 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  e INTEGER NOT NU
12f0: 4c 4c 2c 0a 20 20 20 20 72 65 76 69 73 69 6f 6e  LL,.    revision
1300: 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 2c 0a 0a   INTEGER NULL,..
1310: 20 20 20 20 69 64 5f 61 75 74 65 75 72 20 49 4e      id_auteur IN
1320: 54 45 47 45 52 20 4e 55 4c 4c 2c 0a 0a 20 20 20  TEGER NULL,..   
1330: 20 63 6f 6e 74 65 6e 75 20 54 45 58 54 20 4e 4f   contenu TEXT NO
1340: 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 6d 6f 64 69  T NULL,.    modi
1350: 66 69 63 61 74 69 6f 6e 20 54 45 58 54 20 4e 55  fication TEXT NU
1360: 4c 4c 2c 20 2d 2d 20 44 65 73 63 72 69 70 74 69  LL, -- Descripti
1370: 6f 6e 20 64 65 73 20 6d 6f 64 69 66 69 63 61 74  on des modificat
1380: 69 6f 6e 73 20 65 66 66 65 63 74 75 c3 a9 65 73  ions effectu..es
1390: 0a 20 20 20 20 63 68 69 66 66 72 65 6d 65 6e 74  .    chiffrement
13a0: 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c   INTEGER NOT NUL
13b0: 4c 20 44 45 46 41 55 4c 54 20 30 2c 20 2d 2d 20  L DEFAULT 0, -- 
13c0: 31 20 73 69 20 6c 65 20 63 6f 6e 74 65 6e 75 20  1 si le contenu 
13d0: 65 73 74 20 63 68 69 66 66 72 c3 a9 2c 20 30 20  est chiffr.., 0 
13e0: 73 69 6e 6f 6e 0a 20 20 20 20 64 61 74 65 20 54  sinon.    date T
13f0: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46  EXT NOT NULL DEF
1400: 41 55 4c 54 20 43 55 52 52 45 4e 54 5f 54 49 4d  AULT CURRENT_TIM
1410: 45 53 54 41 4d 50 20 43 48 45 43 4b 20 28 64 61  ESTAMP CHECK (da
1420: 74 65 74 69 6d 65 28 64 61 74 65 29 20 49 53 20  tetime(date) IS 
1430: 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74  NOT NULL AND dat
1440: 65 74 69 6d 65 28 64 61 74 65 29 20 3d 20 64 61  etime(date) = da
1450: 74 65 29 2c 0a 0a 20 20 20 20 50 52 49 4d 41 52  te),..    PRIMAR
1460: 59 20 4b 45 59 28 69 64 5f 70 61 67 65 2c 20 72  Y KEY(id_page, r
1470: 65 76 69 73 69 6f 6e 29 2c 0a 20 20 20 20 46 4f  evision),.    FO
1480: 52 45 49 47 4e 20 4b 45 59 20 28 69 64 5f 70 61  REIGN KEY (id_pa
1490: 67 65 29 20 52 45 46 45 52 45 4e 43 45 53 20 77  ge) REFERENCES w
14a0: 69 6b 69 5f 70 61 67 65 73 20 28 69 64 29 2c 20  iki_pages (id), 
14b0: 2d 2d 20 43 6c c3 a9 20 65 78 74 65 72 6e 65 20  -- Cl.. externe 
14c0: 6f 62 6c 69 67 61 74 6f 69 72 65 0a 20 20 20 20  obligatoire.    
14d0: 46 4f 52 45 49 47 4e 20 4b 45 59 20 28 69 64 5f  FOREIGN KEY (id_
14e0: 61 75 74 65 75 72 29 20 52 45 46 45 52 45 4e 43  auteur) REFERENC
14f0: 45 53 20 6d 65 6d 62 72 65 73 20 28 69 64 29 20  ES membres (id) 
1500: 20 2d 2d 20 43 6c c3 a9 20 65 78 74 65 72 6e 65   -- Cl.. externe
1510: 20 6e 6f 6e 2d 6f 62 6c 69 67 61 74 6f 69 72 65   non-obligatoire
1520: 20 28 70 65 75 74 20 c3 aa 74 72 65 20 73 75 70   (peut ..tre sup
1530: 70 72 69 6d c3 a9 65 20 61 70 72 c3 a8 73 20 65  prim..e apr..s e
1540: 6e 20 63 61 73 20 64 65 20 73 75 70 70 72 65 73  n cas de suppres
1550: 73 69 6f 6e 20 64 65 20 6d 65 6d 62 72 65 29 0a  sion de membre).
1560: 29 3b 0a 0a 43 52 45 41 54 45 20 49 4e 44 45 58  );..CREATE INDEX
1570: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 77   IF NOT EXISTS w
1580: 69 6b 69 5f 72 65 76 69 73 69 6f 6e 73 5f 69 64  iki_revisions_id
1590: 5f 70 61 67 65 20 4f 4e 20 77 69 6b 69 5f 72 65  _page ON wiki_re
15a0: 76 69 73 69 6f 6e 73 20 28 69 64 5f 70 61 67 65  visions (id_page
15b0: 29 3b 0a 43 52 45 41 54 45 20 49 4e 44 45 58 20  );.CREATE INDEX 
15c0: 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 77 69  IF NOT EXISTS wi
15d0: 6b 69 5f 72 65 76 69 73 69 6f 6e 73 5f 69 64 5f  ki_revisions_id_
15e0: 61 75 74 65 75 72 20 4f 4e 20 77 69 6b 69 5f 72  auteur ON wiki_r
15f0: 65 76 69 73 69 6f 6e 73 20 28 69 64 5f 61 75 74  evisions (id_aut
1600: 65 75 72 29 3b 0a 0a 2d 2d 20 54 72 69 67 67 65  eur);..-- Trigge
1610: 72 73 20 70 6f 75 72 20 73 79 6e 63 68 72 6f 20  rs pour synchro 
1620: 61 76 65 63 20 74 61 62 6c 65 20 77 69 6b 69 5f  avec table wiki_
1630: 70 61 67 65 73 0a 43 52 45 41 54 45 20 54 52 49  pages.CREATE TRI
1640: 47 47 45 52 20 49 46 20 4e 4f 54 20 45 58 49 53  GGER IF NOT EXIS
1650: 54 53 20 77 69 6b 69 5f 72 65 63 68 65 72 63 68  TS wiki_recherch
1660: 65 5f 64 65 6c 65 74 65 20 41 46 54 45 52 20 44  e_delete AFTER D
1670: 45 4c 45 54 45 20 4f 4e 20 77 69 6b 69 5f 70 61  ELETE ON wiki_pa
1680: 67 65 73 0a 20 20 20 20 42 45 47 49 4e 0a 20 20  ges.    BEGIN.  
1690: 20 20 20 20 20 20 44 45 4c 45 54 45 20 46 52 4f        DELETE FRO
16a0: 4d 20 77 69 6b 69 5f 72 65 63 68 65 72 63 68 65  M wiki_recherche
16b0: 20 57 48 45 52 45 20 69 64 20 3d 20 6f 6c 64 2e   WHERE id = old.
16c0: 69 64 3b 0a 20 20 20 20 45 4e 44 3b 0a 0a 43 52  id;.    END;..CR
16d0: 45 41 54 45 20 54 52 49 47 47 45 52 20 49 46 20  EATE TRIGGER IF 
16e0: 4e 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f  NOT EXISTS wiki_
16f0: 72 65 63 68 65 72 63 68 65 5f 75 70 64 61 74 65  recherche_update
1700: 20 41 46 54 45 52 20 55 50 44 41 54 45 20 4f 46   AFTER UPDATE OF
1710: 20 69 64 2c 20 74 69 74 72 65 20 4f 4e 20 77 69   id, titre ON wi
1720: 6b 69 5f 70 61 67 65 73 0a 20 20 20 20 42 45 47  ki_pages.    BEG
1730: 49 4e 0a 20 20 20 20 20 20 20 20 55 50 44 41 54  IN.        UPDAT
1740: 45 20 77 69 6b 69 5f 72 65 63 68 65 72 63 68 65  E wiki_recherche
1750: 20 53 45 54 20 69 64 20 3d 20 6e 65 77 2e 69 64   SET id = new.id
1760: 2c 20 74 69 74 72 65 20 3d 20 6e 65 77 2e 74 69  , titre = new.ti
1770: 74 72 65 20 57 48 45 52 45 20 69 64 20 3d 20 6f  tre WHERE id = o
1780: 6c 64 2e 69 64 3b 0a 20 20 20 20 45 4e 44 3b 0a  ld.id;.    END;.
1790: 0a 2d 2d 20 54 72 69 67 67 65 72 20 70 6f 75 72  .-- Trigger pour
17a0: 20 6d 65 74 74 72 65 20 c3 a0 20 6a 6f 75 72 20   mettre .. jour 
17b0: 6c 65 20 63 6f 6e 74 65 6e 75 20 64 65 20 6c 61  le contenu de la
17c0: 20 74 61 62 6c 65 20 64 65 20 72 65 63 68 65 72   table de recher
17d0: 63 68 65 20 6c 6f 72 73 20 64 27 75 6e 65 20 6e  che lors d'une n
17e0: 6f 75 76 65 6c 6c 65 20 72 c3 a9 76 69 73 69 6f  ouvelle r..visio
17f0: 6e 0a 43 52 45 41 54 45 20 54 52 49 47 47 45 52  n.CREATE TRIGGER
1800: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 77   IF NOT EXISTS w
1810: 69 6b 69 5f 72 65 63 68 65 72 63 68 65 5f 63 6f  iki_recherche_co
1820: 6e 74 65 6e 75 5f 69 6e 73 65 72 74 20 41 46 54  ntenu_insert AFT
1830: 45 52 20 49 4e 53 45 52 54 20 4f 4e 20 77 69 6b  ER INSERT ON wik
1840: 69 5f 72 65 76 69 73 69 6f 6e 73 20 57 48 45 4e  i_revisions WHEN
1850: 20 6e 65 77 2e 63 68 69 66 66 72 65 6d 65 6e 74   new.chiffrement
1860: 20 21 3d 20 31 0a 20 20 20 20 42 45 47 49 4e 0a   != 1.    BEGIN.
1870: 20 20 20 20 20 20 20 20 55 50 44 41 54 45 20 77          UPDATE w
1880: 69 6b 69 5f 72 65 63 68 65 72 63 68 65 20 53 45  iki_recherche SE
1890: 54 20 63 6f 6e 74 65 6e 75 20 3d 20 6e 65 77 2e  T contenu = new.
18a0: 63 6f 6e 74 65 6e 75 20 57 48 45 52 45 20 69 64  contenu WHERE id
18b0: 20 3d 20 6e 65 77 2e 69 64 5f 70 61 67 65 3b 0a   = new.id_page;.
18c0: 20 20 20 20 45 4e 44 3b 0a 0a 2d 2d 20 53 69 20      END;..-- Si 
18d0: 6c 65 20 63 6f 6e 74 65 6e 75 20 65 73 74 20 63  le contenu est c
18e0: 68 69 66 66 72 c3 a9 2c 20 6c 61 20 72 65 63 68  hiffr.., la rech
18f0: 65 72 63 68 65 20 6e 27 61 66 66 69 63 68 65 20  erche n'affiche 
1900: 70 61 73 20 64 65 20 63 6f 6e 74 65 6e 75 0a 43  pas de contenu.C
1910: 52 45 41 54 45 20 54 52 49 47 47 45 52 20 49 46  REATE TRIGGER IF
1920: 20 4e 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69   NOT EXISTS wiki
1930: 5f 72 65 63 68 65 72 63 68 65 5f 63 6f 6e 74 65  _recherche_conte
1940: 6e 75 5f 63 68 69 66 66 72 65 20 41 46 54 45 52  nu_chiffre AFTER
1950: 20 49 4e 53 45 52 54 20 4f 4e 20 77 69 6b 69 5f   INSERT ON wiki_
1960: 72 65 76 69 73 69 6f 6e 73 20 57 48 45 4e 20 6e  revisions WHEN n
1970: 65 77 2e 63 68 69 66 66 72 65 6d 65 6e 74 20 3d  ew.chiffrement =
1980: 20 31 0a 20 20 20 20 42 45 47 49 4e 0a 20 20 20   1.    BEGIN.   
1990: 20 20 20 20 20 55 50 44 41 54 45 20 77 69 6b 69       UPDATE wiki
19a0: 5f 72 65 63 68 65 72 63 68 65 20 53 45 54 20 63  _recherche SET c
19b0: 6f 6e 74 65 6e 75 20 3d 20 27 27 20 57 48 45 52  ontenu = '' WHER
19c0: 45 20 69 64 20 3d 20 6e 65 77 2e 69 64 5f 70 61  E id = new.id_pa
19d0: 67 65 3b 0a 20 20 20 20 45 4e 44 3b 0a 0a 2f 2a  ge;.    END;../*
19e0: 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 77 69  .CREATE TABLE wi
19f0: 6b 69 5f 73 75 69 76 69 0a 2d 2d 20 53 75 69 76  ki_suivi.-- Suiv
1a00: 69 20 64 65 73 20 70 61 67 65 73 0a 28 0a 20 20  i des pages.(.  
1a10: 20 20 69 64 5f 6d 65 6d 62 72 65 20 49 4e 54 45    id_membre INTE
1a20: 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20  GER NOT NULL,.  
1a30: 20 20 69 64 5f 70 61 67 65 20 49 4e 54 45 47 45    id_page INTEGE
1a40: 52 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20  R NOT NULL,..   
1a50: 20 50 52 49 4d 41 52 59 20 4b 45 59 20 28 69 64   PRIMARY KEY (id
1a60: 5f 6d 65 6d 62 72 65 2c 20 69 64 5f 70 61 67 65  _membre, id_page
1a70: 29 2c 0a 0a 20 20 20 20 46 4f 52 45 49 47 4e 20  ),..    FOREIGN 
1a80: 4b 45 59 20 28 69 64 5f 70 61 67 65 29 20 52 45  KEY (id_page) RE
1a90: 46 45 52 45 4e 43 45 53 20 77 69 6b 69 5f 70 61  FERENCES wiki_pa
1aa0: 67 65 73 20 28 69 64 29 2c 20 2d 2d 20 43 6c c3  ges (id), -- Cl.
1ab0: a9 20 65 78 74 65 72 6e 65 20 6f 62 6c 69 67 61  . externe obliga
1ac0: 74 6f 69 72 65 0a 20 20 20 20 46 4f 52 45 49 47  toire.    FOREIG
1ad0: 4e 20 4b 45 59 20 28 69 64 5f 6d 65 6d 62 72 65  N KEY (id_membre
1ae0: 29 20 52 45 46 45 52 45 4e 43 45 53 20 6d 65 6d  ) REFERENCES mem
1af0: 62 72 65 73 20 28 69 64 29 20 2d 2d 20 43 6c c3  bres (id) -- Cl.
1b00: a9 20 65 78 74 65 72 6e 65 20 6f 62 6c 69 67 61  . externe obliga
1b10: 74 6f 69 72 65 0a 29 3b 0a 2a 2f 0a 0a 2d 2d 0a  toire.);.*/..--.
1b20: 2d 2d 20 43 4f 4d 50 54 41 0a 2d 2d 0a 0a 43 52  -- COMPTA.--..CR
1b30: 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f  EATE TABLE IF NO
1b40: 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f  T EXISTS compta_
1b50: 65 78 65 72 63 69 63 65 73 0a 2d 2d 20 45 78 65  exercices.-- Exe
1b60: 72 63 69 63 65 73 0a 28 0a 20 20 20 20 69 64 20  rcices.(.    id 
1b70: 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c  INTEGER NOT NULL
1b80: 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 0a 0a 20   PRIMARY KEY,.. 
1b90: 20 20 20 6c 69 62 65 6c 6c 65 20 54 45 58 54 20     libelle TEXT 
1ba0: 4e 4f 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 64  NOT NULL,..    d
1bb0: 65 62 75 74 20 54 45 58 54 20 4e 4f 54 20 4e 55  ebut TEXT NOT NU
1bc0: 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52 45  LL DEFAULT CURRE
1bd0: 4e 54 5f 44 41 54 45 20 43 48 45 43 4b 20 28 64  NT_DATE CHECK (d
1be0: 61 74 65 28 64 65 62 75 74 29 20 49 53 20 4e 4f  ate(debut) IS NO
1bf0: 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 28  T NULL AND date(
1c00: 64 65 62 75 74 29 20 3d 20 64 65 62 75 74 29 2c  debut) = debut),
1c10: 0a 20 20 20 20 66 69 6e 20 54 45 58 54 20 4e 55  .    fin TEXT NU
1c20: 4c 4c 20 44 45 46 41 55 4c 54 20 4e 55 4c 4c 20  LL DEFAULT NULL 
1c30: 43 48 45 43 4b 20 28 66 69 6e 20 49 53 20 4e 55  CHECK (fin IS NU
1c40: 4c 4c 20 4f 52 20 28 64 61 74 65 28 66 69 6e 29  LL OR (date(fin)
1c50: 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44   IS NOT NULL AND
1c60: 20 64 61 74 65 28 66 69 6e 29 20 3d 20 66 69 6e   date(fin) = fin
1c70: 29 29 2c 0a 0a 20 20 20 20 63 6c 6f 74 75 72 65  )),..    cloture
1c80: 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c   INTEGER NOT NUL
1c90: 4c 20 44 45 46 41 55 4c 54 20 30 0a 29 3b 0a 0a  L DEFAULT 0.);..
1ca0: 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46  .CREATE TABLE IF
1cb0: 20 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6d 70   NOT EXISTS comp
1cc0: 74 61 5f 63 6f 6d 70 74 65 73 0a 2d 2d 20 50 6c  ta_comptes.-- Pl
1cd0: 61 6e 20 63 6f 6d 70 74 61 62 6c 65 0a 28 0a 20  an comptable.(. 
1ce0: 20 20 20 69 64 20 54 45 58 54 20 4e 4f 54 20 4e     id TEXT NOT N
1cf0: 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b 45 59 2c  ULL PRIMARY KEY,
1d00: 20 2d 2d 20 70 65 75 74 20 63 6f 6e 74 65 6e 69   -- peut conteni
1d10: 72 20 64 65 73 20 6c 65 74 74 72 65 73 2c 20 65  r des lettres, e
1d20: 67 2e 20 35 33 41 2c 20 35 33 42 2c 20 65 74 63  g. 53A, 53B, etc
1d30: 2e 0a 20 20 20 20 70 61 72 65 6e 74 20 54 45 58  ..    parent TEX
1d40: 54 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55  T NOT NULL DEFAU
1d50: 4c 54 20 30 2c 0a 0a 20 20 20 20 6c 69 62 65 6c  LT 0,..    libel
1d60: 6c 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c  le TEXT NOT NULL
1d70: 2c 0a 0a 20 20 20 20 70 6f 73 69 74 69 6f 6e 20  ,..    position 
1d80: 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c  INTEGER NOT NULL
1d90: 2c 20 2d 2d 20 70 6f 73 69 74 69 6f 6e 20 61 63  , -- position ac
1da0: 74 69 66 2f 70 61 73 73 69 66 2f 63 68 61 72 67  tif/passif/charg
1db0: 65 2f 70 72 6f 64 75 69 74 0a 20 20 20 20 70 6c  e/produit.    pl
1dc0: 61 6e 5f 63 6f 6d 70 74 61 62 6c 65 20 49 4e 54  an_comptable INT
1dd0: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 44 45  EGER NOT NULL DE
1de0: 46 41 55 4c 54 20 31 2c 20 2d 2d 20 31 20 3d 20  FAULT 1, -- 1 = 
1df0: 66 61 69 74 20 70 61 72 74 69 65 20 64 75 20 70  fait partie du p
1e00: 6c 61 6e 20 63 6f 6d 70 74 61 62 6c 65 2c 20 30  lan comptable, 0
1e10: 20 3d 20 61 20 c3 a9 74 c3 a9 20 61 6a 6f 75 74   = a ..t.. ajout
1e20: c3 a9 20 70 61 72 20 6c 27 75 74 69 6c 69 73 61  .. par l'utilisa
1e30: 74 65 75 72 0a 20 20 20 20 64 65 73 61 63 74 69  teur.    desacti
1e40: 76 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e  ve INTEGER NOT N
1e50: 55 4c 4c 20 44 45 46 41 55 4c 54 20 30 20 2d 2d  ULL DEFAULT 0 --
1e60: 20 31 20 3d 20 63 6f 6d 70 74 65 20 68 69 73 74   1 = compte hist
1e70: 6f 72 69 71 75 65 20 64 c3 a9 73 61 63 74 69 76  orique d..sactiv
1e80: c3 a9 0a 29 3b 0a 0a 43 52 45 41 54 45 20 49 4e  ...);..CREATE IN
1e90: 44 45 58 20 49 46 20 4e 4f 54 20 45 58 49 53 54  DEX IF NOT EXIST
1ea0: 53 20 63 6f 6d 70 74 61 5f 63 6f 6d 70 74 65 73  S compta_comptes
1eb0: 5f 70 61 72 65 6e 74 20 4f 4e 20 63 6f 6d 70 74  _parent ON compt
1ec0: 61 5f 63 6f 6d 70 74 65 73 20 28 70 61 72 65 6e  a_comptes (paren
1ed0: 74 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c  t);..CREATE TABL
1ee0: 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20  E IF NOT EXISTS 
1ef0: 63 6f 6d 70 74 61 5f 63 6f 6d 70 74 65 73 5f 62  compta_comptes_b
1f00: 61 6e 63 61 69 72 65 73 0a 2d 2d 20 43 6f 6d 70  ancaires.-- Comp
1f10: 74 65 73 20 62 61 6e 63 61 69 72 65 73 0a 28 0a  tes bancaires.(.
1f20: 20 20 20 20 69 64 20 54 45 58 54 20 4e 4f 54 20      id TEXT NOT 
1f30: 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b 45 59  NULL PRIMARY KEY
1f40: 2c 0a 0a 20 20 20 20 62 61 6e 71 75 65 20 54 45  ,..    banque TE
1f50: 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 0a 20 20  XT NOT NULL,..  
1f60: 20 20 69 62 61 6e 20 54 45 58 54 20 4e 55 4c 4c    iban TEXT NULL
1f70: 2c 0a 20 20 20 20 62 69 63 20 54 45 58 54 20 4e  ,.    bic TEXT N
1f80: 55 4c 4c 2c 0a 0a 20 20 20 20 46 4f 52 45 49 47  ULL,..    FOREIG
1f90: 4e 20 4b 45 59 28 69 64 29 20 52 45 46 45 52 45  N KEY(id) REFERE
1fa0: 4e 43 45 53 20 63 6f 6d 70 74 61 5f 63 6f 6d 70  NCES compta_comp
1fb0: 74 65 73 28 69 64 29 0a 29 3b 0a 0a 43 52 45 41  tes(id).);..CREA
1fc0: 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20  TE TABLE IF NOT 
1fd0: 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f 6a 6f  EXISTS compta_jo
1fe0: 75 72 6e 61 6c 0a 2d 2d 20 4a 6f 75 72 6e 61 6c  urnal.-- Journal
1ff0: 20 64 65 73 20 6f 70 c3 a9 72 61 74 69 6f 6e 73   des op..rations
2000: 20 63 6f 6d 70 74 61 62 6c 65 73 0a 28 0a 20 20   comptables.(.  
2010: 20 20 69 64 20 49 4e 54 45 47 45 52 20 50 52 49    id INTEGER PRI
2020: 4d 41 52 59 20 4b 45 59 2c 0a 0a 20 20 20 20 6c  MARY KEY,..    l
2030: 69 62 65 6c 6c 65 20 54 45 58 54 20 4e 4f 54 20  ibelle TEXT NOT 
2040: 4e 55 4c 4c 2c 0a 20 20 20 20 72 65 6d 61 72 71  NULL,.    remarq
2050: 75 65 73 20 54 45 58 54 20 4e 55 4c 4c 2c 0a 20  ues TEXT NULL,. 
2060: 20 20 20 6e 75 6d 65 72 6f 5f 70 69 65 63 65 20     numero_piece 
2070: 54 45 58 54 20 4e 55 4c 4c 2c 20 2d 2d 20 4e c2  TEXT NULL, -- N.
2080: b0 20 64 65 20 70 69 c3 a8 63 65 20 63 6f 6d 70  . de pi..ce comp
2090: 74 61 62 6c 65 0a 0a 20 20 20 20 6d 6f 6e 74 61  table..    monta
20a0: 6e 74 20 52 45 41 4c 20 4e 4f 54 20 4e 55 4c 4c  nt REAL NOT NULL
20b0: 2c 0a 0a 20 20 20 20 64 61 74 65 20 54 45 58 54  ,..    date TEXT
20c0: 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c   NOT NULL DEFAUL
20d0: 54 20 43 55 52 52 45 4e 54 5f 44 41 54 45 20 43  T CURRENT_DATE C
20e0: 48 45 43 4b 20 28 64 61 74 65 28 64 61 74 65 29  HECK (date(date)
20f0: 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44   IS NOT NULL AND
2100: 20 64 61 74 65 28 64 61 74 65 29 20 3d 20 64 61   date(date) = da
2110: 74 65 29 2c 0a 20 20 20 20 6d 6f 79 65 6e 5f 70  te),.    moyen_p
2120: 61 69 65 6d 65 6e 74 20 54 45 58 54 20 4e 55 4c  aiement TEXT NUL
2130: 4c 2c 0a 20 20 20 20 6e 75 6d 65 72 6f 5f 63 68  L,.    numero_ch
2140: 65 71 75 65 20 54 45 58 54 20 4e 55 4c 4c 2c 0a  eque TEXT NULL,.
2150: 0a 20 20 20 20 63 6f 6d 70 74 65 5f 64 65 62 69  .    compte_debi
2160: 74 20 54 45 58 54 20 4e 55 4c 4c 2c 20 2d 2d 20  t TEXT NULL, -- 
2170: 4e c2 b0 20 64 75 20 63 6f 6d 70 74 65 20 64 61  N.. du compte da
2180: 6e 73 20 6c 65 20 70 6c 61 6e 2c 20 4e 55 4c 4c  ns le plan, NULL
2190: 20 65 73 74 20 75 74 69 6c 69 73 c3 a9 20 70 6f   est utilis.. po
21a0: 75 72 20 75 6e 65 20 6f 70 c3 a9 72 61 74 69 6f  ur une op..ratio
21b0: 6e 20 71 75 69 20 76 69 65 6e 74 20 64 27 75 6e  n qui vient d'un
21c0: 20 65 78 65 72 63 69 63 65 20 70 72 c3 a9 63 c3   exercice pr..c.
21d0: a9 64 65 6e 74 0a 20 20 20 20 63 6f 6d 70 74 65  .dent.    compte
21e0: 5f 63 72 65 64 69 74 20 54 45 58 54 20 4e 55 4c  _credit TEXT NUL
21f0: 4c 2c 20 2d 2d 20 4e c2 b0 20 64 75 20 63 6f 6d  L, -- N.. du com
2200: 70 74 65 20 64 61 6e 73 20 6c 65 20 70 6c 61 6e  pte dans le plan
2210: 0a 0a 20 20 20 20 69 64 5f 65 78 65 72 63 69 63  ..    id_exercic
2220: 65 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20 44  e INTEGER NULL D
2230: 45 46 41 55 4c 54 20 4e 55 4c 4c 2c 20 2d 2d 20  EFAULT NULL, -- 
2240: 45 6e 20 63 61 73 20 64 65 20 63 6f 6d 70 74 61  En cas de compta
2250: 20 73 69 6d 70 6c 65 2c 20 6c 27 65 78 65 72 63   simple, l'exerc
2260: 69 63 65 20 65 73 74 20 70 65 72 6d 61 6e 65 6e  ice est permanen
2270: 74 20 28 4e 55 4c 4c 29 0a 20 20 20 20 69 64 5f  t (NULL).    id_
2280: 61 75 74 65 75 72 20 49 4e 54 45 47 45 52 20 4e  auteur INTEGER N
2290: 55 4c 4c 2c 0a 20 20 20 20 69 64 5f 63 61 74 65  ULL,.    id_cate
22a0: 67 6f 72 69 65 20 49 4e 54 45 47 45 52 20 4e 55  gorie INTEGER NU
22b0: 4c 4c 2c 20 2d 2d 20 4e 75 6d c3 a9 72 6f 20 64  LL, -- Num..ro d
22c0: 65 20 63 61 74 c3 a9 67 6f 72 69 65 20 28 65 6e  e cat..gorie (en
22d0: 20 6d 6f 64 65 20 73 69 6d 70 6c 65 29 0a 0a 20   mode simple).. 
22e0: 20 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 28 6d     FOREIGN KEY(m
22f0: 6f 79 65 6e 5f 70 61 69 65 6d 65 6e 74 29 20 52  oyen_paiement) R
2300: 45 46 45 52 45 4e 43 45 53 20 63 6f 6d 70 74 61  EFERENCES compta
2310: 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74  _moyens_paiement
2320: 28 63 6f 64 65 29 2c 0a 20 20 20 20 46 4f 52 45  (code),.    FORE
2330: 49 47 4e 20 4b 45 59 28 63 6f 6d 70 74 65 5f 64  IGN KEY(compte_d
2340: 65 62 69 74 29 20 52 45 46 45 52 45 4e 43 45 53  ebit) REFERENCES
2350: 20 63 6f 6d 70 74 61 5f 63 6f 6d 70 74 65 73 28   compta_comptes(
2360: 69 64 29 2c 0a 20 20 20 20 46 4f 52 45 49 47 4e  id),.    FOREIGN
2370: 20 4b 45 59 28 63 6f 6d 70 74 65 5f 63 72 65 64   KEY(compte_cred
2380: 69 74 29 20 52 45 46 45 52 45 4e 43 45 53 20 63  it) REFERENCES c
2390: 6f 6d 70 74 61 5f 63 6f 6d 70 74 65 73 28 69 64  ompta_comptes(id
23a0: 29 2c 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b  ),.    FOREIGN K
23b0: 45 59 28 69 64 5f 65 78 65 72 63 69 63 65 29 20  EY(id_exercice) 
23c0: 52 45 46 45 52 45 4e 43 45 53 20 63 6f 6d 70 74  REFERENCES compt
23d0: 61 5f 65 78 65 72 63 69 63 65 73 28 69 64 29 2c  a_exercices(id),
23e0: 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45 59  .    FOREIGN KEY
23f0: 28 69 64 5f 61 75 74 65 75 72 29 20 52 45 46 45  (id_auteur) REFE
2400: 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73 28 69  RENCES membres(i
2410: 64 29 2c 0a 20 20 20 20 46 4f 52 45 49 47 4e 20  d),.    FOREIGN 
2420: 4b 45 59 28 69 64 5f 63 61 74 65 67 6f 72 69 65  KEY(id_categorie
2430: 29 20 52 45 46 45 52 45 4e 43 45 53 20 63 6f 6d  ) REFERENCES com
2440: 70 74 61 5f 63 61 74 65 67 6f 72 69 65 73 28 69  pta_categories(i
2450: 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 49 4e  d).);..CREATE IN
2460: 44 45 58 20 49 46 20 4e 4f 54 20 45 58 49 53 54  DEX IF NOT EXIST
2470: 53 20 63 6f 6d 70 74 61 5f 6f 70 65 72 61 74 69  S compta_operati
2480: 6f 6e 73 5f 65 78 65 72 63 69 63 65 20 4f 4e 20  ons_exercice ON 
2490: 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c 20 28  compta_journal (
24a0: 69 64 5f 65 78 65 72 63 69 63 65 29 3b 0a 43 52  id_exercice);.CR
24b0: 45 41 54 45 20 49 4e 44 45 58 20 49 46 20 4e 4f  EATE INDEX IF NO
24c0: 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f  T EXISTS compta_
24d0: 6f 70 65 72 61 74 69 6f 6e 73 5f 64 61 74 65 20  operations_date 
24e0: 4f 4e 20 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61  ON compta_journa
24f0: 6c 20 28 64 61 74 65 29 3b 0a 43 52 45 41 54 45  l (date);.CREATE
2500: 20 49 4e 44 45 58 20 49 46 20 4e 4f 54 20 45 58   INDEX IF NOT EX
2510: 49 53 54 53 20 63 6f 6d 70 74 61 5f 6f 70 65 72  ISTS compta_oper
2520: 61 74 69 6f 6e 73 5f 63 6f 6d 70 74 65 73 20 4f  ations_comptes O
2530: 4e 20 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c  N compta_journal
2540: 20 28 63 6f 6d 70 74 65 5f 64 65 62 69 74 2c 20   (compte_debit, 
2550: 63 6f 6d 70 74 65 5f 63 72 65 64 69 74 29 3b 0a  compte_credit);.
2560: 43 52 45 41 54 45 20 49 4e 44 45 58 20 49 46 20  CREATE INDEX IF 
2570: 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74  NOT EXISTS compt
2580: 61 5f 6f 70 65 72 61 74 69 6f 6e 73 5f 61 75 74  a_operations_aut
2590: 65 75 72 20 4f 4e 20 63 6f 6d 70 74 61 5f 6a 6f  eur ON compta_jo
25a0: 75 72 6e 61 6c 20 28 69 64 5f 61 75 74 65 75 72  urnal (id_auteur
25b0: 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45  );..CREATE TABLE
25c0: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 63   IF NOT EXISTS c
25d0: 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f 70 61 69  ompta_moyens_pai
25e0: 65 6d 65 6e 74 0a 2d 2d 20 4d 6f 79 65 6e 73 20  ement.-- Moyens 
25f0: 64 65 20 70 61 69 65 6d 65 6e 74 0a 28 0a 20 20  de paiement.(.  
2600: 20 20 63 6f 64 65 20 54 45 58 54 20 4e 4f 54 20    code TEXT NOT 
2610: 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b 45 59  NULL PRIMARY KEY
2620: 2c 0a 20 20 20 20 6e 6f 6d 20 54 45 58 54 20 4e  ,.    nom TEXT N
2630: 4f 54 20 4e 55 4c 4c 0a 29 3b 0a 0a 2d 2d 49 4e  OT NULL.);..--IN
2640: 53 45 52 54 20 49 4e 54 4f 20 63 6f 6d 70 74 61  SERT INTO compta
2650: 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74  _moyens_paiement
2660: 20 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41 4c   (code, nom) VAL
2670: 55 45 53 20 28 27 41 55 27 2c 20 27 41 75 74 72  UES ('AU', 'Autr
2680: 65 27 29 3b 0a 49 4e 53 45 52 54 20 4f 52 20 49  e');.INSERT OR I
2690: 47 4e 4f 52 45 20 49 4e 54 4f 20 63 6f 6d 70 74  GNORE INTO compt
26a0: 61 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e  a_moyens_paiemen
26b0: 74 20 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41  t (code, nom) VA
26c0: 4c 55 45 53 20 28 27 43 42 27 2c 20 27 43 61 72  LUES ('CB', 'Car
26d0: 74 65 20 62 6c 65 75 65 27 29 3b 0a 49 4e 53 45  te bleue');.INSE
26e0: 52 54 20 4f 52 20 49 47 4e 4f 52 45 20 49 4e 54  RT OR IGNORE INT
26f0: 4f 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f  O compta_moyens_
2700: 70 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c 20  paiement (code, 
2710: 6e 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 43 48  nom) VALUES ('CH
2720: 27 2c 20 27 43 68 c3 a8 71 75 65 27 29 3b 0a 49  ', 'Ch..que');.I
2730: 4e 53 45 52 54 20 4f 52 20 49 47 4e 4f 52 45 20  NSERT OR IGNORE 
2740: 49 4e 54 4f 20 63 6f 6d 70 74 61 5f 6d 6f 79 65  INTO compta_moye
2750: 6e 73 5f 70 61 69 65 6d 65 6e 74 20 28 63 6f 64  ns_paiement (cod
2760: 65 2c 20 6e 6f 6d 29 20 56 41 4c 55 45 53 20 28  e, nom) VALUES (
2770: 27 45 53 27 2c 20 27 45 73 70 c3 a8 63 65 73 27  'ES', 'Esp..ces'
2780: 29 3b 0a 49 4e 53 45 52 54 20 4f 52 20 49 47 4e  );.INSERT OR IGN
2790: 4f 52 45 20 49 4e 54 4f 20 63 6f 6d 70 74 61 5f  ORE INTO compta_
27a0: 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74 20  moyens_paiement 
27b0: 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41 4c 55  (code, nom) VALU
27c0: 45 53 20 28 27 50 52 27 2c 20 27 50 72 c3 a9 6c  ES ('PR', 'Pr..l
27d0: c3 a8 76 65 6d 65 6e 74 27 29 3b 0a 49 4e 53 45  ..vement');.INSE
27e0: 52 54 20 4f 52 20 49 47 4e 4f 52 45 20 49 4e 54  RT OR IGNORE INT
27f0: 4f 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f  O compta_moyens_
2800: 70 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c 20  paiement (code, 
2810: 6e 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 54 49  nom) VALUES ('TI
2820: 27 2c 20 27 54 49 50 27 29 3b 0a 49 4e 53 45 52  ', 'TIP');.INSER
2830: 54 20 4f 52 20 49 47 4e 4f 52 45 20 49 4e 54 4f  T OR IGNORE INTO
2840: 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f 70   compta_moyens_p
2850: 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c 20 6e  aiement (code, n
2860: 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 56 49 27  om) VALUES ('VI'
2870: 2c 20 27 56 69 72 65 6d 65 6e 74 27 29 3b 0a 0a  , 'Virement');..
2880: 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20  CREATE TABLE IF 
2890: 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74  NOT EXISTS compt
28a0: 61 5f 63 61 74 65 67 6f 72 69 65 73 0a 2d 2d 20  a_categories.-- 
28b0: 43 61 74 c3 a9 67 6f 72 69 65 73 20 70 6f 75 72  Cat..gories pour
28c0: 20 73 69 6d 70 6c 69 66 69 65 72 20 6c 65 20 70   simplifier le p
28d0: 6c 61 6e 20 63 6f 6d 70 74 61 62 6c 65 0a 28 0a  lan comptable.(.
28e0: 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20 4e      id INTEGER N
28f0: 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20  OT NULL PRIMARY 
2900: 4b 45 59 2c 0a 20 20 20 20 74 79 70 65 20 49 4e  KEY,.    type IN
2910: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 44  TEGER NOT NULL D
2920: 45 46 41 55 4c 54 20 31 2c 20 2d 2d 20 31 20 3d  EFAULT 1, -- 1 =
2930: 20 72 65 63 65 74 74 65 2c 20 2d 31 20 3d 20 64   recette, -1 = d
2940: c3 a9 70 65 6e 73 65 2c 20 30 20 3d 20 61 75 74  ..pense, 0 = aut
2950: 72 65 20 28 75 74 69 6c 69 73 c3 a9 20 75 6e 69  re (utilis.. uni
2960: 71 75 65 6d 65 6e 74 20 70 6f 75 72 20 6c 27 69  quement pour l'i
2970: 6e 74 65 72 66 61 63 65 29 0a 0a 20 20 20 20 69  nterface)..    i
2980: 6e 74 69 74 75 6c 65 20 54 45 58 54 20 4e 4f 54  ntitule TEXT NOT
2990: 20 4e 55 4c 4c 2c 0a 20 20 20 20 64 65 73 63 72   NULL,.    descr
29a0: 69 70 74 69 6f 6e 20 54 45 58 54 20 4e 55 4c 4c  iption TEXT NULL
29b0: 2c 0a 0a 20 20 20 20 63 6f 6d 70 74 65 20 54 45  ,..    compte TE
29c0: 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 20 2d 2d 20  XT NOT NULL, -- 
29d0: 43 6f 6d 70 74 65 20 61 66 66 65 63 74 c3 a9 20  Compte affect.. 
29e0: 70 61 72 20 63 65 74 74 65 20 63 61 74 c3 a9 67  par cette cat..g
29f0: 6f 72 69 65 0a 0a 20 20 20 20 46 4f 52 45 49 47  orie..    FOREIG
2a00: 4e 20 4b 45 59 28 63 6f 6d 70 74 65 29 20 52 45  N KEY(compte) RE
2a10: 46 45 52 45 4e 43 45 53 20 63 6f 6d 70 74 61 5f  FERENCES compta_
2a20: 63 6f 6d 70 74 65 73 28 69 64 29 0a 29 3b 0a 0a  comptes(id).);..
2a30: 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20  CREATE TABLE IF 
2a40: 4e 4f 54 20 45 58 49 53 54 53 20 70 6c 75 67 69  NOT EXISTS plugi
2a50: 6e 73 0a 28 0a 20 20 20 20 69 64 20 54 45 58 54  ns.(.    id TEXT
2a60: 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52   NOT NULL PRIMAR
2a70: 59 20 4b 45 59 2c 0a 20 20 20 20 6f 66 66 69 63  Y KEY,.    offic
2a80: 69 65 6c 20 49 4e 54 45 47 45 52 20 4e 4f 54 20  iel INTEGER NOT 
2a90: 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 30 2c 0a  NULL DEFAULT 0,.
2aa0: 20 20 20 20 6e 6f 6d 20 54 45 58 54 20 4e 4f 54      nom TEXT NOT
2ab0: 20 4e 55 4c 4c 2c 0a 20 20 20 20 64 65 73 63 72   NULL,.    descr
2ac0: 69 70 74 69 6f 6e 20 54 45 58 54 20 4e 55 4c 4c  iption TEXT NULL
2ad0: 2c 0a 20 20 20 20 61 75 74 65 75 72 20 54 45 58  ,.    auteur TEX
2ae0: 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 75 72 6c 20  T NULL,.    url 
2af0: 54 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 76  TEXT NULL,.    v
2b00: 65 72 73 69 6f 6e 20 54 45 58 54 20 4e 4f 54 20  ersion TEXT NOT 
2b10: 4e 55 4c 4c 2c 0a 20 20 20 20 6d 65 6e 75 20 49  NULL,.    menu I
2b20: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
2b30: 44 45 46 41 55 4c 54 20 30 2c 0a 20 20 20 20 63  DEFAULT 0,.    c
2b40: 6f 6e 66 69 67 20 54 45 58 54 20 4e 55 4c 4c 0a  onfig TEXT NULL.
2b50: 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45  );..CREATE TABLE
2b60: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 70   IF NOT EXISTS p
2b70: 6c 75 67 69 6e 73 5f 73 69 67 6e 61 75 78 0a 2d  lugins_signaux.-
2b80: 2d 20 41 73 73 6f 63 69 61 74 69 6f 6e 20 65 6e  - Association en
2b90: 74 72 65 20 70 6c 75 67 69 6e 73 20 65 74 20 73  tre plugins et s
2ba0: 69 67 6e 61 75 78 20 28 68 6f 6f 6b 73 29 0a 28  ignaux (hooks).(
2bb0: 0a 20 20 20 20 73 69 67 6e 61 6c 20 54 45 58 54  .    signal TEXT
2bc0: 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 70   NOT NULL,.    p
2bd0: 6c 75 67 69 6e 20 54 45 58 54 20 4e 4f 54 20 4e  lugin TEXT NOT N
2be0: 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20 70  ULL REFERENCES p
2bf0: 6c 75 67 69 6e 73 20 28 69 64 29 2c 0a 20 20 20  lugins (id),.   
2c00: 20 63 61 6c 6c 62 61 63 6b 20 54 45 58 54 20 4e   callback TEXT N
2c10: 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 50 52 49  OT NULL,.    PRI
2c20: 4d 41 52 59 20 4b 45 59 20 28 73 69 67 6e 61 6c  MARY KEY (signal
2c30: 2c 20 70 6c 75 67 69 6e 29 0a 29 3b 0a 0a 43 52  , plugin).);..CR
2c40: 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f  EATE TABLE IF NO
2c50: 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f  T EXISTS compta_
2c60: 72 61 70 70 72 6f 63 68 65 6d 65 6e 74 0a 2d 2d  rapprochement.--
2c70: 20 52 61 70 70 72 6f 63 68 65 6d 65 6e 74 20 65   Rapprochement e
2c80: 6e 74 72 65 20 63 6f 6d 70 74 61 20 65 74 20 72  ntre compta et r
2c90: 65 6c 65 76 c3 a9 73 20 64 65 20 63 6f 6d 70 74  elev..s de compt
2ca0: 65 73 0a 28 0a 20 20 20 20 69 64 5f 6f 70 65 72  es.(.    id_oper
2cb0: 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20 4e 4f  ation INTEGER NO
2cc0: 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b  T NULL PRIMARY K
2cd0: 45 59 20 52 45 46 45 52 45 4e 43 45 53 20 63 6f  EY REFERENCES co
2ce0: 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c 20 28 69 64  mpta_journal (id
2cf0: 29 2c 0a 20 20 20 20 64 61 74 65 20 54 45 58 54  ),.    date TEXT
2d00: 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c   NOT NULL DEFAUL
2d10: 54 20 43 55 52 52 45 4e 54 5f 54 49 4d 45 53 54  T CURRENT_TIMEST
2d20: 41 4d 50 20 43 48 45 43 4b 20 28 64 61 74 65 74  AMP CHECK (datet
2d30: 69 6d 65 28 64 61 74 65 29 20 49 53 20 4e 4f 54  ime(date) IS NOT
2d40: 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 74 69   NULL AND dateti
2d50: 6d 65 28 64 61 74 65 29 20 3d 20 64 61 74 65 29  me(date) = date)
2d60: 2c 0a 20 20 20 20 69 64 5f 61 75 74 65 75 72 20  ,.    id_auteur 
2d70: 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20 52 45 46  INTEGER NULL REF
2d80: 45 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73 20  ERENCES membres 
2d90: 28 69 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20  (id).);..CREATE 
2da0: 54 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49  TABLE IF NOT EXI
2db0: 53 54 53 20 66 69 63 68 69 65 72 73 0a 2d 2d 20  STS fichiers.-- 
2dc0: 44 6f 6e 6e c3 a9 65 73 20 73 75 72 20 6c 65 73  Donn..es sur les
2dd0: 20 66 69 63 68 69 65 72 73 0a 28 0a 20 20 20 20   fichiers.(.    
2de0: 69 64 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e  id INTEGER NOT N
2df0: 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b 45 59 2c  ULL PRIMARY KEY,
2e00: 0a 20 20 20 20 6e 6f 6d 20 54 45 58 54 20 4e 4f  .    nom TEXT NO
2e10: 54 20 4e 55 4c 4c 2c 20 2d 2d 20 6e 6f 6d 20 64  T NULL, -- nom d
2e20: 65 20 66 69 63 68 69 65 72 20 28 70 61 72 20 65  e fichier (par e
2e30: 78 65 6d 70 6c 65 20 69 6d 61 67 65 31 32 33 34  xemple image1234
2e40: 2e 6a 70 65 67 29 0a 20 20 20 20 74 79 70 65 20  .jpeg).    type 
2e50: 54 45 58 54 20 4e 55 4c 4c 2c 20 2d 2d 20 54 79  TEXT NULL, -- Ty
2e60: 70 65 20 4d 49 4d 45 0a 20 20 20 20 69 6d 61 67  pe MIME.    imag
2e70: 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  e INTEGER NOT NU
2e80: 4c 4c 20 44 45 46 41 55 4c 54 20 30 2c 20 2d 2d  LL DEFAULT 0, --
2e90: 20 31 20 3d 20 69 6d 61 67 65 20 72 65 63 6f 6e   1 = image recon
2ea0: 6e 75 65 0a 20 20 20 20 64 61 74 65 74 69 6d 65  nue.    datetime
2eb0: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 44   TEXT NOT NULL D
2ec0: 45 46 41 55 4c 54 20 43 55 52 52 45 4e 54 5f 54  EFAULT CURRENT_T
2ed0: 49 4d 45 53 54 41 4d 50 20 43 48 45 43 4b 20 28  IMESTAMP CHECK (
2ee0: 64 61 74 65 74 69 6d 65 28 64 61 74 65 74 69 6d  datetime(datetim
2ef0: 65 29 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41  e) IS NOT NULL A
2f00: 4e 44 20 64 61 74 65 74 69 6d 65 28 64 61 74 65  ND datetime(date
2f10: 74 69 6d 65 29 20 3d 20 64 61 74 65 74 69 6d 65  time) = datetime
2f20: 29 2c 20 2d 2d 20 44 61 74 65 20 64 27 61 6a 6f  ), -- Date d'ajo
2f30: 75 74 20 6f 75 20 6d 69 73 65 20 c3 a0 20 6a 6f  ut ou mise .. jo
2f40: 75 72 20 64 75 20 66 69 63 68 69 65 72 0a 20 20  ur du fichier.  
2f50: 20 20 69 64 5f 63 6f 6e 74 65 6e 75 20 49 4e 54    id_contenu INT
2f60: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45  EGER NOT NULL RE
2f70: 46 45 52 45 4e 43 45 53 20 66 69 63 68 69 65 72  FERENCES fichier
2f80: 73 5f 63 6f 6e 74 65 6e 75 20 28 69 64 29 0a 29  s_contenu (id).)
2f90: 3b 0a 0a 43 52 45 41 54 45 20 49 4e 44 45 58 20  ;..CREATE INDEX 
2fa0: 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 66 69  IF NOT EXISTS fi
2fb0: 63 68 69 65 72 73 5f 64 61 74 65 20 4f 4e 20 66  chiers_date ON f
2fc0: 69 63 68 69 65 72 73 20 28 64 61 74 65 74 69 6d  ichiers (datetim
2fd0: 65 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c  e);..CREATE TABL
2fe0: 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20  E IF NOT EXISTS 
2ff0: 66 69 63 68 69 65 72 73 5f 63 6f 6e 74 65 6e 75  fichiers_contenu
3000: 0a 2d 2d 20 43 6f 6e 74 65 6e 75 20 64 65 73 20  .-- Contenu des 
3010: 66 69 63 68 69 65 72 73 0a 28 0a 20 20 20 20 69  fichiers.(.    i
3020: 64 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  d INTEGER NOT NU
3030: 4c 4c 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 0a  LL PRIMARY KEY,.
3040: 20 20 20 20 68 61 73 68 20 54 45 58 54 20 4e 4f      hash TEXT NO
3050: 54 20 4e 55 4c 4c 2c 20 2d 2d 20 48 61 73 68 20  T NULL, -- Hash 
3060: 53 48 41 31 20 64 75 20 63 6f 6e 74 65 6e 75 20  SHA1 du contenu 
3070: 64 75 20 66 69 63 68 69 65 72 0a 20 20 20 20 74  du fichier.    t
3080: 61 69 6c 6c 65 20 49 4e 54 45 47 45 52 20 4e 4f  aille INTEGER NO
3090: 54 20 4e 55 4c 4c 2c 20 2d 2d 20 54 61 69 6c 6c  T NULL, -- Taill
30a0: 65 20 65 6e 20 6f 63 74 65 74 73 0a 20 20 20 20  e en octets.    
30b0: 63 6f 6e 74 65 6e 75 20 42 4c 4f 42 20 4e 55 4c  contenu BLOB NUL
30c0: 4c 0a 29 3b 0a 0a 43 52 45 41 54 45 20 55 4e 49  L.);..CREATE UNI
30d0: 51 55 45 20 49 4e 44 45 58 20 49 46 20 4e 4f 54  QUE INDEX IF NOT
30e0: 20 45 58 49 53 54 53 20 66 69 63 68 69 65 72 73   EXISTS fichiers
30f0: 5f 68 61 73 68 20 4f 4e 20 66 69 63 68 69 65 72  _hash ON fichier
3100: 73 5f 63 6f 6e 74 65 6e 75 20 28 68 61 73 68 29  s_contenu (hash)
3110: 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20  ;..CREATE TABLE 
3120: 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 66 69  IF NOT EXISTS fi
3130: 63 68 69 65 72 73 5f 6d 65 6d 62 72 65 73 0a 2d  chiers_membres.-
3140: 2d 20 41 73 73 6f 63 69 61 74 69 6f 6e 73 20 65  - Associations e
3150: 6e 74 72 65 20 66 69 63 68 69 65 72 73 20 65 74  ntre fichiers et
3160: 20 6d 65 6d 62 72 65 73 20 28 70 68 6f 74 6f 20   membres (photo 
3170: 64 65 20 70 72 6f 66 69 6c 20 70 61 72 20 65 78  de profil par ex
3180: 65 6d 70 6c 65 29 0a 28 0a 20 20 20 20 66 69 63  emple).(.    fic
3190: 68 69 65 72 20 49 4e 54 45 47 45 52 20 4e 4f 54  hier INTEGER NOT
31a0: 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53   NULL REFERENCES
31b0: 20 66 69 63 68 69 65 72 73 20 28 69 64 29 2c 0a   fichiers (id),.
31c0: 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20 4e      id INTEGER N
31d0: 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  OT NULL REFERENC
31e0: 45 53 20 6d 65 6d 62 72 65 73 20 28 69 64 29 2c  ES membres (id),
31f0: 0a 20 20 20 20 50 52 49 4d 41 52 59 20 4b 45 59  .    PRIMARY KEY
3200: 28 66 69 63 68 69 65 72 2c 20 69 64 29 0a 29 3b  (fichier, id).);
3210: 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 49  ..CREATE TABLE I
3220: 46 20 4e 4f 54 20 45 58 49 53 54 53 20 66 69 63  F NOT EXISTS fic
3230: 68 69 65 72 73 5f 77 69 6b 69 5f 70 61 67 65 73  hiers_wiki_pages
3240: 0a 2d 2d 20 41 73 73 6f 63 69 61 74 69 6f 6e 73  .-- Associations
3250: 20 65 6e 74 72 65 20 66 69 63 68 69 65 72 73 20   entre fichiers 
3260: 65 74 20 70 61 67 65 73 20 64 75 20 77 69 6b 69  et pages du wiki
3270: 0a 28 0a 20 20 20 20 66 69 63 68 69 65 72 20 49  .(.    fichier I
3280: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
3290: 52 45 46 45 52 45 4e 43 45 53 20 66 69 63 68 69  REFERENCES fichi
32a0: 65 72 73 20 28 69 64 29 2c 0a 20 20 20 20 69 64  ers (id),.    id
32b0: 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c   INTEGER NOT NUL
32c0: 4c 20 52 45 46 45 52 45 4e 43 45 53 20 77 69 6b  L REFERENCES wik
32d0: 69 5f 70 61 67 65 73 20 28 69 64 29 2c 0a 20 20  i_pages (id),.  
32e0: 20 20 50 52 49 4d 41 52 59 20 4b 45 59 28 66 69    PRIMARY KEY(fi
32f0: 63 68 69 65 72 2c 20 69 64 29 0a 29 3b 0a 0a 43  chier, id).);..C
3300: 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e  REATE TABLE IF N
3310: 4f 54 20 45 58 49 53 54 53 20 66 69 63 68 69 65  OT EXISTS fichie
3320: 72 73 5f 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61  rs_compta_journa
3330: 6c 0a 2d 2d 20 41 73 73 6f 63 69 61 74 69 6f 6e  l.-- Association
3340: 73 20 65 6e 74 72 65 20 66 69 63 68 69 65 72 73  s entre fichiers
3350: 20 65 74 20 6a 6f 75 72 6e 61 6c 20 64 65 20 63   et journal de c
3360: 6f 6d 70 74 61 20 28 70 69 c3 a8 63 65 20 63 6f  ompta (pi..ce co
3370: 6d 70 74 61 62 6c 65 20 70 61 72 20 65 78 65 6d  mptable par exem
3380: 70 6c 65 29 0a 28 0a 20 20 20 20 66 69 63 68 69  ple).(.    fichi
3390: 65 72 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e  er INTEGER NOT N
33a0: 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20 66  ULL REFERENCES f
33b0: 69 63 68 69 65 72 73 20 28 69 64 29 2c 0a 20 20  ichiers (id),.  
33c0: 20 20 69 64 20 49 4e 54 45 47 45 52 20 4e 4f 54    id INTEGER NOT
33d0: 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53   NULL REFERENCES
33e0: 20 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c 20   compta_journal 
33f0: 28 69 64 29 2c 0a 20 20 20 20 50 52 49 4d 41 52  (id),.    PRIMAR
3400: 59 20 4b 45 59 28 66 69 63 68 69 65 72 2c 20 69  Y KEY(fichier, i
3410: 64 29 0a 29 3b 0a                                d).);.