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() :

É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 <? <?

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).

CSS Débutant : cours et tutoriels sur les feuilles de style CSS 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 Manuel PHP Edit Report a Bug Manuel PHP ¶ par: Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Hannes Magnusson Georg Richter Damien Seguy Jakub Vrana Et bien d'autres Édité par: Peter Cowburn par: Frédéric Blanc Traducteur Vincent Blanchon Traducteur Pierrick Charron Traducteur Julien Pauli Traducteur Mickaël Perraud Relecteur Guillaume Plessis Traducteur Yannick Torrès Traducteur Vincent Briet Jean-Sébastien Goupil David Manusset © 1997-2019 PHP Documentation Group add a note User Contributed Notes There are no user contributed notes for this page. Les balises propres au site Balises définies à la configuration Le contenu de ces balises est défini dans l’espace privé, lors de la configuration de votre site. - #NOM_SITE_SPIP affiche le nom du site. - #URL_SITE_SPIP affiche l’adresse du site. Elle ne comprend pas le / final, ainsi vous pouvez créer un lien du type #URL_SITE_SPIP/sommaire.php3 - #DESCRIPTIF_SITE_SPIP (depuis SPIP 1.9) affiche, comme son nom l’indique, le descriptif du site, que l’on renseigne dans la page de configuration générale du site. - #EMAIL_WEBMASTER (depuis SPIP 1.5) affiche l’adresse du webmestre. - #LOGO_SITE_SPIP (depuis SPIP 1.8) affiche le logo du site. - #CHARSET (depuis SPIP 1.5) affiche le jeu de caractères utilisé par le site. - #LANG (depuis SPIP 1.7, SPIP 1.7.2 ) : utilisée en dehors des boucles ARTICLES, RUBRIQUES, BREVES et AUTEURS, cette balise affiche la langue principale du site. Balises de mise en page Depuis SPIP 1.9, la balise #CHEMIN remplace et améliore #DOSSIER_SQUELETTE. Balises techniques Attention !

CSS Ce que vous avez toujours voulu savoir sur CSS Adaptive Images and Responsive Web Design Cédric Morin makes a ready-to-use solution solving Adaptive Images issue, that fits well with dynamic websites (one more solution, yeah): this solution is not trivial, but is designed to be automated. Adaptive Images et Responsive Web Design Cédric Morin étudie une solution prête à l’emploi pour résoudre le casse-tête des Adaptive Images, adaptée aux sites dynamiques (une de plus, oui). Cette solution est complexe, mais est prévue pour être complètement automatisable (comprenez industrialisable). Intégration web, les bonnes pratiques Une fois n’est pas coutume, nous reproduisons ici la préface du livre « Intégration Web, les bonnes pratiques » avec l’accord de l’auteure Corinne Schillinger. Rétablissons l’outline Un point extrêmement simple à gérer en matière d’accessibilité mais tellement important pour certaines personnes est souvent oublié, ce point s’appelle… la visibilité du focus clavier.

Où placer les fichiers de squelettes ? Depuis SPIP 2.0 les squelettes sont rangés dans un dossier dédié, nommé squelettes-dist/. Le dossier squelettes/ accueillera vos squelettes personnalisés. Les avantages de ce rangement sont évidents : meilleure séparation du code de SPIP et de la structure du site, possibilité de changer tout un ensemble de squelettes d’un seul coup, etc. Historique : Dans les versions SPIP 1.8 et SPIP 1.9, les fichiers de squelettes fournis dans la distribution de SPIP étaient placés dans le dossier dist. Dans les versions antérieures à SPIP 1.8, les squelettes étaient à la racine. Les squelettes par défaut : squelettes-dist/ Les squelettes de la distribution — c’est-à-dire ceux fournis en standard à l’installation de SPIP — sont regroupés dans un unique répertoire. Toutefois, il ne faut pas modifier les squelettes de la distribution, sinon vous risqueriez de perdre toutes vos modifications à chaque mise à jour de SPIP ! Votre dossier squelettes/ Utiliser un autre dossier de squelettes

Related: