J' ai la chance de connaitre le Java. C' est pas très complique mais il faut être organise.
La j' ai juste parler algorithmie. La prochaine étape c' est la mise en code. La il devrait y avoir texte en commentaire et code.
Bien evidement, j' ai choisit de décortiquer ce que doit faire le code avant de le réaliser.
Je suis en train d'éditer une BDD sous SQL. Bah oui ça commence par des abréviations compliquées.
Mon problème est le suivant. Je cherche à optimiser le stockage des corps de page dans un VARCHAR (255) mais est-ce bien suffisant pour stocker une page ? J'ai regardé du côté TEXT, mais peu d'informations pratique m'ont poussé à demander au chef ce qu'il en était.
Si je compte faire une page au-delà de 2000 caractères UTF-8, quel format et quelle limite dois-je prendre ?
Je suppose que tu parles de MySQL.
Évidemment que non c'est insuffisant.
On ne stocke pas une zone de texte dans un varchar. Varchar ça sert uniquement à stocker une valeur alphanumérique d'une chaine en gros.
Perso je colle des longtext pour tous mes champs de saisie multiligne.
- TEXT ou BLOB : un objet BLOB ou TEXT ayant une longueur maximale de 65 535 caractères
- MEDIUMTEXT ou MEDIUMBLOB : un objet BLOB ou TEXT ayant une longueur maximale de 16 777 215 caractères
- LONGTEXT ou LONGBLOB : un objet BLOB ou TEXT ayant une longueur maximale de 4 294 967 295 caractères
Donc il faudrait pour de longs articles ayant du BBCODE que je migre sur sur MEDIUMBLOB mais alors il fautd éclarer comment en MYSQL ?
Comme ceci :
<?php
$create_table_page_site = "
CREATE TABLE `$dataBase`.`page_site` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Identifiant de la page',
`titre` VARCHAR( 50 ) NOT NULL DEFAULT 'Titre' COMMENT 'Titre de la page',
`description` MEDIUMBLOB ( 255 ) NOT NULL DEFAULT 'Description' COMMENT 'Description de la page',
`mots_clef` VARCHAR ( 255 ) NOT NULL DEFAULT 'Vide' COMMENT 'Mots clefs de la page séparé par une virgule',
`contenu` VARCHAR ( 255 ) NOT NULL DEFAULT 'Vide' COMMENT 'Contenu de la page',
`date` DATETIME NOT NULL COMMENT 'Date de modification de la page',
`user` INT( 5 ) NOT NULL DEFAULT '1' COMMENT 'Administrateur ayant modifié la page',
`visible` ENUM( 'oui', 'non' ) NOT NULL COMMENT 'Indique si la page doit être visible ou pas'
) ENGINE = MYISAM ;
";
mysql_query($create_table_page_site, $connexion);
?>
CREATE TABLE IF NOT EXISTS `page_site` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Identifiant de la page',
`titre` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'Titre de la page',
`description` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'Description de la page',
`mots_clef` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'Mots clefs de la page séparé par une virgule',
`contenu` longtext COLLATE utf8_unicode_ci NOT NULL COMMENT 'Contenu de la page',
`date` datetime NOT NULL COMMENT 'Date de modification de la page',
`user` int(5) NOT NULL DEFAULT '1' COMMENT 'Administrateur ayant modifié la page',
`visible` enum('oui','non') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Indique si la page doit être visible ou pas',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;