C# | Créer un programme pour gérer votre site

Statut
N'est pas ouverte pour d'autres réponses.

Boosterz'

Premium
Inscription
26 Mai 2015
Messages
455
Réactions
500
Points
4 393
RGCoins
25
RPV828.png



Durant ce tutoriel que je vais vous présenter je vais vous montrer comment faire pour créer un programme qui servira à effectuer différentes actions sur votre site web, sans attendre passons au sommaire.

kqlQi1.png


I - Introduction.
II - Préparation des éléments.
III - Faire l'esthétique de votre logiciel.
IV - Le codage en C#.
V -
Annexes et conclusion.

EwhpZc.png


Lors de ce tutoriel je vais vous apprendre à créer un logiciel qui servira à faire différentes fonctions en fonction direct sur votre site web. En premier comment mettre le site en maintenance et l’arrêter même si cela sera exactement pareil je ferais les deux.
Ensuite je vous montrerai comment faire la fonction EDIT dans votre base de données qui pourra servir par exemple à bannir un utilisateur, promouvoir un utilisateur, rétrogradé un utilisateur ... Je ferais pour une promotion moi.
Je ne vais pas tout faire car c'est identique.

UsR2A2.png


Il va vous falloir créer un dossier impérativement sur votre bureau que vous nommez " Mange_Site " le nom est important si vous ne le respecter pas il vous faudra modifier le codage. Dans ce dossier on y placera le logiciel accompagné des extensions. Puis on va y créer un dossier nommé " MAINTENANCE " à nouveau dans ce dossier on va y créer deux dossiers " ON " et " OFF ". Dans les deux on va créer le même fichier seulement l'intérieur ne sera pas pareil donc je parle évidemment du " .htaccess ", je vous laisserais mettre le vôtre comme vous voulez le OFF moi je le laisse vierge on va modifier le ON à l'aide d'un tutoriel réalisé par @Snake's disponible en cliquant ici. Si vous voulez en savoir plus sur l'explication je vous invite à vous rendre sur son tutoriel qui est vraiment très bien expliqué. Alors on retourne à notre fichier.
Voici le code à y mettre :

Code:
ErrorDocument 403 /maintenance.html
DENY FROM ALL
ALLOW FROM votre IP
<Files maintenance.html>
ALLOW FROM ALL
</Files>
Voilà, une fois fait on enregistre donc pensez bien à modifier votre page si ce n'est pas maintenance.html et votre adresse IP.
Pour l'obtenir vous pouvez faire un petit script en PHP afin de l'obtenir.
PHP:
      <?php
      function get_ip() {
        if (isset($_SERVER['HTTP_CLIENT_IP'])) {
          return $_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
          return $_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else {
          return (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
        }
      }

      $ip = get_ip();
      echo $ip;
      ?>
Voilà vous pouvez avoir accès à votre adresse IP depuis votre site.

fGWiO4.png


Cette partie risque d'être la plus rapide étant donnée qu'il n'y aura presque rien étant donné que je vais montreraient deux fonctions mais je préfère quand même afin qu'il n'y ait aucun souci.
Alors je vais simplement mettre 3 boutons et une textbox.
75d9ee6298742d9ca6886d1ec0fd4f5d1.png

Z1gNZc.png


Voilà à partir d'ici on passe aux choses sérieuses alors on va commencer par la maintenance. Il vous faut au préalable avoir créé votre page maintenance.html. Je vais donc simplement mettre moi un texte afficher avec " Maintenance en cours ", une fois fait hop directement à la racine de votre FTP.
Allez c'est parti !
On commence par déclarer l'utilisation du System.IO et System.NET.

Code:
using System.Net;
using System.IO;
On ajoute ensuite la fonction qui sert à upload sur le serveur FTP.
Code:
        private void Maintenance(string FTPAddress, string filePath, string username, string password)
        {
            FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftp://ftp.VOTREDOMAINE/" + Path.GetFileName(filePath));
            reques*spam*thod = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential(username, password);
            request.UsePassive = true;
            request.UseBinary = true;
            request.KeepAlive = false;
            FileStream stream = File.OpenRead(filePath);
            byte[] buffer = new byte[stream.Length];
            stream.Read(buffer, 0, buffer.Length);
            stream.Close();
            Stream reqStream = request.GetRequestStream();
            reqStream.Write(buffer, 0, buffer.Length);
            reqStream.Close();
        }
Donc vous modifiez le VOTREDOMAINE bien entendu par votre domaine.
Ensuite simplement dans le bouton on met la fonction remplie.

Code:
        Maintenance("VOTRE FTP", @"C:\Users\" + Environment.UserName + @"\Desktop\Mange_Site\MAINTENANCE\ON\.htaccess", "USER", "PASS");
Donc encore une fois évidemment vous remplacer par vos informations, et simplement pour le OFF vous devez vous en douter il faut simplement mettre OFF à la place de ON.
Code:
        Maintenance("VOTRE FTP", @"C:\Users\" + Environment.UserName + @"\Desktop\Mange_Site\MAINTENANCE\OFF\.htaccess", "USER", "PASS");
C'est déjà fini, aussi simple que ça. Maintenant on passe à la modification d'un utilisateur, pour ce faire j'utiliserais la base de données de mon site. Alors vous allez dans votre table créer une colonne rank en varchar, ou le rang membre sera définit par 0 et admin par 2.
Sur mon site j'utilise l'utilisateur test et comme vous le voyez il est actuellement Membre comme il n'a pas accès au panel administrateur.
a7a32d4a0a1b4f95eeb819eadaf41257.png


Maintenant retour au C#. On commence par définir notre base de données.
Pour commencer on ajoute MySql.Data disponible dans les annexes, puis définit l'utilisation.

Code:
using MySql.Data.MySqlClient;
Une fois définie, on créer la variable de notre base de données.
Code:
string sDatabase = "server=;database= ;userid=;password=";
Il vous faut la remplir avec vos informations. Maintenant rien de plus simple on créer notre requête SQL auprès de notre table.
Code:
            string myConnection = sDatabase;
            MySqlConnection myConn = new MySqlConnection(myConnection);
            MySqlCommand SelectCommand = new MySqlCommand("UPDATE utilisateurs SET rank='2' WHERE user = ' " + textBox1.Text + "'", myConn);
            MySqlDataReader myReader;
            myConn.Open();
            myReader = SelectCommand.ExecuteReader();
Maintenant, nous avons accès à la partie Administration avec ce compte et quand on regarde la base de données on a bien Rank à 2.
30666dd7cea5e82e335de8249da07f68.png


Après c'est pareil pour toutes les autres fonctions d'édit vous avez seulement votre commande SQL à modifier, par exemple pour retro il vous suffit de mettre 0 à la place de 2.
Après il vous faut modifier un peu la requête " utilisateurs " étant le nom de ma table et " user " le nom de l'utilisateur dans la table.

0wQfwY.png


Téléchargement de MySQL.Data :
-

Téléchargement de la source :
-

Bien sûr ce logiciel n'est pas à partager comme la personne peut trouver : vos accès FTP et vos accès à votre BDD il doit rester personnel.
Cela peut être pratique comme cela ce code beaucoup plus vite qu'une page administration.

Ce tutoriel se termine ici, une version du logiciel complet sera bientôt disponible.

Merci à :
@Posí : Aide PHP.
@Rivals : Aide PHP.
@Snake's : Son tutoriel sur le .htaccess.
@Zera SEC : Header.
 
Dernière édition:
Enorme topic, je pense que j'essayerai surement :p

Petit fail au début de ton topic : je vais vous monter ;)
 
Merci du tutoriel ^^
 
Propre, good job bro ;) #2-0 :troll:
 
Salut,

Franchement très bon tutoriel, moi qui voulait m'aventurer un peu dans le C, bah je vais tenter ce petit tutoriel pour commencer.
Merci encore. :ok:

Juste une question : Quel(s) fichier(s) doit-on modifier pour le mot de passe ftp, etc?

-Socket.
 
Dernière édition:
Salut,

Franchement très bon tutoriel, moi qui voulait m'aventurer un peu dans le C, bah je vais tenter ce petit tutoriel pour commencer.
Merci encore. :ok:

Juste une question : Quel(s) fichier(s) doit-on modifier pour le mot de passe ftp, etc?

-Socket.
Ne vois pas tous par les socket, les socket sont juste la pour communiquée :ok:, soit tu est sur ton vps et tu reconfigure ton serveur ftp, soit tes sur un serveur mutualisée et la sa se trouve dans ton panel d'administration
 
Ne vois pas tous par les socket, les socket sont juste la pour communiquée :ok:, soit tu est sur ton vps et tu reconfigure ton serveur ftp, soit tes sur un serveur mutualisée et la sa se trouve dans ton panel d'administration
Socket c'est son pseudo :rofl: x)
 
@Boosterz Salut

Combien de temps sa dure a peut près ?
 
Sinon, tu fais le site en ASP.NET x)
 
Très beau topic, merci du partage ! :love:
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut