Comment créer un Script d’installation de votre application Web (Wizard)

Par défaut

Bonjour, Aujourd’hui, nous allons voir comment créer une procédure d’installation de votre application Web. Cette procédure d’installation est à peu près similaire aux autres installations de logiciel Windows appelé le Guide Wizard. Lorsque vous développez des applications pour un client, il faut toujours lui donner la possibilité de l’installer lui-même en suivant des instructions d’installation tel qu’un logiciel Windows. N’oublier pas d’avoir le fichier SQL de votre DB à l’extension .sql

Pour notre tutoriel on considère le répertoire « geschools »  comme la racine de notre application. Dans cette racine on peut trouver plusieurs repertoires tels que:

  • config (contiendra le fichier de connexion à notre DB appelé config.php et bien d’autres)
  • include
  • fonction
  • db (contient le fichier SQL de notre base de données appelé: geschools_dump.sql)
  • installation (contiendra notre procédure d’installation de notre application)
  • images
  • css
  • js
  • index.php

et bien d’autres fichiers

Comment faire ?

  1. Dans le répertoire « installation » créer un fichier index.php. Dans ce fichier, on aura un formulaire qui permettra au client de spécifier les informations de connexion à sa base de données.
[pastacode lang= »markup » manual= »%3Ch2%20align%3D%22center%22%3EINSTALLATION%20DE%20GESCHOOLS%203.0%20BETA%3C%2Fh2%3E%0A%3Chr%20%2F%3E%3Chr%20%2F%3E%0A%3Cform%20action%3D%22%22%20method%3D%22post%22%3E%0A%3Cdiv%20class%3D%22form-group%22%3E%0A%3Cdiv%20class%3D%22col-lg-3%22%3E%0A%20%3Clabel%3EAdresse%20du%20Serveur%20MySQL%3Cem%20class%3D%22rouge%22%3E*%3C%2Fem%3E%3C%2Flabel%3E%0A%20%3Cinput%20type%3D%22text%22%20name%3D%22db_host%22%20value%3D%22%22%20class%3D%22form-control%22%20placeholder%3D%22localhost%22%20required%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20class%3D%22col-lg-3%22%3E%0A%20%3Clabel%3ENom%20d’utilisateur%20du%20serveur%20MySQL%3A%3Cem%20class%3D%22rouge%22%3E*%3C%2Fem%3E%3C%2Flabel%3E%0A%20%3Cinput%20type%3D%22text%22%20name%3D%22db_user%22%20value%3D%22%22%20class%3D%22form-control%22%20placeholder%3D%22root%22%20required%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20class%3D%22col-lg-3%22%3E%0A%20%3Clabel%3EMot%20de%20passe%20du%20Serveur%20MySQL%3A%3Cem%20class%3D%22rouge%22%3E*%3C%2Fem%3E%3C%2Flabel%3E%0A%20%3Cinput%20type%3D%22text%22%20name%3D%22db_pass%22%20value%3D%22%22%20class%3D%22form-control%22%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20class%3D%22col-lg-3%22%3E%0A%20%3Clabel%3ENom%20de%20la%20DB%20(ne%20pas%20changer)%3A%3Cem%20class%3D%22rouge%22%3E*%3C%2Fem%3E%3C%2Flabel%3E%0A%20%3Cinput%20type%3D%22text%22%20name%3D%22db_name%22%20value%3D%22geschools%22%20class%3D%22form-control%22%20required%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20class%3D%22col-lg-3%22%3E%0A%20%3Clabel%3E%23%3C%2Flabel%3E%0A%20%3Cinput%20type%3D%22submit%22%20name%3D%22process%22%20value%3D%22Commencer%20l’Installation%22%20class%3D%22form-control%20btn%20btn-danger%22%3E%0A%20%3C%2Fdiv%3E%0A%3C%2Fdiv%3E%0A%3C%2Fform%3E%0A%0A%3Cdiv%20class%3D%22clearfix%22%3E%3C%2Fdiv%3E » message= »index.php » highlight= » » provider= »manual »/]

2. Toujours dans le même fichier index.php coller le code suivant. Ce code procédera à l’installation de notre application en important la DB de notre application qui se trouve dans le repertoire db/ puis créer le fichier de connexion config.php de notre DB dans le répertoire: config/

[pastacode lang= »php » manual= »%3C%3Fphp%20%0Aif(isset(%24_POST%5B’process’%5D))%7B%0A%09%2F%2F%20Recuperation%20des%20information%20du%20formualire%0A%09extract(%24_POST)%3B%0A%09%2F%2F%20Verification%20si%20les%20champs%20sont%20vides%0A%09%24champFormulaire%3Darray(%22db_host%22%2C%22db_user%22%2C%22db_pass%22%2C%22db_name%22)%3B%0A%09foreach(%24champFormulaire%20as%20%24champ)%7B%0A%09%09if(empty(%24_POST%5B%22%24champ%22%5D))%7B%0A%09%09%09die(‘Tous%20les%20champs%20sont%20obligatoires’)%3B%0A%09%09%7D%0A%09%7D%0A%09%2F%2F%20Connexion%20au%20serveur%20avec%20MySQLi%0A%24con%20%3D%20new%20mysqli(%24db_host%2C%24db_user%2C%24db_pass)%3B%0A%09%2F%2F%20Verification%20si%20les%20donn%C3%A9es%20de%20connexion%20saisies%20dans%20le%20Formulaire%20sont%20Bons%0Aif(%24con-%3Econnect_error)%7B%0A%09die(‘%3Ch3%20style%3D%22color%3Ared%3B%22%3EIMPOSSIBLE%20D%5C’ETABLIR%20LA%20CONNEXION%20AU%20SERVEUR%20MySQL%2C%20VERIFIER%20LES%20INFORMATIONS%20RENSEIGNEES%3C%2Fh3%3E’.mysqli_error(%24con))%3B%0A%7D%0A%09%2F%2F%20Cr%C3%A9ation%20de%20la%20base%20de%20donn%C3%A9e%20dans%0A%24sql%3D%22CREATE%20DATABASE%20%24db_name%22%3B%20%2F%2F%20requ%C3%AAte%20de%20cr%C3%A9ation%20de%20la%20DB%0Aif(%24con-%3Equery(%24sql)%20%3D%3D%3D%20TRUE)%7B%0A%09echo%20’%3Ch3%20style%3D%22color%3Agreen%3B%22%3ELa%20base%20de%20donn%C3%A9e%20%C3%A0%20%C3%A9t%C3%A9%20cr%C3%A9er%20!!!%3C%2Fh3%3E’%3B%0A%7D%0A%2F%2F%20Importation%20des%20tables%20dans%20la%20DB%0A%24insert%20%3D%20new%20mysqli(%24db_host%2C%24db_user%2C%24db_pass%2C%24db_name)%3B%0A%24fichier%20%3D%22..%2Fdb%2Fgeschools_dump.sql%22%3B%20%2F%2F%20Fichier%20SQL%20qui%20se%20trouve%20dans%20le%20repertoire%20db%2F%0A%24templine%3D »%3B%20%2F%2F%20Variable%20temporaire%20pour%20sauver%20les%20requ%C3%AAtes%0A%24lines%20%3Dfile(%24fichier)%3B%20%2F%2F%20lecture%20du%20fichier%20entier%0Aforeach(%24lines%20as%20%24line)%7B%20%2F%2F%20parcourire%20les%20ligne%20du%20fichier%0A%09if(substr(%24line%2C0%2C2)%3D%3D%20′–‘%20%7C%7C%20%24line%20%3D%3D%20 »)%0A%09%09continue%3B%0A%24templine%20.%3D%24line%3B%0Aif(substr(trim(%24line)%2C-1%2C1)%20%3D%3D%20’%3B’)%7B%0A%09%24insert-%3Equery(%24templine)%20or%20print(‘Error%20dans%20la%20requ%C3%AAte’%20.%24templine.%20’%5C’%20′.mysqli_error(%24con))%3B%0A%09%24templine%3D »%3B%0A%7D%0A%7D%0A%09%0A%2F%2F%20Fin%0A%2F%2F%20Cr%C3%A9ation%20du%20fichier%20config.php%20dans%20le%20repertoire%20config%2F%0A%24valeur%3D’%0A%3C%3Fphp%20%0A%2F%2F%20Modifier%20le%20’.date(‘d-m-Y’).’%0Asession_start()%3B%0A%2F*%20DATABASE%20CONFIGURATION%20*%2F%0Adefine(%22DB_SERVER%22%2C%20%22′.%24db_host.’%22)%3B%0Adefine(%22DB_USERNAME%22%2C%20%22′.%24db_user.’%22)%3B%0Adefine(%22DB_PASSWORD%22%2C%20%22′.%24db_pass.’%22)%3B%0Adefine(%22DB_DATABASE%22%2C%20%22′.%24db_name.’%22)%3B%0A%0Afunction%20getDB()%7B%0A%24dbhost%3DDB_SERVER%3B%0A%24dbuser%3DDB_USERNAME%3B%0A%24dbpass%3DDB_PASSWORD%3B%0A%24dbname%3DDB_DATABASE%3B%0A%09try%20%7B%0A%24dbConnection%20%3D%20new%20PDO(%22mysql%3Ahost%3D%24dbhost%3Bdbname%3D%24dbname%22%2C%20%24dbuser%2C%20%24dbpass)%3B%20%0A%24dbConnection-%3Eexec(%22set%20names%20utf8%22)%3B%0A%24dbConnection-%3EsetAttribute(PDO%3A%3AATTR_ERRMODE%2C%20PDO%3A%3AERRMODE_EXCEPTION)%3B%0Areturn%20%24dbConnection%3B%0A%09%09%7D%0Acatch%20(PDOException%20%24e)%20%7B%0Aecho%20%22connection%20failed%3A%22%20.%24e-%3EgetMessage()%3B%0A%09%7D%0A%7D%0A%0A%24mysqli%20%3D%20new%20mysqli(DB_SERVER%2C%20DB_USERNAME%2C%20DB_PASSWORD%2C%20DB_DATABASE)%3B%0A%2F%2F%20TEST%20DE%20CONNEXION%201%0Aif(%24mysqli-%3Econnect_errno%20%3E%200)%7B%0A%20%20%20%20die(%22IMPOSSIBLE%20DE%20SE%20CONNECTER%20AU%20SERVEUR%22%20.%24mysqli-%3Econnect_error)%3B%0A%7D%0A%3F%3E’%3B%0A%2F%2F%20Cr%C3%A9ation%20et%20Insertion%20de%20donn%C3%A9e%20dans%20le%20fichier%20config.php%0A%24fichier%3D%20%22..%2Fconfig%2Fconfig.php%22%3B%0A%24fo%3Dfopen(%24fichier%2C%22w%22)%3B%20%2F%2F%20ouverture%20du%20fichier%0A%24go%3Dfputs(%24fo%2C%24valeur)%3B%20%2F%2F%20Insetion%20de%20la%20variable%20%24valeur%20dans%20le%20fichier%20config.php%0Afclose(%24fo)%3B%20%2F%2F%20fermeture%20du%20fichier%0Aif(%24go)%7B%0A%09echo%20’%3Ccenter%3E%3Ch2%20style%3D%22color%3Agreen%3B%22%3EInstallation%20r%C3%A9ussie%3C%2Fh2%3E%20%3Ca%20href%3D%22..%2F%22%3EClique%20ici%3C%2Fa%3E%20pour%20te%20connecter%3C%2Fcenter%3E’%3B%0A%7D%20%0Aelse%20%7B%20%0A%09die%20(‘IMPOSSIBLE%20D%5C’INSTALLER%2C%20CONTACTER%20L%5C’ADMINISTRATEUR’)%3B%0A%7D%0A%0A%2F%2F%20Fin%09%0A%24con-%3Eclose()%3B%20%2F%2F%20fermeture%20de%20la%20Connexion%20au%20Serveur%20MySQL%0A%7D%0A%3F%3E » message= »Toujours dans index.php » highlight= » » provider= »manual »/]

Et voila c’est tout. Si vous avez d’incompréhension sur ce code n’hésitez pas à poster votre commentaires. je suis là pour vous aider et à comprendre mieux.

2 réflexions au sujet de « Comment créer un Script d’installation de votre application Web (Wizard) »

Laisser un commentaire