Aller au contenu

Soulalex

Administrateur
  • Compteur de contenus

    962
  • Inscription

  • Dernière visite

  • Days Won

    50

Tout ce qui a été posté par Soulalex

  1. Bonsoir, Je recherche un moyen de crypter efficacement mon disque dur externe pour que mes données ne tombent entre de mauvaises mains (même si elles le sont déjà :p). Il faut surtout que depuis n'importe quel ordinateur je puisse décrypter mon lecteur avec un mot de passe ou quelque chose du même genre. Je vous remercie d'avance pour aide
  2. Bonsoir, Comme l'a dit mon collègue, je vais assurer pleinement le rôle d'administrateur qui m'a été confié. Beaucoup de projets ont été mis en attente (émulation, publicité) mais dans les jours qui viennent je vais tâcher de mettre en place l'émulation. Bien sûr cela ne sera pas facile car il faudra trouver des membres motivés pour lancer ces nouveaux forums et ceci passera par de la publicité sur le web (le projet publicitaire sera rouvert). J'espère que vous êtes toujours motivés parce que moi je le suis ! Longue vie à Melinyel !
  3. Je ne sais pas vraiment :/ On pourrait théoriquement mais ca serait un peu plus compliqué que ça
  4. Pour ajouter des plugins à Firefox sur PC ou téléphone ? Dans les deux cas c'est la même chose, il suffis de se rendre sur https://addons.mozilla.org/fr/firefox/ et choisir son add-on Pour adblock c'est https://addons.mozilla.org/fr/firefox/addon/adblock-plus/?src=search ça marche aussi bien sur téléphone que sur PC a condition d'avoir Firefox Merci
  5. Ah vraiment sympa le navigateur ! Par contre je ne savais pas que l'on pouvait ajouter des plugins à Firefox, si quelqu'un peut m'expliquer
  6. Dans la plupart des cas, on se sert uniquement de SSH pour gérer une machine Linux à distance mais le SSH réserve quelques secrets et notamment le Tunneling SSH, une notion un peu plus avancée que ce que nous avons l'habitude de faire avec le SSH mais reste néanmoins très pratique quand l'on sait l'utiliser correctement. 1. Qu'est-ce que le « Tunneling SSH » ? Le Tunneling SSH est un simple « tunnel » qui va être créé entre une machine et un utilisateur au même titre qu'une simple connexion SSH avoir la main sur une machine distante. Or nous allons utiliser ce « tunnel » pour faire passer des flux de données de manière totalement sécurisée ce qui peut éviter de passer par le SSL. Mais il existe tout de même des contraintes. En effet, un défaut de configuration sur votre serveur SSH et un utilisateur mal intentionné pourrait accéder à votre machine et en prendre le contrôle total. 2. Mise en place d'un « Tunneling SSH » 1. Installation du daemon SSH Il vous faut obligatoirement un daemon SSH installé sur la machine distante. Pour tout savoir à ce sujet consultez ce sujet : Connexion à distance via SSH sudo apt-get install openssh-server 2. Etablir une connexion sécuriséeSous Linux :Rien de très compliqué, là encore notre ami le terminal est notre ami avec une simple commande :ssh -f user@server -L 2500:localhost:80 –NIci, j’établie une connexion SSH sur la machine « server » avec l’utilisateur « user » et je créé un tunnel SSH sur le port 2500 de mon ordinateur pointant sur le port 80 de la machine distante elle-même.Les options utilisées dans cette commande :-f : Permet de mettre la session SSH en tâche de fond pour ne pas gêner.-L : Initialise le tunnel SSH et son argument aura toujours la forme suivante : « port local : adresse IP de la cible : port de la cible ».-N : « Do not execute a remote command ». Avec putty :Dans putty, vous devez ajouter un tunnel dans « Connection > SSH > Tunnels ». Dans la case « Source port », entrez un port libre de votre ordinateur et dans la case « Destination », entrez l’adresse IP de la cible suivit du port à écouter (127.0.0.1 :80 pour une connexion sur la machine distante sur le port 80). Ensuite, connectez-vous normalement avec vos identifiants pour établir une connexion SSH avec la machine distante. Dès lors que votre connexion SSH est établie, vous pouvez accéder au flux de données sécurisé transitant dans le tunnel SSH. Dans le cas d’un flux http, dans votre navigateur, il vous suffit d’entrer 127.0.0.1 suivit du port source (127.0.0.1 :2500) pour accéder à votre site web de manière totalement sécurisée. © IT-Connect 3. Quelques schémas d'une utilisation du « Tunneling SSH » © IT-Connect
  7. Ces cours ont été publiés il y a longtemps mais je les ai mis sur un seul sujet.
  8. Merci pour l'astuce mais en déplacant simplement l'icone dans la corbeille ça ne marche pas ?
  9. III - PHP et MySQL, l'union fait la force PRÉSENTATION DES BASES DE DONNÉES : Les bases de données vont vous permettre de stocker de nombreuses données et d'interagir avec simplement mais pour cela, il vous faut un minimum de connaissances que nous traiterons dans ce guide. Interactions entre clients, serveur et base de données. Les bases de données se divisent en tableaux (aussi appelés table) : INTERACTIONS ENTRE PHP ET LES BASES DE DONNÉES : Je vous conseille d'avoir un minimum de connaissances sur le langage SQL pour maîtriser les interactions mais les bases seront rappelées. Dans ce cours, nous utiliserons l’interface PDO pour accéder aux bases de données. Tout d’abord, il nous faut établir une connexion avec le serveur MySQL (dans ce cas mais nous pouvons évidemment changer de SGDB) : try { $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); // On ouvre une instance avec "PDO" /* ** "host" : nom de domaine du serveur SQL, ** "dbname" : nom de la base de données, ** Dans les deux derniers arguments, vous devez entrer dans cette ordre votre nom d'utilisateur et votre mot de passe de votre BDD */ } catch(Exception $e) { die('Erreur : '.$e->getMessage()); }Note : Ici j’ai utilisé une exception qui nous permettra de récupérer les erreurs et de les afficher clairement à l’écran. Maintenant que notre connexion est établie, nous pouvons exécuter des requêtes sur notre base de données. Pour cela, vous avez le choix entre deux fonctions : PDO::query : Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement.PDOStatement::execute : Exécute une requête précédemment préparée avec PDO::prepare (Prépare une requête à l'exécution et retourne un objet). Ces fonctions permettent de récupérer des données maintenant, il nous faut quelques fonctions permettant d’agir sur ces données et aussi de les sécuriser pour éviter une injection SQL : PDOStatement::bindValue : Associe une valeur à un paramètre.PDOStatement::bindParam : Lie un paramètre à un nom de variable spécifique.PDOStatement::bindColumn : Lie une colonne à une variable PHP.PDOStatement::fetch : Récupère la ligne suivante d'un jeu de résultats PDO.PDOStatement::fetchAll : Retourne un tableau contenant toutes les lignes du jeu d'enregistrements.PDOStatement::fetchColumn : Retourne une colonne depuis la ligne suivante d'un jeu de résultats.PDOStatement::setFetchMode : Définit le mode de récupération par défaut pour cette requête.PDOStatement::rowCount : Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute. Maintenant, on va écrire une requête SQL mais avant quelques rappels : Sélectionner des données : « SELECT attribut_1, attribut_2 FROM nom_table » (Pour sélectionner le tableau entier, remplacez les attributs par *).Créer une nouvelle ligne : « INSERT INTO table_name(attribut_1, attribut_2) values(valeur_1, valeur_2) ».Mise à jour d’une ligne : « UPDATE nom_table SET attribut_1 = valeur_1, attribut_2 = valeur_2 ».Suppression d’une ligne : « DELETE FROM nom_table WHERE attribut = valeur » (à noter que WHERE peut être utilisé avec n’importe quelle autre fonction vu précédemment)./* CONNEXION AU SERVEUR SQL ICI */ $query = $bdd->prepare('SELECT attributs FROM my_db WHERE attribut = :value'); // Préparation d'un requête de sélection (ici :value est un paramètre de la requête SQL qu’on va associer à une valeur ensuite) $query->bindValue(':value', $value, \PDO::PARAM_STR); // On associe la valeur au paramètre (ce qui évite les injections SQL) $query->execute(); // On exécute la requête $data = $query->fetchAll(); // On associe à un tableau les résultats obtenus avec la requête $query->closeCursor(); // On ferme notre requête
  10. II - Les joies du PHP TRANSMISSION DE DONNÉES : Avec PHP, vous pouvez transmettre des données à d'autre page notamment avec deux éléments : l'URL et le forumulaire. Une URL peut etre constituée de la sorte : protocole://domaine/page.extension (prenons l'exemple de Melinyel : http://melinyel.net/index.php). Avec le PHP vous pouvez rajouter des paramètres et leur asigner une valeur comme ceci protocole://domaine/page.extension?param=valeur&param2=valeur2. Ces valeurs peuvent etre récupérées avec la variable superglobale $_GET (exemple : $_GET['param'] retourne "valeur"). Toutefois, chacun peut modifier l'URL et envoyer de fausses données. Avec un formulaire vous avez le choix entre envoyer les données par la méthode get (par l'URL) ou par la méthode post (l'utilisateur ne voit pas les données qu'il a envoyé). Néanmoins, ceci ne nous protège pas contre une attaque mais il existe des moyens pour y remédier que je vous montrerez. <form action="cible.php" method="post"> <p> <input type="text" name="prenom" /> <input type="submit" value="Valider" /> </p> </form>Dans cette exemple, vous pouvez voir qu'on a method="post" : c'est ce que je vous ai expliqué tout à l'heure et action="cible.php" qui sera le fichier de réception de notre formulaire. Concrètement, lorsque que vous cliquez sur le boutton envoyer, vous etes redirigé vers une autre page qui conservera les données du formulaire. La balise <input /> créée un champ avec un type (text, password, subit) et un nom qui nous permettra de récupérer le contenu du champ grace à la variable superglobale $_POST. Actions effectuées lors de l'envoi d'un formulaire. © OpenClassrooms VARIABLES SUPERGLOBALES : Il existe différents types de variables superglobales : $_SERVER : ce sont des valeurs renvoyées par le serveur. Elles sont nombreuses et quelques-unes d'entre elles peuvent nous être d'une grande utilité. Je vous propose de retenir au moins $_SERVER['REMOTE_ADDR']. Elle nous donne l'adresse IP du client qui a demandé à voir la page, ce qui peut être utile pour l'identifier.$_ENV : ce sont des variables d'environnement toujours données par le serveur. C'est le plus souvent sous des serveurs Linux que l'on retrouve des informations dans cette superglobale. Généralement, on ne trouvera rien de bien utile là-dedans pour notre site web.$_SESSION : on y retrouve les variables de session. Ce sont des variables qui restent stockées sur le serveur le temps de la présence d'un visiteur. Nous allons apprendre à nous en servir dans ce chapitre.$_COOKIE : contient les valeurs des cookies enregistrés sur l'ordinateur du visiteur. Cela nous permet de stocker des informations sur l'ordinateur du visiteur pendant plusieurs mois, pour se souvenir de son nom par exemple.$_GET : vous la connaissez, elle contient les données envoyées en paramètres dans l'URL.$_POST : de même, c'est une variable que vous connaissez et qui contient les informations qui viennent d'être envoyées par un formulaire.$_FILES : elle contient la liste des fichiers qui ont été envoyés via le formulaire précédent.Il y a notamment deux variables à retenir : $_SESSION et $_COOKIE. Celle-ci vous serviront dans beaucoup de cas de figure. $_SESSION va stocker des données durant la session de l'utilisateur et son contenu sera détruit lorsque l'utilisateur fermera la session. Pour utiliser cette variable superglobale, vous devez amorcer la session au tout début de votre code avec : <?php session_start(); ?> $_COOKIE va stocker des données cookies chez l'utilisateur. Ainsi, vous pouvez appelé cette variable superglobale pour récupérer des données sur l'utilisateur même s'il a quitté la session qui a remplit ces données. Un cookie se définit avec cette fonction : <?php setcookie('pseudo', 'M@teo21', time() + 365*24*3600, null, null, false, true); ?> Les cookies sous Mozilla Firefox. © OpenClassrooms GESTION DE FICHIER : Tout d'abord, vous devez paramétrer votre fichier pour le rendre accessible à PHP en modifiant son CHMOD à 777. Pour ouvrir votre fichier, il vous faut utiliser la fonction fopen() et vous devez le refermer avec fclose(). Pour lire votre fichier, vous avez deux possibilités : lire caractère par caractère avec la fonction fgetc() ou lire ligne par ligne avec fgets(). Vous pouvez aussi écrire dans votre fichier à l'emplacement du curseur, que vous pouvez déplacer avec cette fonction fseek(), grâce à cette fonction fputs(). Exemple : <?php $mon_fichier = fopen('mon_fichier.ext', 'r+'); // On ouvre le fichier en mode lecture et écriture echo fgets($mon_fichier); // On affiche la première ligne du fichier fseek($mon_fichier, 0); // On met le curseur au début du fichier fputs($mon_fichier, 'du texte'); echo fgets($mon_fichier); // On verra que la ligne est modifié fclose($mon_fichier); // On ferme le fichier ?>
  11. I - Commençons à partir de 0 Dès lors que vous utiliserez le langage PHP dans un de vos codes de votre site web, le fichier le contenant doit être impérativement en .php. Vous pourrez à partir de ce fichier écrire du HTML normalement à la différence que vous pourrez rajouter la balise <?php ?> et écrire du code PHP entre celle-ci. VARIABLES ET TEXTE : Contrairement à d'autres langages, déclarer des variables et les afficher grâce à l’instruction echo est une tâche très simple en PHP. Quelques exemples vont vous aider à comprendre : <!-- (Commentaire HTML)Ceci est un commentaire réservé exclusivement au langage HTML --> <?php // Ceci est un commentaire sur une ligne (Commentaire PHP) /* Ceci est un commentaire sur plusieurs lignes (Commentaire PHP) */ /* Variables */ $ma_variable; // Ceci est une variable $ma_variable = 1; // Ceci est une variable valant 1 /* Afficher du texte */ echo 'Du texte'; // Ceci va afficher "Du texte" echo $ma_variable; // Ceci affiche le contenu de "$ma_variable" ?> CONDITIONS ET BOUCLES : Une condition vous permet d’exécuter des scripts différents en fonction de certains critères. Vous trouverez notamment deux types de conditions : la condition if...else et la condition switch. Elles s'utilisent de cette manière : <?php // Avec if...else if ($autorisation_entrer == 1) // SI on a l'autorisation d'entrer { // instructions à exécuter quand on est autorisé à entrer } else if ($autorisation_entrer == 0) // SINON SI on n'a pas l'autorisation d'entrer { // instructions à exécuter quand on n'est pas autorisé à entrer } else // SINON (la variable ne contient ni Oui ni Non, on ne peut pas agir) { echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; } // Avec switch switch ($autorisation_entrer) { case 0: // instructions à exécuter quand on n'est pas autorisé à entrer break; case 1: // instructions à exécuter quand on est autorisé à entrer break; default: echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; break; } ?>Dans mon exemple, j'utilise des symboles comparateur que vous devez absolument connaître : == Est égal à === Est équivalent à > Est strictement supérieur à < Est inférieur supérieur à >= Est supérieur ou égal à <= Est inférieur ou égal à != Est différent de On peut donner plusieurs conditions à la fois et ce grâce à ces petits symboles : || OR Ou && AND Et FONCTIONS ET INCLUSION DE PAGES : Quand vous serez un expert en PHP, vos codes pourront atteindre des centaines de lignes. Il est clairement difficile de s'y retrouver même avec des commentaires bien rédigés. Je vous propose deux solutions : les fonctions et l'inclusion de pages. Lorsque vous écrivez votre code PHP il se peut que vous ayez à écrire plusieurs fois le même chose mais il existe les fonctions qui vous permettront de rentrer votre code à l'intérieur de la fonction et en appelant celle-ci à l'endroit voulu le code de la fonction sera exécuté. Une fonction peut aussi prendre des arguments et retourner une valeur. Je m'explique, quand vous appelez votre fonction, vous pouvez lui attribuer des valeurs dans les parenthèses que vous pouvez ensuite récupérer dans votre fonction et après quelques lignes de calculs, vous pouvez renvoyer une valeur que vous pourrez utiliser à l'endroit où votre fonction a été appelé. Bien que pratique, les fonctions prennent elles aussi beaucoup de place dans un fichier c'est pour quoi je vous propose de diviser votre page en plusieurs ainsi chaque page de votre aura une fonction bien définie et pourra être appelée dans une autre grâce aux fonctions suivantes : include() : Inclut une page dans une autre.include_once() : Inclut une seule fois une page dans une autre.require() : Inclut une page dans une autre et renvoie un message d'erreur en cas d’échec.require_once() : Inclut une seule fois une page dans une autre et renvoie un message d'erreur en cas d’échec.<?php // Ceci est une fonction function maFonction($argument1, $argument2) { return $argument1; } $une_variable_inutile = 2; $variable_contenant_la_valeur_retourne_par_la_fonction = maFonction('blabla', $une_variable_inutile); // Le contenu de "variable_contenant_la_valeur_retourne_par_la_fonction" serra "blabla" ?> TABLEAUX : Un tableau est variable à laquelle on peut donner plusieurs valeurs associées chacune à une clé. Exemples : <?php $membre = array('nom' => 'Truc', 'prenom' => 'Machin'); // Vous pouvez aussi faire comme cela $membre['nom'] = 'Truc'; $membre['prenom'] = 'Machin'; ?>Pour parcourir un tableau on pourrait utiliser la boucle for() mais celle-ci n'est pas très pratique donc je vous propose d'utiliser cette boucle : foreach() qui s'utilise comme ci-dessous : <?php foreach($member as $cle => $information) { echo $cle.' : '.$information; } /* Dans ce cas, j'ai récupéré la clé et son contenu. Vous pouvez très bien ne pas récupérer la clé en faisant comme ceci : foreach($member as $information) */ ?>Pour effectuer des testes sur votre tableau, vous avez trois fonctions très pratiques : array_key_exists : pour vérifier si une clé existe dans l'array ;in_array : pour vérifier si une valeur existe dans l'array ;array_search : pour récupérer la clé d'une valeur dans l'array.
  12. Le PHP est un langage de programmation web permettant d'insérer du contenu dynamique dans vos pages. Ce langage offre de nombreuses possibilités telles que la gestion de news ou encore l'envoie d'eamil et combiné à une base de données, ses performances sont considérables. Le PHP nécessite de nombreux outils et de nombreuses heures d’apprentissage. Pour commencer, vous aurez besoin de Xampp ou Wamp ou tout autre logiciel incluant Apache, PHP et MySQL. Ensuite, je vous conseille vivement de garder la documentation proposée par PHP afin de trouver rapidement des fonctions ainsi qu'un cours bien rédigé comme celui de Mateo21 sur OpenClassrooms. Bien que dans ce cours elles ne sont pas utiles, le PHP requière des connaissances en HTML/CSS. En combinant tous ces langages, vous pourrez obtenir un site à la fois dynamique et élégant. Vous pourrez le rendre encore plus dynamique en utilisant le langage Javascript.
  13. Soulalex

    MeliFramework

    Nouveau lien pour accéder au Meliframework : http://meliframework.melinyel.net/ !
  14. Bonjour les melinyens, - J'espère que vous allez bien ! - Non, pas vraiment ? - Pourquoi cela ? - Parce que c'est la rentrée ? Mais ne vous inquitez pas ! Melinyel sera toujours prêt à vous aider en cas de besoin et pour toute question concernant vos études n'hésitez pas à utiliser le forum prévu à cet effet. Dans tous les cas, même si c'est un peu tard pour certains ou tôt pour d'autres et que vous soyez collégien, lycéen ou étudiant : Melinyel vous souhaite une bonne rentrée 2015 et vous souhaite de réussir vos examens ! Bon courage à tous et à très vite sur Melinyel
  15. Je trouve surtout que ses paroles ne veulent souvent rien dire Il fait souvent des phrases pour que ça rime mais ça n'a aucun sens après
  16. Soulalex

    Chameleon

    AlexMog la voix de la raison Voilà qui est clair maintenant. Merci pour cette minute science
  17. Soulalex

    --

    Ah ça c'est pas mal ! Mais est-ce que ça utilise beaucoup de batterie ? Et aussi quelque chose de très important : est-ce que l'on peut cracker des applications avec Xposed ?
  18. Soulalex

    Chameleon

    C'est normal c'est un interpréteur, il faut que tu glisses un fichier dessus Ah d'accord donc ça ne bugguait pas ^^ Edit : Le logiciel ne s'exécute plus depuis que j'ai fait la MAJ vers Win10
  19. Soulalex

    Chameleon

    J'ai pas réussi à le tester d'ailleurs, j'ai téléchargé l'exécutable mais après ? Quand je lance le .exe il n'y a rien qui s'affiche.
  20. J'ai aussi un OnePlus One donc je pourrais avoir un dualboot ^^ Et c'est assez intéressant de pouvoir installer d'autres OS aussi
  21. Cyanogen OS est une ROM Android pour smartphones compatibles. De nombreuses fonctionnalités sont à votre disposition et vous pouvez personnaliser entièrement votre téléphone. Important : Avant de commencer, nous vous conseillons fortement de transférer toutes vos données sur un périphérique externe. Nous ne sommes en aucun cas responsable en cas de mauvaise manipulation de votre part et de perte de données. Vous avez déjà Cyanogen OS sur votre smartphone - Mise à jour : 1. Votre version de Cyanogen OS est d'origine : Si vous n'avez pas déverrouillé le bootloader de votre téléphone alors votre installation est d'origine et vous pouvez effectuer la mise à jour OTA proposée dans « Paramètres -> A propos du téléphone -> Mises à jour système ». 2. Vous avez déjà installé CyanogenMod manuellement : Si vous avez déverrouillé le bootloader et installé manuellement CyanogenMod précédemment, vous devez retélécharger la dernière version de CyanogenMod (YOG4PAS1N0 au 27/08/2015) et dans le recovery mode suivez les instructions suivantes : Redémarrer en recovery mode (« Power + Volume Bas »)Dans le menu « Install Zip » choisissez l'image système de CM12.Videz le cache dans le menu « Wipe » et sélectionnez uniquement « cache / dalvik ».Votre smartphone est prêt, redémarrez le : Dans le menu « Reboot », sélectionnez « System ». Note : Si vous voulez faire un « CleanFlash » de votre smartphone, suivez les instructions d'installation de CyanogenMod ci-dessous. Vous n'avez pas Cyanogen OS sur votre smartphone - Nouvelle installation : La nouvelle installation se fait via le recovery de votre smartphone Android. Cependant, nous vous recommandons d'installer l'utilitaire de restauration système TWRP. Tout d'abord, faites une sauvegarde complète de toutes vos données présentes sur votre téléphone pour éviter toute perte involontaire des données. Ensuite, téléchargez la dernière version de CyanogenMod en fonction du modèle de votre smartphone (YOG4PAS1N0 au 27/08/2015) : https://download.cyanogenmod.org/ Enfin, redémarrez votre téléphone en mode de récupération (« Power + Volume Bas ») et suivez les instructions suivantes : Faites un Backup avant de commencer.Supprimer la ROM existante : « Wipe -> Advanced Wipe » (cochez tout sauf « internal storage » et « USB-OTG »).Retournez sur le menu principal et dans le menu « Install Zip » choisissez l'image système de CM12.Récupérer vos données dans le menu « Restore » et sélectionnez votre backup (seulement la case « data »).Videz le cache dans le menu « Wipe » et sélectionnez uniquement « cache / dalvik ».Votre smartphone est prêt, redémarrez le : Dans le menu « Reboot », sélectionnez « System ».Important : A l'étape n°2, si vous cochez la case « internal storage », la mémoire interne de votre téléphone sera formatée sans aucun moyen de pouvoir récupérer les données présentes dessus. Félicitations, vous avez installé Cyanogen OS ! Amusez-vous bien sous Cyanogen OS
×
×
  • Créer...