Leaderboard
Popular Content
Showing content with the highest reputation on 23/04/2014 in all areas
-
Bonjour, Ce soir, les recrutements modérateurs de Melinyel viennent de commencer. Avant toutes choses, nombreux sont ceux qui m'ont posé la question afin de savoir quand est-ce qu'ils allaient pouvoir candidater, et c'est pourquoi j'ai plus ou moins retardé l'ouverture, vous allez comprendre pourquoi. Être modérateur sur Melinyel n'est pas similaire aux autres communautés. En tant qu'ancien modérateur de nombreux forums, j'ai pu me forger une expérience, et le schéma récurrent est souvent celui-ci : Vous êtes modérateur, enfin, votre candidature a été acceptée. L'administrateur vous donne une liste précise de tâche à accomplir, vous les faites et dès que vous avez fini, vous êtes libre de répondre aux messages, de donner vos avis, etc... En attendant de recevoir votre prochaine "mission". Sur Melinyel, ce n'est pas ça. Sur Melinyel, j'ai besoin d'avoir du personnel pour m'aider à faire tourner le forum, m'épauler quand il y a des tâches à accomplir (ou plutôt épauler le reste de l'équipe), donc j'ai besoin que vous soyez pro-actifs : c'est-à-dire que vous sachiez quoi faire pour faire votre travail de modérateur sans que j'ai besoin de vous le dire. Voilà une liste concrète mais pas exhaustive : La base de la modération : Être actif sur l'ensemble du forum et dynamique, être TRÈS motivé, savoir être disponible plusieurs heures par jour pour le forum, pouvoir répondre aux questions des membres dès que possible et d'une manière précise et convenable. Répondre de manière correcte et intéressée à tout les messages qui nécessitent une réponse (je n'attends pas de vous que vous postiez si vous n'avez rien à dire ou que ce n'est pas nécessaire, simplement si une réponse est attendue : soyez là). Savoir faire de la publicité sur les autres forums, ramener du monde (demandez-moi si vous souhaiter une présentation type, ou réferrez-vous aux messages postés sur d'autres forums comme iBuild, Britania ou Cheat-Gam3, par exemple). Pouvoir apporter du contenu constructif au forum : être modérateur ce n'est pas juste surveiller et poster, vous devez être au dessus des membres en terme d'activité, et proposer aussi souvent que possible des tutoriels construits et complets. Prier Azad tout les matins. Bref, être tout à fait autonome, motivé et disponible. Si vous êtes pris, faites en sorte de montrer vos capacités. En revanche, voici les choses qu'un modérateur ne DOIT PAS FAIRE : Être absent. Les indisponibilités sont nombreuses et peuvent être pour diverses raison (plus d'ordinateur, de réseau, problème IRL, etc...) dans ces cas-là c'est très simple vous me prévenez (ainsi que l'équipe), et il n'y a aucun problème. En revanche, si vous êtes souvent absent sans raison, et que vous n'êtes pas en mesure d'honorer votre rang de modérateur, votre grade sera révoqué. Être fainéant. Si vous êtes actif une semaine/un mois sur Melinyel, dès votre arrivée, et qu'ensuite vous ne faites plus rien, ce n'est pas intéressant et ce n'est même pas la peine de postuler. J'ai besoin de vous pour que vous soyez efficace et que vous restiez motivé sur le long terme. Faire de grosses fautes d'orthographes. Moi-même, je ne suis pas exemplaire : je fais souvent des fautes (grammaire/orthographe/conjugaison, etc...), de vieilles habitudes que je n'ai jamais pris le temps de chasser, et j'en suis conscient. Néanmoins je fais des efforts et j'évite heureusement les fautes monstres. J'entends par là les "sa", "s'est" au lieu de "c'est", les "er/é", etc... Vous devez faire votre maximum pour ne faire quasiment aucune faute d'orthographe. Ne pas savoir être autonome. Si vous attendez que je vous donne des missions ou des ordres, ne postulez pas. Les modérateurs devront réellement être actifs, poster du contenu au possible et modérer le forum en mon absence ou sans que je leur demande quoique ça soit. Vous l'aurez donc compris, je suis extrêmement exigeant sur les recrutements de modérateurs, et je ne prendrais que les plus motivés, compétents ou actifs. Si vous postez pour cette section, soyez sûr d'être déterminé, et ne soyez pas triste si vous veniez à être refusé (ce n'est pas une fatalité et d'autres recrutements viendront par la suite). J'ai besoin de gens matures et responsables, voici donc ce que vous devrez au minimum (donc ne vous contentez pas que de ça) poster dans votre candidature : Expliquez pourquoi souhaitez-vous ce poste, pourquoi est-ce que vous pensez être meilleur qu'un autre, et qu'est-ce que vous prévoyez de faire si vous êtes sélectionné. Vos horaires (ne mentez pas). Votre skype : vous devez posséder skype et rester joignable (un micro n'est pas demandé, juste l'écrit pour pouvoir communiquer rapidement). Ou alors, si vous n'avez pas de skype, soyez excellent au point que je n'ai jamais la nécessité de vous parler de votre travail, héhé. Vos défauts et vos qualités, de manière honnête. Voilà, à vous de jouer maintenant, let's do this.1 point
-
Pour ceux qui ne le savent pas, chaque saison on a le droit à une nouvelle vague d'anime, le site Icotaku fait une image contenant les anime de la saison en question et ils le font très bien ^^ ! Donc chaque saison vous pourrez retrouver le planning sur Melinyel, on commence avec les anime de cette saisons qui ont débutés il y a entre 2 et 4 semaines : Les Anime de Printemps ! Source : Icotaku1 point
-
Bonjour à tous, Nous passons encore à un autre niveau aujourd'hui, et nous allons voir ensemble la Récursivité, et la notion de Stack. I- La récursivité, c'est quoi? La récursivité, c'est un autre moyen de provoquer une "boucle" dans une fonction. C'est totalement différent de ce que je vous ai expliqué avant. Nous avions vu la partie "itérative" du C, qui corresponds à exécuter un programme, ligne par ligne. Ici, nous allons apprendre un peux plus les fonctions de la récursivité, et comment elle réagit sur la stack. C'est une façon de faire, pour qu'une fonction se rappelle elle-même. Prenons l'exemple suivant: int test(int a) { a++; if (a < 12) test(a); return (a); } int main(void) { my_putnbr(test(1));// my_putnbr est une fonction permettant d'afficher une valeur numérique. Vous devez la re-créer ou utiliser printf (ce qui est interdit par la norme! Re-créez la, ça vous apprendra pas mal de choses!) } La fonction "test" est ici récursive. Ce code nous affichera: 12 Vous l'aurez compris, la récursivité peut être utile dans plusieurs cas (pour annecdote, my_putnbr peut être codé en 3 lignes avec de la récursivité). Les fonctions récursives peuvent êtres comparées à des poupées russes s'emboitant. Ne vous perdez pas! Et ne vous inquiétez pas! Je vais mieux vous l'expliquer en vous expliquant le fonctionnement de la stack. II- La stack? DAFUQ? Je vais pouvoir vous expliquer une notion qui est assez floue dans le cerveau de beaucoup de développeurs: la stack. La stack est une mémoire assignée à votre programme pour la prise en charge de tout ce qui est "static" dans votre programme (d'où le nom "stack"). Lors du lancement de votre programme, la stack est vide. Si vous appelez la fonction "test" celle-ci va se rajouter dans la stack. Si, de la fonction "test", vous appelez la fonction "my_putstr" celle-ci va se rajouter dans la stack, de même pour la fonction "my_putchar" contenue dans la fonction "my_putstr" qui fera elle-même appel à la fonction "write" qui se rajoutera à son tour à la stack. La stack a donc constitué une liste d'exécution. On peut re-définir l'ordre d'exécution précédent comme ceci: Il ne faut pas oublier que la stack est une mémoire, et qu'elle va stocker tout ce qui est statique dans notre programme. Donc, si nous la sur-utilisons (une boucle infinie de fonctions par exemple: surempiler les poupées russes), nous risquons de faire segfault (segmentation fault) notre programme (C'est souvent une explication pour les programme qui segfault sans raisons). Lorsqu'une fonction finit son exécution, elle est supprimée de la stack. Pour vous faire un schéma, imaginez un tas de vaisselle: à chaque fois, vous rajoutez une assiette sale sur le tat, et lorsque vous faites la vaiselle, vous enlevez vos assiettes dans l'ordre contraire de celui de l'empilation. Reprenons la théorie: Une fonction récursive est une fonction qui se rappelle elle-même. Elle se rajoute donc sur la stack, puis se rappelle. Elle se rajoute donc encore une fois sur la stack, puis se rappelle...etc... Et là, deux choses peuvent avoir lieu: Soit on atteint la taille maximum de la stack (définie par le système), et on provoque un segfault, sinon, et c'est ce que vous devrez faire la plupart du temps en utilisant les récursifs, vous devez prévoir une condition d'arrêt du rappel de cette fonction, donc à un moment de votre récursivité, vous dites STOP, cette fois je ne me rappelle pas, car mon rôle est terminé. A ce moment là, vous allez libérer la stack de toutes les fonctions que vous avez au préalable ajouté. Le mieux, reste encore de vous montrer un exemple de ce qu'il ne faut pas faire: Créons un programme qui va afficher "hello" indéfiniment: void my_putchar(char c) { write(1, &c, 1); } void fg() { my_putchar('h'); my_putchar('e'); my_putchar('l'); my_putchar('l'); my_putchar('o'); my_putchar('\n'); fg(); } int main(void) { fg(); } Effectivement, on voit "hello" s'afficher plusieurs fois, mais si on laisse tourner notre programme jusqu'à ce que la stack soit remplie, on remarque de notre programme crash, et qu'un segfault est apparu. C'est l'exemple typique de ce que l'on peut attendre au niveau des problèmes liés à la récursivité. Un autre exemple, c'est notre légendaire my_putnbr: void my_put_nbr(int nb) { if (nb <= 9 && nb >= 0) my_putchar(nb + '0'); else { my_put_nbr(nb / 10); my_put_nbr(nb % 10); } } c'est typiquement la bonne utilisation de la récursivité. Voilà, j'espère vous avoir encore aidé au niveau de votre apprentissage avancé du C. Rendez-vous au prochain cours! Cours écrit par AlexMog. Contact: alexmog [at] live [point] fr1 point
-
Bonjour, Une petite application web nommé Mondrian.io vous permettra de créer et d'éditer des images vectoriels, à la manière d'illustrator ou d'inkskape, qu'ils soient en localstorage, sur internet ou sur votre ordinateur. PS : Ce sera bien évidemment moins efficace que les logiciels comme Illustrator. Voilà.1 point
-
Yop, donc tout d'abord je fais un petit tutoriel sur les bases du PHP. Bien sûr ce tutoriel aura une suite, faisons comme si vous étiez des débutants en PHP et que vous devez suivre des tutoriels, cours par cours. Ce tutoriel sera basé sur les choses que j'ai appris, vous pouvez également suivre une formation ailleurs et apprendre les mêmes fonctions qu'il y a sur ce tutoriel. Le tutoriel reste simple, il faut être un minimum logique et gérer l'HTML. I. La différence entre l'XHTML et le PHP Le PHP peut être utilisé sur l'XHTML donc j'explique cela sous forme d'exemple. Exemple de code XHTML n'utilisant pas le PHP : <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Melinyel</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="style.css" media="screen" type="text/css" /> </head> <body> Bienvenue sur Melinyel ! </body> </html> Exemple de code XHTML utilisant le PHP : <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Melinyel</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="style.css" media="screen" type="text/css" /> </head> <body> <?php echo 'Bienvenue sur Melinyel !'; ?> </body> </html> Donc comme vous l'avez vu, il y a une légère différence et c'est l'affichage de texte. Pour qu'un texte soit affiché, il faut faire <?php echo 'Votre texte'; ?> Un autre exemple ? Sur votre code HTML : L'affichage d'un texte. Version HTML : [Vos lignes de code...] <p>Bienvenue sur Melinyel !</p> [Vos lignes de code...] Version PHP : [Vos lignes de code...] <?php echo '<p>Bienvenue sur Melinyel !</p>'; ?> [Vos lignes de code...] Donc ici, votre code est inséré entre les deux '. II. Débuter en PHP Un code utilisant le PHP est présenté sur ces deux balises : <?php // Le code PHP ?> Ce sont des balises appelées tags. Plus bas, on voit que j'ai utilisé "//", c'est quoi ça ? C'est un commentaire. Personnellement, j'utilise les // pour me retrouver dans mon code. Exemple : else { // Si l'utilisateur ne demande aucune page include "templates/public/accueil.inc.php"; // J'inclus la page d'accueil. } Ensuite, exemple plus simple si vous n'avez pas compris : <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Melinyel</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="style.css" media="screen" type="text/css" /> </head> <body> <?php echo 'Bienvenue sur Melinyel !'; ?> // Texte de bienvenue </body> </html> En gros, ceci représente les "<!-- texte -->" qu'on utilise en HTML. III. Les variables Une variable va contenir des données, ces données pourront changer au fil du temps. Imaginons que vous voulez affiché le prénom d'un visiteur. Vous ne pouvez pas l'affiché directement comme ceci : <?php echo 'prénom'; ?> Mais là vous pouvez l'affiché : <?php $prenom = 'Baptiste'; echo $prenom; // Affiche "Baptiste" ?> En gros $prenom s'affichera sur votre site Baptiste. Autres exemples réunis : <?php $nom = 'Mades'; $prenom = 'Baptiste'; echo $nom.$prenom; // Va afficher "MadesBaptiste" echo $nom.' '.$prenom; // Va afficher "Mades Baptiste" echo '$nom.$prenom'; // Va afficher "$nom.$prenom" echo '$nom$prenom'; // Va afficher $nom$prenom $nom .= $prenom; // est équivalent à $nom = $nom . $prenom echo $nom; // Affichera "MadesBaptiste" $nom = 'Mades'; $nom .= ' '.$prenom; echo $nom; // Affichera "Mades Baptiste" ?> Les opérations + = Addition - = Soustration * = Multiplication / = Division % = Division entière (modulo) Exemple d'opération (qui n'est pas de moi) : <?php $entier = 7; $flottant = 2.5; $somme = 4 + 5; // $somme vaut 9 $multiplic= 2*5; // $multiplic vaut 10 $division = 9/3; // $division vaut 3 $modulo = 10 % 3 // $modulo vaut 1 $multi_variables = $entier * $flottant; //7 * 2.5 = 17.5 donc $multi_variables vaut 17.5 ?> Ajouter des paramètres à sa page ? Pour avoir ceci : http://melinyel.net/index.php?prenom=valeur&style=1 Il faut faire : <?php $_GET['prenom'] = 'X'; // Le prénom $_GET['style'] = '1'; // Style qui est ici une chaîne de caractères ?> $_GET sont appelés des variables superglobales. Exemple de code XHTML : <form method="post" action="index.php"> <p><input type="text" name="age" /></p> <p><input type="submit" value="Envoyer" /></p> </form> Exemple de code PHP : <?php if(isset($_POST['age']) AND ctype_digit($_POST['age']) AND $_POST['age'] > 0) { echo htmlentities($_POST['age']); } ?> IV. Les fonctions include et require. Sinon, les "include" et "require" servent à quoi ? Tu possèdes un site qui à le même menu sur la droite du site en XHTML et que tu es obligés de copier/coller le même code à chaque fois sur d'autres pages. (Exemple : Ton menu de la page index et le même que celui de la page inscription) Et bien, ces fonctions vont te faciliter la tâche. Utilisation de la fonction include Le code ne doit pas être obligatoirement en PHP, inutile de vous cassez la tête. Vous faites le code en HTML mais vous l'enregistrez en .php Exemple, je crée un fichier "haut.php" Contenu : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Melinyel</title> </head> <body> <h1>Bienvenue sur Melinyel !</h1> </body> </html> Ce qu'il y aura sur votre index.php : <?php include 'haut.php'; echo 'Contenu du site'; // Le contenu du site entier ?> Utilisation de la fonction require Inutile d'expliquer, des exemples seront mieux que des explications. Exemple du code (pas entier) : <?php include 'verif.php'; /* * Code qui s’exécutera si l'identification est réussi */ echo 'Vous êtes membre !'; ?> Ce qu'il y a sur votre "verif.php" <?php if(!est_membre()) { exit('Vous devez être membre pour accéder à cette page'); } ?> Sauf qu'ici j'utilise la fonction include si vous avez bien suivis. J'utilise la fonction est_membre() qui renvoie au TRUE et si le membre n'est pas identifié elle renvoie au FALSE. Or, si le fichier "verif.php" n'existe pas, le site affichera "Vous êtes membre !" mais ce n'est pas ce qu'on veut faire. Donc on utilise la fonction require. <?php require 'verification.php'; // Coupera l'exécution du code si le fichier n'a pu être inclus par PHP. /* * Code qui s’exécutera si l'identification est réussi */ echo 'Vous êtes membre !'; ?> En gros, require permet à la différence d'include de couper l'exécution du script PHP si le fichier à inclure n'a pu être inclus. Pour l'instant vous en savez plus sur le PHP. Pour des questions, merci d'en poser sur le tutoriel. Il est interdit de mettre ce tutoriel sur un autre site, il est fait pour Melinyel ; Millenium-Corp et LoremGraphics. Anciennement Mades ; Makaveli sur d'autres forums.1 point
-
(Je m'incruste juste temporairement pour remettre un peu Obama là où il doit être. Le parti de Barack Obama est l'équivalent de la gauche politique des états-unis. Simplement, leur gauche politique correspond à notre droite politique. Un parti politique socialiste tel que celui français ne serait pas accepté aux états-unis, ils sont globalement conservateurs).1 point
