background preloader

Comment construire un CMS (gestionnaire de contenu)

Comment construire un CMS (gestionnaire de contenu)
Nous allons décrire pas à pas comment construire un système de gestion de contenu, qui utilise PHP comme langage de programmation, et XML ou MySQL pour stocker les données. Ce n'est pas un simple tutoriel, mais un projet concret pour construire un outil utilisable en production. Pourquoi construire un CMS? Des centaines de CMS gratuit sont disponibles, alors pourquoi en construire un autre? Intérêts du CMS final Une fois achevé, ce CMS permettra à tout utilisateur d'ajouter du contenu au site sans aucune connaissance des technologies utilisées pour le faire fonctionner. Pré-requis L'outil requiert pour le programmeur: - un hébergement supportant PHP pour tester les démos, - un éditeur HTML, - le compilateur Scriptol pour générer les plus gros morceaux de code PHP, - et optionnellement des bibliothèques sous licence LGPL pour étendre le CMS (avec un forum par exemple). Comment construire le CMS: la conception Construction d'un Blog Détails des composants Gestion des menus Administration Sitemap Related:  Structure Dynamiques (PhP, MYSQL, AJAX...)

PHP - Upload de fichiers L'envoi de fichier (upload) grâce à un formulaire HTML peut-être géré par le langage PHP . Formulaire d'envoi de fichiers La première chose à faire consiste à créer un formulaire HTML permettant à l'utilisateur d'ouvrir une boîte de dialogue permettant de choisir le fichier à envoyer : Il est impératif de ne pas oublier l'attribut enctype="multipart/form-data" ! Par ailleurs le champ MAX_FILE_SIZE est une indication de la taille maximum du fichier à uploader pour le navigateur, mais cela n'est pas suffisant pour s'assurer que les fichiers uploadés ne dépasseront pas une certaine taille: c'est une limite fixée sur l'ordinateur client (du visiteur). Configuration de PHP pour permettre l'upload Le fichier de configuration php.ini permet la configuration du serveur PHP . Si vous n'avez pas accès à la configuration (cas d'un site hébergé sur le serveur du fournisseur d'accès ou dans le cas d'un hébergement mutualisé), vous pouvez vérifier la configuration grâce à la fonction phpinfo() :

Exemple de conception d'un site dynamique Passons maintenant à la création de la base de données. Commencez par créer une base nomée BASE_TEST. Nous allons ensuite créer la table `pages`, en fonction des besoins ennoncés ci-dessus : Id_page : int auto_increment (clé primaire): identifiant unique Titre : varchar(255) : titre Mots_cles : varchar(255) : mots-clés Description : varchar(255) : description Contenu : text : contenu Id_parent : int : Identifiant de la page parent Afin de définir la page 'racine' du site, nous allons déclarer que son Id_parent vaudra 0. Il n'y aura donc qu'une seule page à posséder cet Id_parent. Code SQL correspondant Sélectionnez CREATE TABLE `pages` ( `Id_page` INT NOT NULL AUTO_INCREMENT , `Titre` VARCHAR( 255 ) NOT NULL , `Mots_cles` VARCHAR( 255 ) NOT NULL , `Description` VARCHAR( 255 ) NOT NULL , `Contenu` TEXT NOT NULL , `Id_parent` INT DEFAULT '1' NOT NULL , PRIMARY KEY ( `Id_page` ) ); Bon, un peu plus d'explications concernant l'Id_parent. SQL de remplissage de la table

Écrire un CMS en PHP - Un seul point d'entrée pour tout le site web Un seul point d'entrée pour tout le site web Dans ce chapitre, nous allons configurer le serveur Apache pour que toutes les requêtes vers le site soient redirigées vers un seul fichier : index.php . Pour tester le résultat en ligne, entrez dans la barre d'adresse de votre navigateur. Essayez plusieurs URLs à partir de comme . Vérifiez que le module rewrite est bien activé par Apache. LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so NOTE : Selon les distributions, la configuration d'Apache est souvent répartie dans plusieurs fichiers et vous devrez probablement suivre les directives Include jusqu'à ce que vous trouviez le bon. Sous Windows, la directive de chargement du module est un peu différente : LoadModule rewrite_module modules/mod_rewrite.so $ cd /etc/apache2/mods-enabled $ sudo ln -s .. Créez un dossier site0 dans /cms . <? NOTE : Ne pas fermer une balise <? <?

MySQL : initiation aux bases de données XP-Infos n° 11 – mai 2010 Article Nous terminons notre passage en revue des technologies Web par le système de base de données MySQL. Développé à l’origine par trois Scandinaves, MySQL est devenue la base de données open source la plus populaire au monde. Le code MySQL L’interaction avec une base de données se passe en deux étapes : les opérations sur la base de données utilisent le langage SQL (Structured Query Language, langage structuré de requêtes) ; c’est le code PHP (ou autre langage de programmation Web) qui transmet le code SQL à la base de données. Voici à quoi ressemble le code SQL : SELECT titre, auteur, date FROM livres WHERE stock = 'oui' ORDER BY date DESC Petites explications : Notre petite base de données est constituée d’une table livres, qui contient des lignes et des colonnes : Le code PHP pour MySQL Comme indiqué plus haut, c’est le code PHP qui va communiquer avec la base et lui transmettre les requêtes SQL. Explications : Utilité des bases de données Trucs et astuces

Cours de PHP 5 Ce cours vous apprendra à vous initier à tous les aspects du langage PHP, depuis la syntaxe jusqu'aux meilleures techniques de programmation. De nombreux exemples facilitent la compréhension par l'expérience. Nous verrons également d'autres aspects comme les méthodes de Test d'applications ainsi qu'une vision globale de la communauté PHP. 20 commentaires Lire l'article. Article lu 111144 fois. Vous avez aimé ce tutoriel ? inPartager Copyright © 2008 Guillaume Rossolini. Upload de fichier - PHP Facile! L'upload de fichier consiste à transférer un fichier de l'ordinateur de l'utilisateur vers le serveur web (il s'agit de l'opération inverse du téléchargement ou terme anglais download). Ceci peut vous permettre de proposer à un utilisateur de mettre en ligne des photos, des images. L'upload de fichier s'appuie tout simplement sur le protocole fourni par le navigateur. La première étape consiste donc à mettre en place un formulaire proposant un bouton, autorisant l'utilisateur à sélectionner un fichier sur son disque dur. Cela se fait grâce au bout de code HTML qui suit: Ce formulaire doit comporter les quelques spécificités suivantes: Mais que devient le fichier transféré sur le serveur web? Une fois, le fichier sélectionné et le bouton de validation du formulaire pressé, le navigateur va lire le contenu du fichier, le formatter et l'envoyer au serveur web (dans une requête HTTP). Le "moteur" PHP fourni alors de nouvelles informations dans un tableau $_FILE[] (depuis PHP 4.1).

Tutoriel de site dynamique - Classes d'abstraction I-A. Remerciements▲ I-B. Prélude▲ Ce tutoriel traite de l'organisation d'un site Web en séparant au maximum les couches impliquées, ce qui permet de rendre le code aisément maintenable. Je ne remettrai absolument pas en cause ses choix. I-C. Lorsque nous créons un site Web en PHP, nous nous rendons généralement compte qu'il y a deux éléments étrangers au code PHP. Je propose de réfléchir à séparer toutes les couches : cela aurait le mérite de rendre le code source du site Web plus facile à maintenir. Il s'agit de déléguer les tâches qui conviennent peu à PHP. Quelles sont les couches d'un site Web, du point de vue du navigateur ? La structure de la page et le contenu (HTML, XHTML, XML, etc.)) ; La présentation du contenu (CSS, XSL, etc.). Lorsque nous utilisons une feuille de style CSS, nous faisons exactement la même chose que ce que je m'apprête à expliquer : déléguer une tâche. Quelles sont les couches d'un site Web, du point de vue du serveur ? I-D. I-E. Le répertoire du site

CSS Débutant : cours et tutoriels sur les feuilles de style CSS Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL QBE est un langage de requêtes révolutionnaire concurrent à SQL. Il a été inventé par Moshe Zloof pour le compte de la compagnie IBM, en 1977. Paradox, contrairement aux autres SGBDR, travaille nativement en interface QBE lorsque l'on veut écrire des réquêtes. QBE signifie, Query By Exemple, c'est à dire, « requête par l?exemple »... Création : 26 août 2003 Tutoriel Expressions régulières PCRE Les bibliothèques d'expressions régulières de PHP Le support des expressions régulières dans PHP est assuré par deux bibliothèques: POSIX et PCRE. A première vue, les fonctions PCRE (preg_match...) ne diffèrent pas beaucoup des fonctions POSIX (ereg....). Les fonctions POSIX telles que ereg ou ereg_replace sont obsolètes à partir de la version PHP 5.3.0 et leur utilisation dans vos scripts produira une erreur. Il ne sera, dès lors, question dans ce tutoriel que d'optimisation des fonctions PCRE. Convention typographique Afin de distinguer les concordances (match) des captures, le code couleur suivant sera utilisé dans le texte: Le texte en concordance avec le motif sera surligné et les captures sont encadrées de lignes rouges. La gourmandise est un vilain défaut Certes, mais pas dans le cas des expressions rationnelles, ce comportement est même recherché dans certains cas. Exemple: si on cherche à capturer l'url contenue dans l'ancre suivante <a href=" Démo

Pagination page par page Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici. Voici un petit bout de code près à l'utilisation, permettant d'effectuer une pagination et de choisir le nombre d'élément à afficher par page. La pagination peut se faire de 2 façons: Page par page (Page : 1-2-3-4-5) <<Page précédente - Page Suivante>> Cette option est à définir à la variable $navigation. Pour choisir le nombre d'élément à afficher, on attribut un nombre entier à la variable $messages_par_page. Dans ce code, je suis partit du principe que l'on affiche généralement le titre+lien et la description des éléments à paginer (comme sur les blogs). il faut donc correctement remplir les variables suivantes: $nom_de_la_table="***"; ->Nom de la table. La variable $nom_page correspond au nom de la page ou s'affiche vos articles ou autres. Pour que la pagination soit un peut plus sympa

CSS - Feuille de style - Cours CSS - Cascading Style Sheets

Related: