Aller au contenu

Leaderboard

Popular Content

Showing content with the highest reputation on 04/04/2014 in all areas

  1. Bonjour à tous ! Aujourd'hui nous nous attaquons à un tutoriel assez long ! Je vous préviens tout de suite ! Si vous n'avez pas de connaissance en PHP / HTML il est inutile de poursuivre ce tutoriel. Nous allons donc comme dit plus haut utilisé du PHP & du HTML pour réaliser ce tutoriel. 1 - Système de connexion C'est partie ! On s'occupe en premier de la base de donnée : Nous allons donc créer un table nommer "membre" qui regroupera tous les membres du site. CREATE TABLE membre ( id int(11) NOT NULL auto_increment, login varchar(8) NOT NULL, password varchar(8) NOT NULL, PRIMARY KEY (id), KEY ID_2 (id) ); Ici on stocke : L'id, le Pseudo & le Password du membre. Ensuite on créer la page LOGIN.PHP & on insére formulaire HTML de connexion : <form method="post" action=""> <legend>Connexion au Panel</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">Connexion</button></center> </form> Ensuite on créer le système qui vas vérifier & nous connecter : <?php // on se connecte à MySQL $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nomdelabase',$db); if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) { $_POST['password'] = hash("sha256", $_POST['password']); extract($_POST); // on recupére le password de la table qui correspond au login du visiteur $sql = "select password from membre where login='".$login."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['password'] != $password) { echo '<div class="alert alert-dismissable alert-danger"> <button type="button" class="close" data-dismiss="alert">x</button> <strong>Oh Non !</strong> Mauvais login / password. Merci de recommencer ! </div>'; } else { session_start(); $_SESSION['login'] = $login; echo '<div class="alert alert-dismissable alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Yes !</strong> Vous etes bien logué, Redirection dans 5 secondes ! <meta http-equiv="refresh" content="5; URL=dashboard"> </div>'; // ici vous pouvez afficher un lien pour renvoyer // vers la page d'accueil de votre espace membres } } else { $champs = '<p><b>(Remplissez tous les champs pour vous connectez !)</b></p>'; } ?> Ensuite nous modifions la ligne : // on se connecte à MySQL $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nomdelabase',$db); Ici vous entrez les identifiants de connexion à la base de donnée. Voilà, la connexion est terminée. Maintenant nous passons au plus dur ! 2 - Système d'inscription Ici on créer une page REGISTER.PHP & on créer le système d'inscription. Enfaite ce n'est pas réellement le plus dur car ici nous nous servirons tout simplement d'un système de news en php mais nous le modifierons un petit peut ! Alors go : On créer le formulaire d'inscription et on l'insère dans la page <form method="post" action=""> <legend>S'inscrire sur le site</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center> </form> Et on créer le système ! IMPORTANT : Ici nous effectuons une connexion MYSQL PDO (beaucoup plus sécurisé) et tout à l'heure le système était fait de sorte à utiliser une connexion MYSQL BASIQUE qui bientôt disparaitra ... C'est partie : <?php //Connexion à la BDD try { $bdd = new PDO ('mysql:host=localhost;dbname=nomdelabase', 'login', 'password'); } catch(Exception $e) { die('Erreur :'.$e->getMessage()); } if(ISSET($_POST['submit'])) { //On créer les variables $login = $_POST['login']; $password = $_POST['password']; $password = hash("sha256", $password); $req = $bdd->prepare('INSERT INTO membre(login, password) VALUES (:login, :password)'); $req->execute(array("login" => $login, "password" => $password)); if(!empty($login) && !empty($password)) { }else{ ?> <b>Pseudo ou MDP vide !</b> <?php } if(empty($login) && empty($password)) { }else{ session_start(); $_SESSION['login'] = $_POST['login']; header('Location: dashboard'); } } ?> La connexion PDO est ici : <?php //Connexion à la BDD try { $bdd = new PDO ('mysql:host=localhost;dbname=nomdelabase', 'login', 'password'); } catch(Exception $e) { die('Erreur :'.$e->getMessage()); }[/php] Il ne vous reste plus qu'à changer : [php]('mysql:host=localhost;dbname=nomdelabase', 'login', 'password')[/php] Et ici aussi pour le lien de redirection une fois que la SESSION à démarrée : [php] session_start(); $_SESSION['login'] = $_POST['login']; header('Location: LIEN-DE-REDIRECTION'); 3 - Système de vérification ICI nouveau problème : Si on essaye d'accèder à une page qui normalement doit être réservé au personne connectées, par exemple : panel.php. Et bien nous y avons quand même accès même déconnecté ! Nous allons résoudre ce problème avec une page nommée vérif.php. On y inclue ce code : <? session_start(); /* si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas logué ni autorisé à acceder à l'espace membres */ if(!isset($_SESSION['login'])) { echo '<h1>Vous n\'êtes pas connecté, accés interdit !</h1> <meta http-equiv="refresh" content="0; URL=index.php"> '; } ?> Comme indiqué en haut, on regarde si la SESSION est démarrée, si elle ne l'est pas on interdit l'accès. Ensuite il ne vous reste plus qu'à include ce code sur toutes les pages que vous voulez : <?php include ('verif.php') ; ?> 4 - Système de déconnexion Pour finir l'utilisateur doit bien ce déconnecter une fois qu'il à terminé. Pour ce faire nous créons la page logout.php et on y inclue ce code : <?php session_start(); session_unset(); session_destroy(); header('Location: login.php'); ?> Ici on déconnecte l'utilisateur & on le redirige vers la page de login ! Ce tutoriel est maintenant terminé ! Attention : Je préviens à l'avance avant que tous le monde spam le topic : Le Topic ne sert en aucun cas de Support ! J'insiste bien la dessus. Vu que je ne suis pas méchant contactez mon plutôt par Mp sur le Forum, c'est quand même mieux ! En espérant vous avoir aidez, à la prochaine !
    2 points
  2. Nous allons nous plonger dans la création complète d’un site web. De la conception jusqu’à la mise en ligne, nous allons explorer chaque aspect de cette aventure. N’hésitez pas à me faire part de vos retours. Ce post est à voir comme une grande introduction à une série de tutoriel consacré à la création de site web. Il ne s’agira pas d’apprendre à programmer, ni à dessiner ou à communiquer. Mais de voir comment conjuguer ses trois aspects dans la création d’un site. Pour la petite histoire, dans mon métier (chef de projet web), j’ai rencontré pas mal de bons programmeurs, quelques bons graphistes et certains communicants plutôt compétents. Ce qui est plus rare, c’est de rencontrer quelqu’un qui maîtrise suffisamment tous ces domaines pour les harmoniser au service du web. Avant de rentrer dans le vif du sujet, je tiens à préciser que j’ai choisie l’ordre des étapes tel qu’il est pour une personne seule. Dans le cas d’un travail à plusieurs, il peut y avoir des choses faîtes en parallèles, mais cela rajoute une dimension : de la gestion de tâches que l’on n’abordera pas ici ! I. Le concept 1. Etablir le concept (Qui ?) Tout commence par une idée. Cette idée doit être la plus clair et complète possible avant d’envisager quoique ce soit d’autre. Un concept de base bien établi repose sur plusieurs points fondamentaux : Il doit permettre de déterminer un public cible Ainsi que déterminer les technologies à utiliser Enfin, permettre de communiquer sur le site Avoir un public cible est essentiel pour ne pas se tromper dans les choix technologies et esthétiques. Exemple d’erreur courante : faire un site à destination d’un public de jeune adulte et ne pas prévoir une compatibilité avec les appareils mobiles. Pour ce le dernier point cité, la raison est simple : établir un concept fourni, réfléchit et maîtrisé c’est pourvoir facilement communiquer sur le sujet et cela évitera de se perdre dans les étapes futurs. Exemple : Un site communautaire à destination des jeunes adultes leurs permettant d’échanger librement leurs idées, savoirs et cultures. L’accent est mis sur l’attrait aux nouvelles technologies d’information et sur l’informatique en générale. 2. Définir les fonctionnalités de base (Quoi ?) Maintenant que l’on sait ce que l’on va faire, nous pouvons réfléchir aux fonctionnalités maîtresses. L’important ici, comme pour l’étape précédente est de bien détailler les fonctionnalités et déjà réfléchir à leurs possibles évolutions. Exemple non détaillé : Forum public / privé Système d’inscription Gestion de profil des membres Préférences des membres Shoutbox Messagerie membre à membre Systèmes de notifications Système de newsletter Système de ranking Système de réputation Système de modération Gestion & Administration 3. Définir les scénarios de navigations (Comment ?) Maintenant nous savons qui va faire quoi. Nous devons donc déterminer comment. Cette étape peut se révélé être très simple comme devenir un véritable casse-tête. Tout dépend de ce que l’on souhaite faire. Il s’agir d’imaginer et de concevoir comment un utilisateur lambda va réaliser des actions et utiliser les fonctionnalités décrites plus haut. Le mieux pour s’organiser est d’écrire des scénarios généraux, puis de détailler chaque fonctionnalité à part. Etablir un nombre important de scénarios permettra de faciliter le design et le développement du site. Cela permet de mettre en évidence quels fonctionnalités / outils / contenus sont à mettre en évidence ou à rendre discret dans certaines situations. Exemples : De n’importe où sur le site : accéder en clic à sa messagerie personnelle. Arriver sur site, consulter un sujet, allez sur la page d’inscription du site, remplir le formulaire et validez. Attendre le mail de confirmation. Activer son compte et consulter sa page de profil. Toutes mes félicitations : votre projet est né ! Il est temps de le baptiser ! II. Le design 1. Définir un thème graphique La première étape de design consiste à définir l’esthétique générale du site. Cette esthétique doit être en adéquation avec le public visé. Par exemple, il faut éviter de choisir un thème gothique pour un magazine d’informations générales pour la ménagère de moins de 50 ans. Plus le public cible est large est varié, moins l’esthétique doit être forte et prononcée. Par contre, si la cible est une catégorie de personnes bien précises, il est quasiment indispensable de marquer l’esthétique. Exemple : un site d’actus pour les geekettes, il doit être un minimum girly et marquer l’appartenance à la technologie. 2. Conceptualiser les étapes des scénarios Grâce à notre thème graphique, nous allons enfin pouvoir mettre en image les fonctionnalités du site. Ici, il s’agit d’établir de manière schématique les différentes actions possibles pour les utilisateurs. 3. Rédiger les principaux textes Il est important de rédiger les textes les plus importants assez tôt ; désignations des boutons, titres des encarts, labels des champs et autres textes de fronts (accueil, messages d’informations, accroches). Ceci pour éviter d’être confronter à des problèmes d’intégrations et de devoir revoir certains concepts ou propriétés ou parce qu’un texte ne rentre pas. Mais si dans l’absolu, tout l’art du webdesigner consiste à concevoir des sites qui s’adapte au contenu, mieux vaux savoir quels seront les impératifs à respecter en termes d’adaptabilité. 4. Faire une maquette graphique Une maquette graphique consiste en une représentation idéaliste du projet de site dans un état donné. C’est-à-dire que vous devez représenter dessus ce qu’un utilisateur pourra voir en prenant un cas particulier. Aujourd’hui, il est souvent nécessaire de faire plusieurs maquettes graphiques des sites. En raison de la grande diversité des supports et notamment de résolutions d’écrans, il faut prévoir à quoi noter site ressemblera sur ces supports. Plus la maquette graphique est détaillée et complète, plus le développement et surtout l’intégration sera facilité. III. Le développement Que votre site soit en PHP, Ruby, ASP ou n’importe quel autre langage. Une bonne conception de site passe par une conception Modèle / Vue / Contrôleur (MVC). Il s’agit de séparer le code définissant les modèles de données, celui effectuant des contrôles et de la gestion sur les modèles et celui dédié à l’affichage et aux interactions avec l’utilisateur. Cette séparation ne doit pas uniquement être physique (dans des fichiers séparés), mais aussi logique (du point de vue de l’exécution du code). Concrètement, le code des modèles, des contrôleurs et des vues ne doivent pas être dépendent les uns des autres. En pratique ça donne quoi ? Pour les modèles : ceux-ci doivent pouvoir être utilisé dans n’importe quel contexte (autres sites, autres environnement) Pour les contrôleurs : ils doivent avoir une exécution ininterrompue. C’est-à-dire qu’ils doivent gérer tous les cas d’erreurs et d’exceptions et fournir une réponse voulue. En clair, ils ne doivent pas planter, même si le code des modèles ou des vues à côté fait n’importe quoi. Pour les vues : ici, le but est d’avoir un affichage indépendant du contexte. A savoir, en fonction du résultat d’un contrôleur, elles doivent toujours offrir un résultat cohérent. 1. Concevoir les modèles de données La première étape de la programmation d’un site consiste à concevoir les modèles de données. Pour faire simple : majoritairement il s’agit de concevoir la base de données qui sera interfacée avec le site. Celle-ci peut s’avérer très simple dans le cas d’un site de type blog (une suite d’article daté). Mais dans le cas de sites offrants des fonctionnalités plus complexes, la conception de la base de données n’est pas à négliger. Que ce soit aux niveaux des performances du site ou de la facilité de maintenance, des modèles bien réfléchis, optimisés et intégré c’est déjà un bon départ pour assurer une longue vie au site. Cette conception ce fait avec un Modèle logique de données (MLD) qui est indépendant d’un langage de programmation. 2. Développer les modèles Une fois la base de données en place, il est temps de passer à la programmation… enfin ! La programmation débute par créer les modèles de données et à les interfacer avec la base de données. Ceci peut être réalisé avec l’aide d’un ORM (Object-Relationnal Mapping) qui permettra de d’interfacer directement les modèles crées avec la base de données. L’avantage d’un ORM est qu’il permet de lier de manière logique les modèles entre eux par des contraintes. Par exemple, un article de blog possède du contenu une date et un auteur. Il s’agit donc d’un modèle, mais un auteur d’article est lui aussi un modèle (pseudo, email, date d’inscription, ….). Un ORM permettra de lier ses modèles en disant, qu’un article est toujours lier à un et un seul auteur. De même un auteur peut avoir aucun, un ou plusieurs articles. 3. Développer les contrôleurs Une fois les modèles en place, il est désormais possible de développer les différents contrôleurs. C’est-à-dire tous ce qui permettra de gérer et de travailler avec les modèles. Un exemple simple en lecture : avoir une liste d’articles de tel auteur trié par date. Le contrôleur va vérifier que les articles sont bien affichable (pas de modération, contenu non masquer, …) et que l’utilisateur à le droit de les consulter (utilisateur non banni, article dans la bonne langue, …). Un autre exemple en écriture : lors de l’inscription d’un utilisateur, vérifier le pseudo, le mot de passe, l’email, …. IV. L’intégration Dans le modèle MVC on a fait le M puis le C, il nous reste donc le V. Les vues, il s’agit donc bien sur des pages vues par les utilisateurs, mais aussi les pages d’administration jusqu’aux résultats de scripts console se lançant directement sur le serveur (même en ASCII ça reste une vue J). 1. Intégrer le design Dans les vues, je conseille de commencer par intégrer le design du site. Cela permet de vérifier assez rapidement que le design convient et de faire des retouches au besoin. Pour bien intégrer un design, il est nécessaire de maîtriser le CSS. Le but de l’intégration est transcrire un dessin en page web dynamique, il va donc falloir traduire des éléments graphiques de base en éléments web. Tout l’art de l’intégration constant à recourir à un minimum d’images et de règles CSS pour un maximum de respect de dessin original. 2. Intégrer les textes Une fois le design en place, vous pouvez insérer dans les pages, tous les textes fixes. Ces textes sont particulièrement importants. Ce sont eux qui vont être repérer en priorité par les moteurs de recherche et également ceux qui vont renseigner les nouveaux utilisateurs sur le site. Bien intégré c’est texte en utilisant tous les moyens possibles (couleurs, gras, italique, taille, …) permet de capter facilement l’attention et d’informer efficacement sans gêner la lecture pour l’utilisateur. Ensuite, vous pouvez vous assurer que les textes dynamiques s’intègre bien dans le design. Notamment les infobulles, les menus, et les principaux titres dynamiques. 3. Intégrer les médias Si votre site comporte des médias riches (animations, sons, vidéos, …), leur intégration doit être particulièrement soignée. En effet, la plupart des utilisateurs trouvent les médias riches envahissants et dérangeants. Donc, les animations doivent rester discrètes, les sons doivent pourvoir facilement être coupés et les vidéos ne devrait pas se déclencher automatiquement. Sauf, dans des cas exceptionnel et évidant, comme une page qui intègre uniquement un lecteur vidéo et une playlist, par exemple. Dans tous les cas, l’accent doit être mis pour mettre en avant l’information recherchée par l’utilisateur. 4. Enrichir l’expérience utilisateur Votre site est presque fini, il ne manque plus que les finitions. Et c’est peut-être là le plus important, tous ces petits détails qui font que l’utilisateur se sente bien, et que les moteurs de recherches lisent correctement les pages. Enrichir un site peut être fait d’une multitude de manière. Parmi les plus « vielles » méthodes : la newsletter, le flux RSS, les notifications en espace membre, etc. Mais il faut penser aussi, aux réseaux sociaux, aux sitemaps, aux micro-données, aux retours participatifs (les utilisateurs eux-mêmes qui enrichissent le contenu), et la liste est longue. Voilà ! Votre site est prêt à être diffusé ! V. La production La mise en production d’un site rassemble toutes les dernières étapes qui ne peuvent être correctement faîtes que si site fonctionne en condition réelle. 1. Mise en ligne Une mise en ligne réussie est une mise en ligne qui ne se voir pas ! Afin d’éviter de crée des erreurs d’entrée de jeu sur votre site, il convient de préparer la mise en ligne. En effet, une mise en ligne prend du temps (configurations, upload, …). C’est un laps de temps ou le site est accessible via son URL mais où il n’est pas totalement prêt à accueillir les visiteurs. Le plus simple est de rediriger l’ensemble du trafic sur une simple page d’explication le temps de la mise en ligne. Le but étant au final de pourvoir activer le site en une seule action brève. 2. Tester le site Une fois en ligne, vous pouvez tester l’ensemble de votre et notamment les fonctionnalités spécifique à une exécution sur un serveur distant. A savoir, les systèmes d’upload, de mailing, ou toute action nécessitant des extensions particulière sur le serveur web. Le mieux étant d’avoir un environnement de développement avec un accès restreint, mais ce n’est pas toujours possible ni forcément nécessaire (dans le cas d’un petit site relativement fixe). 3. Intégrer les ressources externes Ça y est ! Tout fonctionne enfin ! Le dernier coup d’éponge consiste à intégrer toutes les ressources des services extérieurs. Les services de statistiques, comme Google Analytics et New Relic, les services de publicités ou encore l’intégration des réseaux sociaux (de type flux des posts, partage rapide, …). Avec tout ça en place vous êtes on ne peut plus prêt alors c’est parti ! Ouverture du site ! 4. Ouvrir le site Vous pouvez rendre le site accessible au public, et là, il ne faut pas oublier le plus important : prévenir tout le monde ! Si votre site rencontre suffisamment de visiteurs, le travail ne fait que commencer et il faudra maintenir le site et adapter des fonctionnalités et/ou en apporter de nouvelles. Plus vous avez soigné votre création de base et plus la maintenance et l’ajout de fonctionnalité sera facilité. Merci d'avoir suivi jusqu'au bout !
    1 point
  3. Toradora! est un Anime / Manga / Light Novel sorti au Japon, je vais vous expliquer en détail tout ceci ! Commençons avec l'anime, l'anime est sorti au Japon en octobre 2008 et s'est terminé en mars 2009, il comporte 25 épisodes. Il y a aussi eu 2 autres séries, Toradora! Bentou no gokui (1 épisode) qui tourne autour de la nourriture et Toradora SOS! (4 épisodes) où l'on voit les personnages de Toradora! en version chibi (c-à-d en version toute petite et toute mignonne) je vais uniquement me concentrer sur l'anime, voici sa fiche complète : Titre : Toradora! / Tiger x Dragon (alternatif) / とらドラ! (original) Pays : Japon Format : Anime de 25 épisodes Date de diffusion : du 02 octobre 2008 au 26 mars 2009 Parle principalement : Ecole / Famille / Amour / Amitié / Slice of Life / Romance / Drame Studios : Genco / J.C. Staff Synopsis Malgré sa douce personnalité, Ryuji Takasu fait peur à toutes les personnes qu'il rencontre à cause de son regard d'assassin. C'est alors, qu'à la rentrée, il se retrouve dans la même classe que son meilleur ami, Yusaku Kitamura. Il est le seul à ne pas le juger sur son physique. Mais, il se retrouve aussi avec la fille qu'il aime, Minori Kushieda, et la meilleure amie de celle-ci, Taïga Aisaka. Enfin, on apprend que Taïga est amoureuse de Yusaku. Donc cette dernière et Ryuji vont se serrer les coudes afin de pouvoir être heureux l'un comme l'autre ! Mon avis personnel Toradora! est mon anime préféré, je l'ai regardé il y a 1 ou 2 ans je ne me souviens plus très bien, cet anime m'a fait à la fois rire et pleurer, j'ai vraiment été passionné, j'ai direct accroché, les personnages sont supers, ils ont chacun leur propre personnalité, ne sont pas vides et ont un intérêt, les musiques sont magnifiques et accompagnent très bien l'anime, l'ambiance générale est vraiment excellente, c'est un anime qu'il faut absolument voir si vous voulez rire, pleurer et suivre une bande d'amis dans leur petite vie de tous les jours (qui est assez mouvementée) ! Le Manga, il est lui disponible uniquement au Japon et en Amérique du Nord et est toujours en cours à l'heure actuelle, voici sa fiche : Titre : Toradora! / とらドラ! (original) Pays : Japon / Amérique du Nord Format : Manga Type : Shonen Créateur : TAKEMIYA Yuyuko Dessinateur : Zekkyō Date de diffusion : du 02 octobre au 26 mars 2009 Parle principalement : Ecole / Famille / Amour / Amitié / Slice of Life / Romance / Drame Editeurs : MediaWorks (Japon) / Seven Seas Entertainment (Anglais) Pré-publié dans : Comic Dengeki Daioh Nombre de tomes : 6 (en cours) Et voici enfin le dernier support et le support original le Light Novel (si vous ne savez pas ce que c'est, allez voir mon autre sujet qui explique tout à ce sujet !) donc il n'existe qu'au Japon, et voici sa petite fiche ! Titre : Toradora! / とらドラ! (original) Type : Light Novel Nombre de tomes : 10 (terminé) Editeur : ASCII Media Works Anée de publication : 2006 Créateur : TAKEMIYA Yuyuko Illustrations : YASU Voilà, c'est sur ça que je finis ce petit sujet, si vous avez des questions ou des remarques n'hésitez pas ! ^^ Sources : Nautiljon / Wikipedia / Icotaku
    1 point
×
×
  • Créer...