{"id":48581902,"url":"https://github.com/devalade/tdd-php","last_synced_at":"2026-04-08T17:03:30.964Z","repository":{"id":268703154,"uuid":"896451945","full_name":"devalade/tdd-php","owner":"devalade","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-18T11:27:32.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-18T12:31:18.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devalade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T12:00:25.000Z","updated_at":"2024-12-18T11:27:35.000Z","dependencies_parsed_at":"2024-12-18T12:32:41.657Z","dependency_job_id":null,"html_url":"https://github.com/devalade/tdd-php","commit_stats":null,"previous_names":["devalade/tdd-php"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devalade/tdd-php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Ftdd-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Ftdd-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Ftdd-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Ftdd-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devalade","download_url":"https://codeload.github.com/devalade/tdd-php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Ftdd-php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-08T17:03:18.644Z","updated_at":"2026-04-08T17:03:30.897Z","avatar_url":"https://github.com/devalade.png","language":"PHP","readme":"# Formulaire de Contact Sécurisé - Projet de Formation\n\nCe projet est un exemple de formulaire de contact sécurisé en PHP, conçu pour l'apprentissage des bonnes pratiques de sécurité et du TDD (Test-Driven Development).\n\n## 🚀 Prérequis\n\n### Pour Windows :\n1. Installez XAMPP (inclut PHP, SQLite et Apache)\n   - Téléchargez XAMPP depuis [le site officiel](https://www.apachefriends.org/fr/index.html)\n   - Choisissez la version avec PHP 8.1 ou supérieur\n   - Pendant l'installation, sélectionnez au minimum (Apache, Nginx), PHP et SQLite. Les systèmes linux viennent avec un serveur web. \n\n\n2. Installez Composer\n   - Téléchargez l'installateur Windows sur [getcomposer.org](https://getcomposer.org/download/)\n   - Exécutez l'installateur (Composer-Setup.exe)\n   - Assurez-vous de sélectionner votre PHP lors de l'installation (généralement dans C:\\xampp\\php\\php.exe)\n\n3. Vérifiez vos installations dans le terminal (CMD ou PowerShell) :\n```bash\nphp -v\ncomposer -v\n```\n\n### Pour Linux/MacOS :\n- PHP 8.2 ou supérieur : `php -v`\n- Composer : `composer -v`\n- SQLite3 : `sqlite3 -version`\n\n## 📥 Installation\n\n### Windows :\n1. Clonez ou téléchargez le projet\n   - Option 1 : Téléchargez le ZIP et extrayez-le dans `C:\\xampp\\htdocs\\tdd-php`\n   - Option 2 : Utilisez Git Bash :\n   ```bash\n   cd C:\\xampp\\htdocs\n   git clone https://github.com/devalade/tdd-php.git\n   ```\n\n2. Ouvrez le terminal (CMD) en tant qu'administrateur :\n```bash\ncd C:\\xampp\\htdocs\\tdd-php\ncomposer install\ncomposer dump-autoload -o\n```\n\n3. Créez la base de données :\n   - Créez un fichier `messages.db` dans le dossier du projet\n   - Assurez-vous qu'il est accessible en écriture\n\n### Linux/MacOS :\n```bash\ngit clone https://github.com/devalade/tdd-php.git\ncd tdd-php\ncomposer install\ntouch messages.db\n```\n\n## 🚦 Lancer les tests\n\n### Windows :\n```bash\ncd C:\\xampp\\htdocs\\tdd-php\n.\\vendor\\bin\\phpunit\n```\n\nPour un test spécifique :\n```bash\n.\\vendor\\bin\\phpunit tests\\FormulaireContactTest.php\n```\n\n### Linux/MacOS :\n```bash\n./vendor/bin/phpunit\n```\n\n## 📝 Structure du Projet\n\n```\ntdd-php/\n├── composer.json\n├── index.php                # Point d'entrée\n├── messages.db             # Base de données SQLite\n├── src/\n│   ├── BaseDonnees.php     # Connexion BDD\n│   └── FormulaireContact.php # Logique formulaire\n└── tests/\n    └── FormulaireContactTest.php\n```\n\n## 🌐 Lancement du Projet\n\n### Avec XAMPP (Windows) :\n1. Démarrez XAMPP Control Panel\n2. Activez Apache\n3. Ouvrez votre navigateur et accédez à :\n```\nhttp://localhost/tdd-php\n```\n\n### Avec le serveur PHP intégré :\n```bash\n# Windows (CMD)\ncd C:\\xampp\\htdocs\\tdd-php\nphp -S localhost:8000\n\n# Linux/MacOS\nphp -S localhost:8000\n```\n\n## ⚠️ Résolution des Problèmes Courants\n\n### Windows :\n1. \"php n'est pas reconnu comme commande interne\"\n   - Ajoutez PHP aux variables d'environnement :\n     1. Recherchez \"variables d'environnement\" dans Windows\n     2. Cliquez sur \"Variables d'environnement\"\n     3. Dans \"Variables système\", trouvez \"Path\"\n     4. Ajoutez `C:\\xampp\\php`\n\n2. Erreur de permissions SQLite :\n   - Clic droit sur messages.db\n   - Propriétés → Sécurité\n   - Donnez les permissions complètes\n\n3. Erreur PDO SQLite :\n   - Ouvrez `C:\\xampp\\php\\php.ini`\n   - Décommentez la ligne `;extension=pdo_sqlite`\n   - Redémarrez Apache\n4. Erreur zip\n   Installez un logiciel de compression qui supporte zip (unzip, winrar)  \n\n### Linux/MacOS :\n```bash\nchmod 777 messages.db\nchmod 777 .\n```\n\n## 📚 Documentation Utile\n\n- [XAMPP Documentation](https://www.apachefriends.org/docs/)\n- [PHPUnit Documentation](https://phpunit.de/documentation.html)\n- [Composer Windows Documentation](https://getcomposer.org/doc/00-intro.md#installation-windows)\n\n## 📫 Support\n\nEn cas de problème :\n1. Vérifiez la section \"Résolution des Problèmes\"\n2. Ecrivez à Florian\n3. Créez une issue sur GitHub avec une capture d'écran des erreurs svp\n\n---\nProjet réalisé dans le cadre de la formation sécurité et tests en PHP.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevalade%2Ftdd-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevalade%2Ftdd-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevalade%2Ftdd-php/lists"}